Файли в Паскалі

Я працюю в середовищі Lazarus. Якщо ви використовуєте іншу середовище для розробки на Паскаль, і в ній всі приклади даній статті будуть працювати.

Види файлів в Паскалі

Файли в Паскалі представлені трьома видами:

  1. типізовані;
  2. не типізовані;
  3. текстові.

Текстові файли в Паскалі

Як випливає з назви, в таких файлах зберігаються тексти, а тексти складені з рядків.

Приклад роботи з текстовим файлом в Pascal. Створимо на диску С текстовий файл з ім'ям sbp.txt за допомогою Блокнота. Внесемо туди три рядки:

Red
Yellow
Green

Отже, у нас є текстовий файл sbp.txt, а в ньому три слова на трьох рядках: Файли в Паскалі

Зробимо Pascal програми, яка вважає вміст нашого файлу і виведе його на екран:

Отримуємо: Файли в Паскалі

У рядку

sbpFile: Text;

створена змінна для роботи з текстовим файлом. Пов'язуємо цю змінну з текстовим файлом sbpFile.txt:

Assign(sbpFile, 'C:\sbpFile.txt');

Відкриваємо наш файл для читання з нього:

Reset(sbpFile);

У циклі зчитуємо з файлу рядки:

ReadLn(sbpFile, strokaArr[inn]);

Закриваємо файл:

Close(sbpFile);

Тепер поставимо завдання дописати кілька рядків в існуючий файл sbpFile.txt:

Отримуємо: Файли в Паскалі

У цьому прикладі ми рядком

Append(sbpFile);

відкрили файл для того, щоб дописати в кінець файлу нову інформацію. Стара інформація при цьому зберігається.

У циклі додаємо нові рядки в файл:

WriteLn(sbpFile, strokaArr[inn]);

Ще розглянемо задачу створення нового файлу і запису в нього. Програмно створимо новий текстовий файл sbpFile.txt і збережемо в ньому кілька рядків. Якщо до початку роботи файл sbpFile.txt не існує, він буде створений, а якщо він вже існує, то він буде стертий, далі буде створено новий файл sbpFile.txt:

Отримуємо: Файли в Паскалі

До початку роботи цього прикладу у нас був файл sbpFile.txt на диску С. Наша програма в рядку

ReWrite(sbpFile);

видалила наявний файл і створила новий з тим же ім'ям. Якби файл sbpFile.txt не існував до моменту початку роботи прикладу, то він був би створений.

У циклі завантажуємо рядки в файл:

WriteLn(sbpFile, strokaArr[inn]);

А що таке «Rojo», «Amarillo», «Verde»? Це іспанські слова, які означають «червоний», «жовтий», «зелений».