*-------------------------------------------------------------------------- * -- Calculate the list of txt file names from the cdbfname (ojc.outtable) *-------------------------------------------------------------------------- lcPath=justpath(cdbfname)+'\' lnPos=rat('\',cdbfname) lcPattern=left(cdbfname,lnPos+1)+'???'+substr(cdbfname,lnPos+4) lcPattern=forceext(lcPattern,'txt') lntxtfiles=adir(laTxtFiles, lcPattern) && Retrieve list of text files *-------------------------------------------------------------------------- * -- loop through the array and perform string transformations in each text file *-------------------------------------------------------------------------- create cursor lcTempCursor ; (WorkField M) append blank for i=1 to lntxtfiles lcFileName=lcPath+laTxtFiles[i,1] lnFileSize=laTxtFiles[i,2] && File Size lcSendFileName = lcPath+lcCurState+'\'+left(laTxtFiles[i,1],4)+'.txt' wait window nowait 'Preparing file '+lcSendFileName if file(lcSendFileName) erase (lcSendFileName) endif if lnFileSize< 5000000 && Relatively small files append memo WorkField from (lcFileName) overwrite if !empty(alltrim(WorkField)) replace WorkField with strtran(WorkField,'"','') copy memo WorkField to (lcSendFileName) endif else && For huge files this technique doesn't work, let's try something different wait window nowait 'Preparing big file '+lcSendFileName+; chr(13)+'Size '+alltrim(str(round(lnFileSize/1024,0)))+' KB'+ ; chr(13)+'Please, wait...' local inFile, outFile, lcBuffer inFile= fopen(lcFileName) && Open a file outFile=fcreate(lcSendFileName) && Create a file do while !feof(inFile) lcBuffer=fgets(inFile,1000) && Get the string lcBuffer= strtran (lcBuffer,'"','') =fputs(outFile,lcBuffer) enddo =fclose(inFile) && Close In file =fclose(outFile) && Close Out file endif next use in lcTempCursor select (lnSelect)HTH