ПАСКАЛЬ: РОБОТА З ФАЙЛАМИ
Отже, значеннями елементів типізованого файла є значення відповідного типу, наприклад, word, real чи StGroup.
Текст у загальному розумінні – це послідовність символів, розбита на рядки. Рядок у загальному розумінні – це послідовність символів із явно позначеним кінцем. У мові Турбо Паскаль для файлів-текстів означено спеціальний тип із ім’ ям TEXT. Наприклад, можна означити
var Fi, Fo : text;
Підкреслимо, що хоча елементами тексту є символи, цей тип відрізняється від типу file of char. У текстах є спеціальні символи, якими задаються кінці рядків і навіть кінець тексту. Їх обробка відрізняється від обробки решти символів і задається спеціальними підпрограмами, незастосовними до файлів типу file of char, наприклад, readln і writeln.
Безтипові файли розглядаються як послідовності байтів і означаються за допомогою службового слова file. Наприклад,
var Fi, Fo : file.
Для них означено свої підпрограми читання й запису файлів.
Підкреслимо, що наведені три види файлів відрізняються не стільки можливим змістом їх змінних, скільки наборами підпрограм введення-виведення, застосовних до них.
Практично всі підпрограми першим параметром мають ім’ я файлової змінної. Далі ім’ я f буде позначати, як правило, саме файлову змінну. Хоча ніхто не заважає давати файловим змінним зовсім інші імена, наприклад, filevariable чи inpfil тощо.
Робота з файловою змінною починається зі зв’язування її імені з конкретним фізичним файлом. Для цього ідентифікатор файлової змінної та ім’я фізичного файла в операційній системі, або зовнішнє ім’я, задаються у виклику процедури ASSIGN, наприклад,
assign ( f, 'myfile.dat' ).
Другий аргумент, зовнішнє ім’я, задається виразом типу string (рядок). Наприклад, якщо рядки s1 і s2 мають значення 'c:\mydir\book' та 'txt', то
assign(f, s1 + '.' + s2);
задає зв’язування з файлом c:\mydir\book.txt.
Файлові змінні з іменами INPUT і OUTPUT зв’ язуються неявно, тобто без указання в програмі, зі стандартними файлами введення й виведення – клавіатурою та екраном комп’ ютера. Їх ще називають стандартними пристроями введення-виведення. Означати явно імена input і output та зв’ язувати їх із іншими фізичними файлами не заборонено, але ми цього не рекомендуємо. Вони також можуть не вказуватися у викликах інших підпрограм обробки файлів. У розділі 2 ми вже розглядали найпростіші дії з клавіатурою та екраном.
Приклад. Нехай виконується програма з такими означеннями та операторами:
…
var f : text;
fn, st : string;
begin …
fn := 'default.dat'; {default - "за узгодженням"}