Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Результат выполнения процедуры Rewrite(F) изображает рисунок 5.3.

Рисунок 5.3 – Результат выполнения процедуры Rewrite(F)
Перед использованием процедуры Rewrite файл F должен быть связан с внешним файлом (набором данных) процедурой Assign.
Таким образом, процедура Rewrite создает новый внешний файл с именем, присвоенным переменной F процедурой Assign.
Процедура Write (F, V1 [, V2, … , VN])Процедура Write (F, V1 [, V2, … , VN]) – записывает в ту позицию файла, на которую указывает окно, очередной элемент файла, равный значению переменной Vi. После записи переменной Vi окно сдвигается на следующую позицию файла. Если окно достигает конца файла, файл расширяется.
Результат выполнения процедуры Write (F, V1, V2) представляет рисунок 5.4.

Рисунок 5.4 – Результат выполнения процедуры Write (F, V1, V2)
Перед первым выполнением в программе процедуры Write файл обязательно должен быть открыт.
Пример 5.2.
Пример создания файла.
Var
F1: File Of Char;
X: Char;
Begin
Assign (F1, ‘Newfile’);
Rewrite (F1);
For I:=1 To 100 Do
Begin
<Операторы программы>
Write (F1, X) {X – переменная, получаемая при выполнении программы}
End;
. . .
Процедура Reset (F)
Процедура Reset (F) – открывает существующий файл F.
Фактически при этом открывается внешний файл с именем, присвоенным переменной F процедурой Assign. Если файл с данным именем не существует, возникает сообщение об ошибке.
Окно файла устанавливается на первую позицию файла. Если файл был предварительно открыт, то он закрывается и повторно открывается.
Процедура Reset(F) может быть применена к файлу любое количество раз. При выполнении этой процедуры содержимое файла не изменяется.
Результат выполнения процедуры Reset(F) представляет рисунок 5.5.

Рисунок 5.5 – Результат выполнения процедуры Reset(F)
Процедура Read (F, V [, V2, …, VN])
Процедура Read (F, V [, V2, …, VN]) – обеспечивает чтение текущего элемента файла F (того элемента, на который указывает окно) в переменную Vi и передвигает окно на следующую позицию файла.
Чтение из файла с помощью процедуры Read можно производить только для предварительно открытого файла.
Файлы с типом всегда допускают как чтение, так и запись, независимо от того, были они открыты с помощью процедуры Reset или Rewrite.
Таким образом, доступна только та компонента файла, которая определена положением окна. Если необходима компонента, которая предшествует окну, то при последовательном доступе нужно установить окно на начало файла с помощью процедуры Reset, а затем, последовательно перебирая компоненты с помощью процедуры Read, дойти до нужной компоненты.
Результат выполнения процедуры Read (F, V1,V2) представляет рисунок 5.6.

