Відкриття файлу з довільним доступом
Для роботи з файлом у режимі довільного доступу його потрібно відкрити оператором Open, що має вигляд:
Open Ім’яФайла For Random As [#] Дескриптор [Len=ДожинаЗапису]
де Ім’яФайла – вираз рядкового типу, що подає ім’я файлу. Наприклад:
“D:\TK17\Файли_даних\Ціна.dat”
“Ціна.dat”
У першому випадку зазначено папку, в якій зберігається файл Ціна.dat, а в другому передбачається, що він зберігається у поточній папці.
Нижче наведено деякі поняття, що стосуються роботи з файлами з довільним доступом.
Дескриптор – вираз цілого типу, що визначає номер каналу введення/виведення для файлу, що відкривається (наприклад, 1). Символ # перед дескриптором необов’язковий.
Довжина запису – вираз цілого типу, що визначає розмір елемента в байтах (наприклад, 25). Часто для завдання довжини запису використовують вмонтовану функцію Len(х), що визначає розмір аргументу х. При відкритті файлу х вказує ім’я змінної типу даних користувача, що буде вживатися для роботи з файлом.
Open txtІм’яФайла For Random As # 1 Len (udtВідомості)
Відкривається файл, ім’я якого зазначено в текстовому полі txtІм’яФайла. Довжина записів у файлі збігається з розміром змінної типу даних користувача udtВідомості. Для роботи з файлом призначений перший канал введення/виведення.
Для записування даних у файл використовують оператор Put, для читання – оператор Get. Ці оператори мають вигляд
Put # дескриптор, Номер запису, Змінна
Get # дескриптор, Номер запису, Змінна
Діє оператор Put так: значення, що зберігається в полі пам’яті змінної, пересилається з оперативної пам’яті у файл, обумовлений дескриптором, і у файлі записується на тім місці, яке задано номером запису.
Оператор Get має протилежне призначення. Він вказує, що потрібно знайти запис із зазначеним номером у файлі, що визначений дескриптором, а потім переслати вміст цього запису з файлу в поле, що займає зазначена змінна в оперативній пам’яті.
Put # 1, і, udtВідомості
Get # 1, і, udtВідомості
У першому випадку здійснюється запис у файл, пов'язаний із першим каналом введення/виведення, інформації, що зберігається в оперативній пам’яті в змінній типу даних користувача udtВідомості. Ця інформація записується у файл на місце з номером і.
У другому випадку відбувається зворотний процес: з і-го місця у файлі зчитується інформація і пересилається в оперативну пам'ять у змінну udtВідомості.
Для закриття файлів використовують оператор Close, що має вигляд:
Close [#] [СписокДескрипторів]
Якщо списку дескрипторів немає, то закриваються усі відкриті файли.
Close # 1,2,5
Close
У першому випадку закриваються тільки файли, для яких було призначено канали введення/виведення 1, 2 і 5, а другому – усі файли.