Parameters tcOpenFile, tcFileName Local lcFileName, lnHandle, lnOHandle, lcFileIn, lnI lcFileIn = "" lnI = 1 *** Open File for reading lnOHandle = FOpen( tcOpenFile ) *** Make sure that there is no file with soma name as second parameter If File( tcFileName ) Erase ( tcFileName ) Endif *** Create a new file with name passd by second parameter lnHandle = Fcreate( tcFileName ) *** Start reading first file and read it until not EOF Do While Not FEof( lnOHandle ) *** Read one line (to CR) lcFileIn = lcFileIn + FGets( lnOHandle) If !Empty(lcFileIn) *** Skip CR char lcFileIn = Left(lcFileIn, Len(lcFileIn) - 1 ) Endif *** If you read 2 lines from First file If lnI % 2 = 0 *** Truncate the line to be 151 chars if there are more If Len(lcFileIn) > 152 lcFileIn = Left(lcFileIn, 151) + Chr(13) Endif *** Wrire to newly create file =Fwrite( lnHandle, lcFileIn ) lcFileIn = "" Endif lnI = lnI + 1 Enddo =FClose( lnOHandle ) =FClose( lnHandle )I didn't find any sense in this code. Why you want (when I say you I mean that guy wrote this code) to loose data?