Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Проблеы с процедурой Read

Автор: Den64 10.01.2006 18:31

Код

Program a;
Uses Crt;
Var
  i:Integer;
  s:String;

Begin
  For i:=1 To 5 Do
    Begin
      GotoXY(1,i);
      Read(s);  {Выполняется 1 раз ане 5}
    End;
End.


Почему процедура Read выполняется в циклах 1 раз.

Автор: volvo 10.01.2006 18:38

Потому, что "перевод строки" мешает... Делай или так:

For i:=1 To 5 Do Begin
GotoXY(1,i);
ReadLn(s);
End;

или так:
For i:=1 To 5 Do Begin
GotoXY(1,i);
Read(s);

ReadLn;
End;

, но признак перевода строки из буфера ты прочесть должен. Иначе в 4 последних итерациях значение S присвоится пустой строке...

Автор: Den64 10.01.2006 19:00

Спасибо volvo.
Всё работает правильно.
Вопрос исчерпан.