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

Reply via email to