Very late last night I started throwing together some code to parse the CSVs and replace delimiter commas with [COL] and leave those within text fields in place.
It also replaces CRLFs with [ROW]. Or at least that's what it's supposed to do. It fails at the first ELSEIF. Anyone who's had some sleep like to have a look at the syntax? <@VAR local$FileContents><br><hr> <@ASSIGN NAME=DoubleQuote VALUE='OFF' SCOPE=LOCAL> <@LENGTH <@VAR local$FileContents>><br> <@FOR START=1 STOP=<@LENGTH <@VAR local$FileContents>>> <@CURROW><br> <@ASSIGN NAME=CurrChar Value=<@SUBSTRING STR=<@VAR local$FileContents> START=<@CURROW> NUMCHARS=1> SCOPE=LOCAL> <@VAR local$CurrChar><br> <@IF "<@VAR local$CurrChar>=<@DQ>"> <@IF '<@VAR local$DoubleQuote>="ON"'> <@ASSIGN NAME=DoubleQuote VALUE='OFF' SCOPE=LOCAL> <@ELSEIF '<@VAR local$DoubleQuote>="OFF"'> <@ASSIGN NAME=DoubleQuote VALUE='ON' SCOPE=LOCAL> </@IF> <@ELSEIF '<@VAR local$CurrChar>=<@CHAR CODE=44>'> <@IF '<@VAR [EMAIL PROTECTED]>="OFF"'> <@ASSIGN NAME=NewString VALUE="<@VAR local$NewString>[COL]" SCOPE=LOCAL> <@ELSEIF "<@VAR [EMAIL PROTECTED]>='ON'"> <@ASSIGN NAME=NewString VALUE="<@VAR local$NewString><@VAR local$CurrChar>" SCOPE=LOCAL> </@IF> <@ELSEIF "<@SUBSTRING STR=<@VAR local$FileContents> START=<@CURROW> NUMCHARS=1>=<@CRLF>"> <@ASSIGN NAME=NewString VALUE="<@VAR local$NewString>[ROW]" SCOPE=LOCAL> <@ELSE> <@ASSIGN NAME=NewString VALUE="<@VAR local$NewString><@VAR local$CurrChar>" SCOPE=LOCAL> </@COMMENT> </@IF> <@VAR local$DoubleQuote><br> </@FOR> <@VAR local$NewString><br><hr> Wayne Irvine Byte Services Pty Ltd http://www.byteserve.com.au/ [EMAIL PROTECTED] Ph 02 9960 6099 Mob 0409 960 609 Fax 02 9960 6088 ________________________________________________________________________ TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf