Поняття файлу. Імена файлів.
Файлом називають або довільну поіменовану область зовнішньої пам’яті комп’ютера (жорсткого диску, гнучкого диску, «флешки» і т.д.) або логічний пристрій – потенційне джерело або приймач інформації. Будь-який файл має три характерні особливості: 1. в нього є ім’я, що дає можливість одночасно працювати з декількома файлами; 2. він містить данні. Ці дані можуть бути даними довільного Турбо Паскалівського типу, окрім файлового типу; 3. довжина файлу обмежується тільки об’ємом зовнішньої пам’яті.
Ім’ям файлу може бути вираз рядкового типу, який задовольняє наступним умовам: 1. ім’я містить до восьми дозволених символів, до яких відносяться: літери латинського алфавіту, цифри та символи: ! @ # $ % ^ & ( ) ’ ~ - _ 2. за ім’ям може слідувати розширення – послідовність до трьох дозволених символів, відокремлене від імені крапкою.
Наприклад: Laba08.pas
Перед іменем можна вказувати шлях до файлу, який може складатися · з імені диску – це одна з літер від A до Z, після якої ставиться двокрапка (наприклад A: або C:); · за іменем диску через символ «\» може вказуватись ім’я папки або послідовності папок, яка містить цей файл.
Наприклад: C:\MyFiles\ Laba08.pas це означає, що файл з ім’ям Laba08.pas знаходиться на диску C: в папці з ім’ям MyFiles. Змінну файлового типу можна задати одним з трьох способів: <ім’я_змінної> : File of <тип_даних>; <ім’я_змінної> : Text; <ім’я_змінної> : File; де <ім’я_змінної>- ім’я змінної, File of – оголошення типізованого файлу, тобто файлу що містить данні лише одного типу мови Паскаль, Text –оголошеннятекстового файлу (про них детальніше в наступному розділі), File –оголошення не типізованого файлу. Наприклад: Var f1 : file of integer; f2 : text; f3 : file;
Текстові файли. Текстові файли – це файли призначені для зберігання текстової інформації. Їх можна проглянути і відредагувати за допомогою довільного текстового редактора. Саме в таких файлах зберігаються, наприклад, файли програм Турбо Паскалю. Текстовий файл в Турбо Паскалі розглядається як сукупність рядків змінної довжини. Зчитування даних в текстовому файлі можливе тільки послідовно, рядок за рядком, починаючи з першого. При створенні текстового файлу в кінці кожного рядка ставиться нетермінальна (не видима на екрані) ознака EOLN (кінець рядка – End of Line), а в кінці всього файлу – ознака EOF (кінець файлу – End of File).
Процедури для роботи з файлами. Щоб прочитати данні з файлу або записати в файл в мові Паскаль, спочатку треба зв’язати змінну файлового типу з ім’ям фалу за допомогою стандартної процедури Assign: Assign(<файлова_змінна>,< ім’я_файлу>); Наприклад: Var f : text; {змінна типу текстовий файл} Begin Assign(f, ’C:\MyFiles\Data.txt’); {зв’язує змінну f з файлом на ім’я Data.txt, який знаходиться на диску C: в папці MyFiles}
Потім файл необхідно відкрити за допомогою однієї з трьох стандартних процедур: · Reset(<файлова_змінна>) – відкриває файл для читання, після чого стає можливим читання даних з файлу за допомогою процедур Read та Readln; · Rewrite(<файлова_змінна>) – створює файл для запису, якщо ж такий файл вже існує то при виконанні процедури Rewrite всі дані цього файлу стираються. Нові ж дані можна записувати в цей файл за допомогою операторів Write та Writeln. · Append(<файлова_змінна>) – відкриває існуючий текстовий файл для дописування нових даних в кінець. Дописування даних можна виконати за допомогою операторів Write та Writeln.
Зауваження: При записуванні в файл за допомогою процедур Write та Writeln, і при зчитуванні даних з файлу за допомогою процедур Read та Readln – перед списком для запису/зчитування треба вказати змінну файлового типу, зв’язану з відповідним файлом.
Після виконання операцій вводу/виводу з файлу його необхідно закрити за допомогою оператора Close: Close(<файлова_змінна>);
Наприклад: ProgramName_80; Var f, f1 : text; {змінні типу текстовий файл} i, j : integer; s : string; Begin Assign(f, ’C:\MyFiles\Data.txt’); {зв’язує змінну f з файлом} Reset(f); {відкриває файл для читання} Readln(f, i, j); {зчитує з файлу цілі числа в змінні i та j} Readln(f, s); {зчитує з файлу рядок} Close(f); {закриває файл}
Assign(f1, ’C:\MyFiles\New.txt’); {зв’язує змінну f з файлом} Rewrite(f1); {створює новий файл для запису} Writeln(f1, s); {записує в файл рядок} Writeln(f1, i); {записує в файл ціле число} Close(f1); {закриває файл} End.
©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|