PROCEDURE parse Parameters cFileName, cTableName ** Parses a comma delimited file into a specified table format. local cStrSoFar, llInStr, lcCurrChar, lcCurrChar2, cLine, lcInsArr, lnArrPos, lnFieldNum cStrSoFar = "" lcCurrChar = "" lcCurrChar2 = "" lInStr = .F. lnArrPos = 1 select &cTableName lnFieldNum = afields(lFieldArr) release lFieldArr fhClaims = fopen(cFileName) if fhClaims != -1 cLine = fgets(fhClaims,8000) && remove header line do while !feof(fhClaims) dimension lcInsArr[lnFieldNum] cLine = fgets(fhClaims,8000) for i=1 to len(cLine) lcCurrChar = substr(cLine,i,1) do case case lcCurrChar = '"' if !lInStr lInStr = .T. else i = i+1 lcCurrChar2 = substr(cLine,i,1) if (lcCurrChar2 = ",") or (i = len(cline)) lcInsArr[lnArrPos] = cStrSoFar lnArrPos = lnArrPos + 1 cStrSoFar = "" lInStr = .F. else cStrSoFar = cStrSoFar + lcCurrChar + lcCurrChar2 endif endif case lcCurrChar = ',' if !lInStr lcInsArr[lnArrPos] = cStrSoFar lnArrPos = lnArrPos + 1 cStrSoFar = "" else cStrSoFar = cStrSoFar + lcCurrChar endif otherwise cStrSoFar = cStrSoFar + lcCurrChar endcase endfor select &cTableName append from array lcInsArr release lcInsArr lnArrPos = 1 enddo endif fclose(fhClaims) ENDPROC