Показать сообщение отдельно
Старый 29.01.2008, 10:11   #7  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
Ваш код у меня работает.

Переменные i, s, buffer используются одновременно в двух функциях. Я правильно понял, что i и s локальные в каждой, а у буфера стоит флаг VAR?


Код:
f_main()
f.TEXTMODE(TRUE);
f.OPEN('C:\111.txt');
f.CREATEINSTREAM(StreamInObj);
i := 1;
WHILE NOT (StreamInObj.EOS()) DO BEGIN
  StreamInObj.READTEXT(buffer);

  s:=Explode(buffer,2); //второе поле
  
  MESSAGE('Line No. %1 %2', i , s);  //показать второе поле
  i+=1;
END;
f.CLOSE();

Explode(VAR buffer : Text[1024];number : Integer) s2 : Text[1024]
FOR t:=1 TO Number DO BEGIN
  s2:=COPYSTR(Buffer,1,STRPOS(Buffer,';')-1);
  Buffer:=COPYSTR(Buffer,STRPOS(Buffer,';')+1);
END;