[+] LIST OF STRING ReadCsvFile(String sName)
[ ] LIST OF STRING laValues = {}
[ ] String sPath
[ ] STRING sLine
[ ] HFILE hFile
[ ]
[ ] sPath = GetProgramDir() + "\"+ sName
[ ] rep.LOG_INFO (NULL, "The csv path is {sPath}",rep.INFO)
[ ]
[ ] hFile = FileOpen (sPath, FM_READ)
[-] while (FileReadLine (hFile, sLine))
[ ] ListAppend(laValues, sLine)
[ ] rep.LOG_INFO (NULL, "The csv content includes {sLine}",rep.INFO)
[ ] FileClose (hFile)
[ ]
[ ] return laValues
[ ]
[+] STRING ReadCsvFiled(String sName, String sFiledName, Integer index optional)
[ ] LIST OF STRING laValues = {}
[ ] LIST OF STRING laItems = {}
[ ] INTEGER i
[ ] INTEGER iFieldNum
[ ] STRING sItem
[ ]
[ ] laValues = ReadCsvFile(sName)
[-] for i = 1 to 50
[ ] sItem = Trim(GetField(laValues[1], ",", i) )
[-] if(sItem== "")
[ ] break
[-] else
[ ] ListAppend(laItems, sItem)
[ ]
[ ] iFieldNum = ListFind(laItems, sFiledName)
[ ] rep.LOG_INFO (NULL, "The filed index is {iFieldNum}",rep.INFO)
[ ]
[-] if(IsNull(index))
[ ] return GetField(laValues[2], ",", iFieldNum)
[-] else
[ ] return GetField(laValues[index], ",", iFieldNum)
[ ]
[ ]
[+] UpdateCsvFile(String sName, String sFiledName, String sw, Integer index optional)
[ ] LIST OF STRING laValues = {}
[ ] LIST OF STRING laItems = {}
[ ] INTEGER i
[ ] INTEGER iFieldNum
[ ] String sLine
[ ] String sPath
[ ] String sItem
[ ]
[ ] laValues = ReadCsvFile(sName)
[ ] sPath = GetProgramDir() + "\"+ sName
[ ] rep.LOG_INFO (NULL, "The csv path is {sPath}",rep.INFO)
[ ]
[+] for i = 1 to 50
[ ] sItem = Trim(GetField(laValues[1], ",", i) )
[-] if(sItem== "")
[ ] break
[-] else
[ ] ListAppend(laItems, sItem)
[ ]
[ ] iFieldNum = ListFind(laItems, sFiledName)
[ ] rep.LOG_INFO (NULL, "The filed index is {iFieldNum}",rep.INFO)
[ ]
[ ]
[+] if(IsNull(index))
[-] for i=2 to ListCount(laValues)
[ ] sLine = strTran(laValues[2], GetField(laValues[2], ",", iFieldNum), sw)
[ ] rep.LOG_INFO (NULL, "The modified line is {sLine}",rep.INFO)
[ ] ListInsert (laValues, i, sLine)
[ ] ListPrint(laValues)
[ ]
[ ] ListDelete(laValues, i+1)
[ ] ListPrint(laValues)
[-] else
[ ] sLine = strTran(laValues[index], GetField(laValues[index], ",", iFieldNum), sw)
[ ] rep.LOG_INFO (NULL, "The modified line is {sLine}",rep.INFO)
[ ] ListDelete(laValues, index)
[ ] ListInsert (laValues, index, sLine)
[ ] ListWrite(laValues, sPath, FT_ANSI)