I am reading an Excel CSV file into an array with a Read Action.You could try something like this. It parses the file and works out whether a comma is between quotes or not.
<@ASSIGN NAME=FileContents VALUE='<@INCLUDE FILE="<@APPFILEPATH>updatefiles:<@VAR local$DistinctFileListArray[<@VAR local$currfile>,1]>">' SCOPE=LOCAL>
<@IFEMPTY VALUE='@@local$FileContents'>
File is Empty
<@ELSE>
<@ASSIGN NAME=DoubleQuote VALUE='OFF' SCOPE=LOCAL>
<@ASSIGN FileContents VALUE=<@REPLACE STR=<@VAR local$FileContents> FINDSTR=<@CRLF> REPLACESTR="[ROW]"> SCOPE=LOCAL>
<@ASSIGN FileContents VALUE=<@REPLACE STR=<@VAR local$FileContents> FINDSTR=<@CHAR CODE=10> REPLACESTR="[ROW]"> SCOPE=LOCAL>
<@ASSIGN FileContents VALUE=<@REPLACE STR=<@VAR local$FileContents> FINDSTR=<@CHAR CODE=13> REPLACESTR="[ROW]"> SCOPE=LOCAL>
<@ASSIGN FileContents VALUE=<@REPLACE STR=<@VAR local$FileContents> FINDSTR=<@CHAR CODE=63> REPLACESTR=""> SCOPE=LOCAL>
<@FOR START=1 STOP=<@LENGTH <@VAR local$FileContents>>>
<@ASSIGN NAME=CurrChar Value=<@SUBSTRING STR=<@VAR local$FileContents> START=<@CURROW> NUMCHARS=1> SCOPE=LOCAL>
<@ASSIGN NAME=NextChar Value=<@SUBSTRING STR=<@VAR local$FileContents> START=<@CALC EXPR='<@CURROW> + 1'> NUMCHARS=1> SCOPE=LOCAL>
<@IF EXPR='<@VAR local$CurrChar>=<@DQ>'>
<@IF '(<@VAR local$DoubleQuote>="ON") AND (<@VAR local$NextChar> = <@CHAR CODE=44>)'>
<@ASSIGN NAME=DoubleQuote VALUE='OFF' SCOPE=LOCAL>
<@ELSEIF '<@VAR local$DoubleQuote>="OFF"'>
<@ASSIGN NAME=DoubleQuote VALUE='ON' SCOPE=LOCAL>
</@IF>
<@ELSEIF EXPR='<@VAR local$CurrChar>=<@CHAR CODE=44>'>
<@IF '<@VAR local$DoubleQuote>=OFF'>
<@ASSIGN NAME=NewString VALUE="<@VAR local$NewString>[COL]" SCOPE=LOCAL>
<@ELSEIF "<@VAR local$DoubleQuote>=ON">
<@ASSIGN NAME=NewString VALUE="<@VAR local$NewString><@VAR local$CurrChar>" SCOPE=LOCAL>
</@IF>
<@ELSE>
<@ASSIGN NAME=NewString VALUE="<@VAR local$NewString><@VAR local$CurrChar>" SCOPE=LOCAL>
</@IF>
</@FOR>
<@ASSIGN NAME=UpdateArray VALUE=<@ARRAY VALUE=<@VAR local$NewString> CDELIM='[COL]' RDELIM='[ROW]'> SCOPE=local>
<@VAR local$UpdateArray><br>
NUMROWS: <@NUMROWS ARRAY=local$UpdateArray><BR>
</@IF>
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
