If the replaced text is different in size than the find text, do you think it will work fine.
Ex. Find String = "AD00" & Replace String = "RR889"
>>Try this (modified from Cetin code) for testing if the replaced string is being split during FREADs:
>>
>>
>>#DEFINE MAXBUFFER 65536
>>lhIn = FOPEN(lcFileIn)
>>lhOut = FCREATE(lcFileOut)
>>DO WHILE NOT FEOF(m.lhIn )
>> lcBuffer = FREAD(m.lhIn, MAXBUFFER)
>> DO CASE
>> CASE RIGHT(lcBuffer,3) = 'AD0'
>> FSEEK(m.lhIn, -3, 1)
>> lcBuffer = LEFT(lcBuffer,LEN(lcBuffer)-3)
>> CASE RIGHT(lcBuffer,2) = 'AD'
>> FSEEK(m.lhIn, -2, 1)
>> lcBuffer = LEFT(lcBuffer,LEN(lcBuffer)-2)
>> CASE RIGHT(lcBuffer,1) = 'A'
>> FSEEK(m.lhIn, -1, 1)
>> lcBuffer = LEFT(lcBuffer,LEN(lcBuffer)-1)
>> ENDCASE
>> FWRITE(m.lhOut,STRTRAN(lcBuffer,'AD00','BR77'),MAXBUFFER)
>>ENDDO
>>FCLOSE(m.lhIn)
>>FCLOSE(m.lhOut)
>
>I didn't understand what Fabio meant either. Your code is nicer and faster than mine:) It processed a 138+Mb file in 14 secs on my box (Athlon 2500+,512Mb onboard 64Mbshared mem VGA).
>Cetin
Previous
Next
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only