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