Тип данных String в Pascal.

Со строковыми переменными можно производить различные операции. Операция сцепления строк позволяет соеденить 2 строки между собой.

Функции Copy, Pos, процедуры Delete, Insert.

Функция Copy позволяет копировать из строки часть символов. Функция имеет 3 параметра. Copy (st, index, count). St-строка из которой копируют, Index-номер символа, с которого начинается копирование, Count-количество символов, которое будет ...

Применение логических операций с оператором IF.

В данном уроке мы рассмотрим применение логической операции And с условным оператором If.

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

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

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

Оператор варианта CASE.

Иногда его называют также оператором выбора. Это оператор CASE, который является обобщением оператора IF и позволяет сделать выбор из произвольного числа имеющихся вариантов.

Типы данных, которые мы рассматривали в прошлых уроках, обладают одним существенным недостатком. Они не приспособлены для долговременного хранения информации.  Возьмем, например, такой тип как Запись. Мы можем внести в программу множество различных данных (с клавиатуры в процессе выполнения программы), однако, после закрытия программы все эти данные исчезнут. При повторном запуске программы нам по новой придется вводить информацию о цвете автомобиля, его марке, пробеге, дате выпуска и т.д. А если нам необходимо ввести информацию о нескольких сотнях автомобилях? Не будем же мы каждый раз при новом запуске программы вводить всю информацию по-новому. Конечно же, не будем. Для долговременного хранения информации на компьютере в языке программирования Pascal используют файловый тип.

 Файлом называют область во внешней памяти компьютера, которая обладает определенными признаками:

  • файл имеет имя
  • размер файла ограничен лишь емкостью устройства внешней памяти
  • файл содержит компоненты одного типа.

Файлы бывают 3-х видов: текстовые файлы, типизированные файлы и  нетипизированные файлы.
В этой статье мы научимся открывать с помощью Паскаля текстовые файлы и выводить их содержимое на экран.

Открытие текстового файла для чтения.

Для того чтобы открыть текстовый файл, его сначала нужно создать. Поэтому в директории C:\FPC\2.2.2\bin\i386-win32\Programs создаем файл с названием «text» и расширением «txt». В этом файле записываем какое-нибудь слово, например, «pascal».

fayjlih v paskalj

Далее набираем программу.



Program file1;
Uses crt;
var fl:text;
str:string;
begin
clrscr;
assign (fl, 'programs\text.txt');
reset (fl);
read (fl,str);
write(str);
close(fl);
readln
end.



Строка №3. Записываем переменную «fl» и указываем для нее тип Text. Text - стандартный текстовый тип файла. Переменные этого типа используются для хранения текстовой информации. Переменная «fl» называется файловой переменной и служит для связи программы с текстовым файлом. На этом этапе главное запомнить, что любые файловые переменные, предназначенные для работы с текстовыми файлами, должны иметь тип данных Text.

Строка №4. Записываем переменную «str» и указываем для нее тип данных String. Эту переменную мы будем использовать для чтения строк из файла.

Строка №7. Для того чтобы текстовый файл (text.txt, созданный нами ранее) стал доступен программе, его необходимо связать с файловой переменной («fl»). Это осуществляется с помощью стандартной процедуры Assign. Записываем процедуру Assign, затем в круглых скобках указываем переменную, и через запятую в апострофах указываем путь к нашему файлу «text.txt». Теперь посредством файловой переменной «fl» мы можем управлять файлом «text.txt».

Строка №8. Здесь происходит  инициация файла. Инициация файла – это открытие файла для чтения, записи либо для чтения и записи одновременно. Процедура Reset говорит нам о том, что файл открывается только для чтения. В скобках после слова Reset указывается файловая переменная «fl». Т.к. эту переменную мы связали с текстовым файлом «text.txt», то в результате процедуры Reset этот текстовый файл будет открыт для чтения.

