Replacement of separation values / Save routine
DrRaik
I have a simple question, which actually bothers me a little bit. :-)
I am using IGOR since a long time (>7y), but this simple problem I did not get fixed.
I would like to import a tab-separated text file and just want to replace the separation charcter from tab to a semicolon. In the LoadWave routine I can choose the separator...in the Save routine its not possible (I think).
This replacement will be done automatically (called from Windows) and is needed to fulfill the actual program. I hope somebody has a smooth and easy idea to perform this. Anything is ready...I just need this easy part performed by IGOR ;-)
Many thanks and best wishes
Raik
Try the following code. It worked for my simple test. There is probably a better solution out there.
Jeff
String sLine
String sMsg = "Select file to convert"
String sOutputFile
String sInputFile
String sIdentifier = "_Converted"
String sFileExtension
String sFileName
String sFilePath
Variable vFileRef_Old //input file handle
Variable vFileRef_New //output file handle
Open /D /M=sMsg /R vFileRef //just getting info on file to open here, not actually opening yet
if(strlen(S_fileName) == 0)
return 0 //user canceled
endif
sInputFile = ParseFilePath(5, S_fileName, ":", 0, 0) //convert path to mac style
sFileExtension = ParseFilePath(4, sInputFile, ":", 0, 0) //file extension
sFilePath = ParseFilePath(1, sInputFile, ":", 1, 0) //path without filename
sFileName = ParseFilePath(3, sInputFile, ":", 0, 0) //filename without extension
sOutputFile = sFilePath + sFileName + sIdentifier + "." + sFileExtension //destination file name + path
Open /R vFileRef_Old as sInputFile //open the source ile for read only
Open vFileRef_New as sOutputFile //create new destination file for output
Do
FReadLine vFileRef_Old, sLine //read one line terminated by CR, LF, CRLF or LFCR
if(strlen(sLine) == 0)
break //end of file reached
endif
sLine = ReplaceString("\t", sLine, ";") //replace tabs with semicolons
fprintf vFileRef_New,"%s\r\n", sLine //write modified line to new file
While(1)
Close vFileRef_Old //close source file
Close vFileRef_New //close destination file
End
May 5, 2011 at 10:57 am - Permalink
May 5, 2011 at 07:35 pm - Permalink
BR
Raik
May 9, 2011 at 12:40 am - Permalink