Ветвления в Pascal.

Ветвления в Паскаль позволяют выполнять действия не поочередно, как мы делали в предыдущих программах, а в зависимости от каких - либо условий. Для этого в языке программирования Pascal предусмотрены различные условные операторы. В данном уроке мы ...

Тип данных Char. Функции Ord, Chr.

Мы с Вами уже рассмотрели типы данных, которые позволяют хранить и обрабатывать целые числа (integer) и дробные числа (real). Теперь рассмотрим тип данных, позволяющий хранить и обрабатывать различные символы. Символы – это все буквы и значки, ...

Операции умножения и сложения в Pascal.

В данном уроке мы рассмотрим операции умножения и сложения в Pascal. Умножение в Pascal обозначается знаком «*», а сложение - знаком «+».

Циклы и массивы

Инициализация одномерного массива.

Отличительной особенностью Паскаля от большинства процедурных языков является то, что все переменные должны быть инициализированы. То есть в разделе VAR переменным отводится место, а начальное ...

Отображение на экране значений двумерного массива.

Если в результате работы вашей программы необходимо значения каждого элемента двумерного массива отобразить на экране монитора, то можно воспользоваться любым из двух способов, описанных ниже.

Для текстовых файлов в Паскаль помимо процедур Read и Write определены процедуры Readln и Writeln. Дело в том, что при использовании строковой переменной с помощью процедуры Read можно считывать лишь первую строку файла в эту переменную.

Например, создадим текстовый файл «text.txt» и запишем в него 3 строки: «pascal», «admin» и «turbo».

tekstovihe fayjlih v paskalj

 А теперь запустите программу "file1" из первого урока, посвященного файлам.

tekstovihe fayjlih v paskalj.

Как видите, на экран вывелось одно слово «pascal», а слова «admin» и «turbo» не вывелись, т.к. они расположены во 2-й и 3-й строке. Для того чтобы из файла были прочитаны все строки необходимо  использовать цикл с признаком конца файла. Кроме того, процедура Read не приспособлена для считывания последовательности строк. Ввместо нее необходимо использовать процедуру Readln.

Текстовые файлы в Паскаль.




Program file5;
Uses crt;
var fl:text;
str:string;
begin
clrscr;
assign (fl, 'programs\text.txt');
reset (fl);
while not Eof(fl) do
begin
readln (fl,str);
write(str);
end;
close(fl);
readln
end.




В строке №9 записываем цикл. Функция Eof при чтении файла (при использовании процедуры Reset)  обозначает конец файла. Таким образом, цикл в строке №9 будет продолжаться до тех пор, пока не наступит конец файла (т.е. пока не будет прочитана последняя строка в файле). В цикле записано 2 операции (они заключаются в операторные скобки begin..end).

Строка №11. Первая операция в цикле – это операция чтения из файла и присвоение переменной «str» значения файловой переменной «fl». В результате работы процедуры Readln из файла будет прочитана первая строка, а указатель перейдет на начало второй строки. Таким образом, в цикле будут прочитаны все 3 строки.

Строка №12. Вторая операция - вывод значения переменной «str»на экран.

tekstovihe fayjlih v paskalj..

tekstovihe fayjlih v paskalj...

Как видите, на экран вывелись все 3 слова, записанные в текстовом файле «text.txt». Правда, все эти слова вывелись в одну строку. Для того чтобы они вывелись в 3-х строках необходимо вместо процедуры Write использовать процедуру Writeln (т.е. строка №12 должна иметь вид: writeln (str)). В результате получится:

tekstovihe fayjlih v paskalj....


Дополнение к материалу.

  • Процедура Readln производит чтение файла построчно. Т.е. сначала будет прочитана первая строка, затем 2-ая, затем 3-я. В нашем примере мы применяли цикл для чтения файла и вывода его содержимого на экран. Если мы уберем операторные скобки begin..end, то цикл будет действовать только на процедуру Readln (в строке №11),  а процедура Writeln выведет на экран не все слова, а лишь последнее слово(turbo), записанное в переменную «str».
  • В случае использовании оператора Read вместо оператора Readln в строке №11 произойдет зацикливание программы, так как она не сможет найти признак конца файла. Для остановки программы необходимо нажать Ctrl+Break

Предыдущая статья : Считывание информации из файла в целочисленную или вещественную переменную.

Оглавление : Уроки Паскаль. Файлы.

Следующая статья : Запись в текстовые файлы.


Комментарии  

 
+4 # Александр 29.01.2013 13:25
спасибо. очень полезная статья :D
 
 
+1 # 42 22.05.2013 14:33
Нормал
 
 
+2 # Светлана 11.03.2017 12:02
:D :D Отлично! Спасибо! :-)
 
   ГлавнаяПаскальФайлы в ПаскальФайлы в Паскаль.