Code archives/File Utilities/Read Comma Delimited String
This code has been declared by its author to be Public Domain code.
Download source code
| |||||
ReadCSVString$(Stream) works like ReadString(stream) but looks for data enclosed in quotes not in blitz basic's string format. Example: type quotes field quote$ field Author$ field era$ field Num end type quotefile=readfile("smallquotes.txt") while not eof(quotefile) tq.quotes = new quotes tq\quote$ = ReadCSVString$(quotefile) tq\Author$ = ReadCSVString$(quotefile) tq\era$ = ReadCSVString$(quotefile) count = count + 1 tq\Num = count ; debuglog count + " "+tq\quote$+" "+tq\Author$+" "+tq\era$ wend closefile(quotefile) smallquotes.txt "Beware the Jabberwock, my son!","Lewis Carroll","1832-98" "Though it rain daggers with their points downward.","Burton, Robert","1576-1640" "A String","Another String","etc" The code looks for data inside quotes so the data can be delimited by any character, not just commas. TAB delimited should work as well. Make sure the date does not contain double quotes " in the strings as this will confuse it! | |||||
Function ReadCSVString$(Stream) ; ADAmor Ziltch Nov 2003 local qte$,Ccnt,byt,char$ qte$=chr(34) OutString$ = "" Ccnt = 0 while char$<>qte$ and eof(stream)=0 Ccnt = Ccnt + 1 byt= readbyte(stream) char$=chr(byt) wend char$="" while char$<>qte$ and eof(stream)=0 Ccnt = Ccnt + 1 byt= readbyte(stream) char$=chr(byt) if char$ <> qte$ then OutString$=OutString$+char$ wend return OutString$ End Function |
Comments
None.
Code Archives Forum