Строка №9. Для того чтобы получить доступ к записям, хранящимся в файле, используются процедуры Read, Readln, Write, Writeln. В нашем примере для чтения записи из файла используется процедура Read. Записываем процедуру Read, далее в скобках указываем название файловой переменной и через запятую название строковой переменной. В результате действия процедуры Read из файловой переменной «fl» (как вы помните, в этой переменной хранится текстовая информация из файла «text.txt», т.е. слово «pascal») будет прочитана информация (слово «pascal») и эта информация будет записана в строковую переменную «str».

Строка №10. Выведем на экран значение строковой переменной «str». Т.е. на экран выведется слово «pascal».

Строка №11. Стандартная процедура закрытия файла, указанного в скобках после слова Close.

fayjlih v paskalj.

fayjlih v paskalj..


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

1.  Правила для составления имен файлов.

  • Имя файла содержит не более 8 символов.
  • Символы могут содержать прописные и строчные буквы латинского алфавита, цифры, а также символы «!», «@», «#», «$», «%», «^», «&», «()», «'», «-», «;»
  • Имя файла может начинаться с любого из вышеперечисленных символов, цифры, строчной или прописной буквы латинского алфавита.
  • За именем файла может следовать расширение, которое отделяется от имени точкой и может содержать не более 3-х символов.

2. В нашем примере мы поместили текстовый файл в папке «programs». Вообще файл можно разместить в любом месте на компьютере, но тогда необходимо указывать полный путь к этому файлу в строке №7.


Предыдущая статья : Записи с вариантами.

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

Следующая статья : Файлы в Паскаль (часть 2).


Комментарии  

 
+2 # MrSmmiT 10.05.2012 07:06
Скажите пожалуйста, как сделать регистронезавис имый поиск? Используя up key и low key?
 
 
 
 
-2 # MrSmmiT 27.05.2012 15:38
Спасибо! Есть еще вопрос. :-) Есть типизированный файл с записями, их нужно отсортировать с помощью списка.
Вот моя попытка, (к сожалению не рабочая):
type opisanie= record
model: string[20];
ves: integer;
tip_corp: string[20];
diag_d: string[5];
dif: string[10];
f_mem: string[5];
cam: string[10];
ovpam: integer;
end;
type nex=^element;
element=record
zap:opisanie;
next:nex;
end;
function insort(l: nex): nex;
function ins(a: nex; l :nex): nex;
begin
a^.next:=nil;
if l=nil then
insort:=a
else
if a^.zap
 
 
-1 # MrSmmiT 27.05.2012 15:44
[quote name="MrSmmiT"]
function insort(l: nex): nex;
function ins(a: nex; l :nex): nex;
begin
a^.next:=nil;
if l=nil then
insort:=a
else
if a^.zap
 
 
+1 # MrSmmiT 27.05.2012 15:50
Почему-то процедура вся не пишется, поэтому вот: programm.txt
 
 
-1 # Ростик 26.01.2013 10:49
как прочесть 1-й елемент файла?
 
 
0 # Салам алейкум 31.01.2013 05:58
смотришь на первый элемент и читаешь его! все оч просто
 
 
+1 # кисуля 31.01.2013 06:02
#Салам алейкум, спасибо, ты мне очень помогла !!!
 
 
-3 # Салам алейкум 31.01.2013 05:53
:sad: :-| :-| :-| :-| :-| :-| :-| :-| :-| айм э мазафака щит
 
 
0 # макс 16.11.2014 11:52
мне нужно текст программировани я пример
var что делать?
 
 
-1 # 123 01.07.2016 09:20
:D :D
 
 
0 # qqqq 25.10.2017 12:39
как зделать щоб помножить у файли пж скажить!!!!!!!! !!1 :zzz :zzz :zzz :zzz :zzz
 
 
-1 # qqqq 25.10.2017 12:40
И как додать 1 у файле и вивести ето на мове паскаль пж скажить :zzz :zzz :zzz :zzz :zzz :zzz :zzz :zzz :zzz :zzz :zzz :zzz
 
   ГлавнаяПаскальФайлы в ПаскальЗапись в текстовый файл (продолжение).