Рисунок 5.6 – Результат выполнения процедуры Read (F, V1, V2)
Функция Eof(F)
Функция Eof (F) (End Of File) – служит для определения факта выхода при чтении за пределы файла.
Функция Eof возвращает значение признака конца файла. Если достигнут конец файла F (окно указывает на маркер конца файла – позицию, следующую за последней компонентой файла), или если файл пустой, то значение функции Eof равно True. В противном случае функция Eof возвращает значение False.
Если значение функции Eof равно True, то использование процедуры Read недопустимо.
Если в заголовке функции Eof опущено имя файла, то предполагается файл Input. Например,
L := Eof;
Здесь L – переменная типа Boolean.
Обычно обработка компонент файла в программе организуется с помощью оператора цикла с предусловием. В качестве предусловия используется логическое выражение Not Eof(F), а в теле цикла ведется обработка компонент файла F.
Пример 5.3.
Чтение из файла. Пусть имеется набор данных Old.
Var
F2: File Of Char;
X: Char;
Begin
Assign (F2, ‘Old’);
Reset (F2);
While Not Eof (F2) Do
Begin
Read (F2, X);
<Операторы обработки переменной Х>
End
. . .
Процедура Seek (F, N)
Процедура Seek (F, N) – осуществляет прямой доступ к элементам файла F.
Здесь N – номер элемента файла. Элементы файла нумеруются последовательно, начиная с нуля.
N может быть положительным целым выражением типа Longint.
Процедура Seek позиционирует файл на указанный номер элемента, то есть устанавливает окно файла на указанный элемент.
Файл должен быть предварительно открыт.
Процедура Seek не производит операций ввода-вывода. Следующий за Seek вызов процедуры Read или Write оперирует со следующими по порядку элементами файла.
Текстовые файлы процедурой Seek не обрабатываются.
Пример 5.4.
Запись в файл F2 элементов файла F1, начиная с номера 100 (фактически это 101-ый элемент файла F1).
Var
C: Char;
F1, F2: File Of Char;
Begin
Assign (F1, ‘Old’);
Assign (F2, ‘New’);
Reset (F1);
Rewrite (F2);
Seek (F1, 100);
While Not Eof (F1) Do
Begin
Read (F1, C);
Write (F2, C);
End;
…
Функция Filepos (F)
Функция Filepos (F) – возвращает номер текущей позиции (окна) файла F. Если окно установлено на начало файла, то функция возвращает значение 0. Если окно установлено на конец файла (Eof(F) = True) , то функция возвращает значение, равное размеру файла (то есть результату функции Filesize (F)).
Тип результата функции Filepos – Longint.
Функция не может использоваться для текстовых файлов.
Файл должен быть предварительно открыт.
Функция Filesize(F)Функция Filesize(F) – возвращает текущий размер файла (число элементов в файле). Тип результата – Longint. Для пустого файла возвращается значение 0.
Файл должен быть предварительно открыт.
Функция не может быть использована для текстовых файлов.
Пример 5.5.
Расширение файла F (добавление элементов в конец файла).
. . .
Seek (F, Filesize (F));
Write (F, C);
. . .
В данном примере процедура Seek помещает окно файла за последним элементом файла (функция Filesize возвращает количество элементов, но так как они нумеруются с нуля, то значение функции Filesize совпадает с номером следующей компоненты после последней).
Процедура Close (F)
Процедура Close (F) – предназначена для закрытия открытого файла F.
Для внешнего файла, связанного с файловой переменной F, полностью выполняется его обновление (остатки данных из буфера ввода-вывода заносятся в файл). Затем файл закрывается и может быть повторно использован.
Пример 5.6.
Определение размера файла. Закрытие файла.
…
Assign (F, ‘Old’);
Reset (F);
Write (‘Размер файла Old ’, Filesize (F)); {Вывод на экран размера файла}
Close (F);
…
5.4. Текстовые файлы
Текстовый файл представляет собой последовательность символов. Однако он не эквивалентен файлу типа
T = File Of Char.
Файл типа T – это единая последовательность символов.
Особенность текстовых файлов – то, что содержащиеся в них символы разбиваются на строки. Строки могут быть различной длины (и пустые). В конце каждой строки помещается специальный управляющий символ – маркер конца строки. Обычно это два управляющих символа: возрат каретки (#13 или ^M – международное обозначение CR) и перевод строки (#10 или ^J – международное обозначение LF).
С наличием этого маркера связана логическая функция Eoln (End Of Line).
Функция Eoln(F) принимает значение True, если окно (текущая позиция доступа) установлено на маркер конца строки, и False – в противном случае.
Текстовые файлы – это переменные типа Text.
Тип Text относится к предопределенным структурным типам. Переменные типа Text описываются c помощью указания имени типа:
Var
X, Y: Text;
Стандартные файлы Input и Output являются текстовыми файлами. Эти файлы в программе не описываются. В начале выполнения любой программы (если не ниспользуется модуль Crt) автоматически выполняются процедуры:
Assign (Input, ’’);
Assign (Output, ’’);
Reset (Input, ’’);
Rewrite (Output, ’’);
Для работы с текстовыми файлами определены следующие процедуры и функции ввода-вывода.
Процедура Assign (F, Name)Процедура Assign (F, Name) – связывает файловую переменную с внешним файлом на диске. Описана в подразд. 5.2.
Процедура AssignСrt (F)Процедура AssignСrt (F) – связывает текстовые файлы с Crt (с дисплеем).
Процедура аналогична процедуре Assign. Однако второй параметр Name в ней не используется.
Данная процедура определена в модуле Crt, который реализует более быстрый ввод-вывод по сравнению со стандартным вводом-выводом и с большими функциональными возможностями.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |


