#define BYTES_TO_READ 16384 && Or whatever lnFileHandler = FOPEN("MyHugeFile.TXT") IF lnFileHandler < 0 RETURN ENDIF LOCAL lcText, lnAT, lcLine m.lcText = [] DO WHILE NOT FEOF(lnFileHandler) m.lcText = m.lcText + FREAD(lnFileHandler, BYTES_TO_READ) lnAT = AT(CHR(13),m.lcText) DO WHILE lnAT # 0 m.lcLine = LEFT(m.lcText, lnAT-1) && The Line w/o CR ProcessLine(m.lcLine) && Do something with the line m.lcText = SUBSTR(m.lcText, lnAt+2) && To Skip LineFieed (CHR(10)) If any, if not just change this line to lnAT+1 lnAT = AT(CHR(13),m.lcText) ENDDO ENDDO IF NOT EMPTY(m.lcText) ProcessLine(m.lcText) && Process the final string if it is not empty ENDIF(not tested)