Вывод информации частями - Free Pascal
Формулировка задачи:
Бодрого дня, господа.
Помогите, пожалуйста, решить такую проблемку.
Есть текстовый файл (допустим, info.txt) с кучей строк, где много букв.
необходимо считывать из него информацию и выводить на экран порциями, скажем по 5 или 10 строк через некоторый промежуток времени (скажем, каждые 5 секунд(delay(5000);, по моему)).
Решение задачи: «Вывод информации частями»
textual
Листинг программы
var
f:text;
i:integer;
s:string;
begin
assign(f,'phonebook.pas');
reset(f);
i:=0;
repeat
i:=i+1;
readln(f,s);
writeln(s);
if i=5 then begin
sleep(500);{можно readln; тогда ждем нажатия enter или repeat until keypressed - любой клавиши или delay(5000)}
i:=0;
end;
until eof(f);
close(f);
readln;
end.
Объяснение кода листинга программы
- Объявлены переменные:
- f: текст;
- i: целочисленный;
- s: строка.
- Присваивается значение переменной f равное 'phonebook.pas'.
- Открывается файл 'phonebook.pas' для чтения.
- Устанавливается значение переменной i равное 0.
- В цикле повторять пока не достигнут конец файла: 5.1. Увеличивается значение переменной i на 1. 5.2. Считывается строка из файла в переменную s. 5.3. Выводится на экран содержимое переменной s. 5.4. Если значение переменной i равно 5, то выполняется задержка в 500 миллисекунд и значение переменной i устанавливается равным 0.
- Закрывается файл 'phonebook.pas'.
- Ожидается нажатие клавиши.