align="justify"> рядків );; span>
Використання об'єкта TStringList (набір рядків і є нащадком об'єкта TStrings, кожен рядок має свій індекс, до неї можна звернутися за допомогою властивості *. strings [i] - i - необхідна рядок).
Приклад:
: TStringList;
... TForm1.Button1.Click (...);: = TStringList.Create (...);. LoadFromFile ( c: alpha.txt );. Lines.Ad d (t.StringList [0]);. Lines.Add (t.StringList [1]);
...
// по закінченні роботи об'єкт t треба знищити
t.Free;;
Методи об'єкта StringList:
*. Count - повертає кількість рядків у цьому об'єкті;
*. SaveToFile - дозволяє скинути об'єкт у файл.
Г? Типізовані файли.
Довжина, будь-якого компонента типізований файлу, постійна, що дає можливість організувати прямий доступ до кожного з них. Кожен запис файлу може бути доступна шляхом зазначення її порядкового номеру. Після відкриття файлу, покажчик варто на його початку і вказує на перший компонент з номером (0). Після кожного читання або запису покажчик зміщується на одну позицію, тобто на одну запис. Переміщення в списках введення/виведення процедур read/write повинні мати той же тип, що і компоненти файлу (працює правило приведення типів). Якщо змінних в списках введення/виведення кілька, то покажчик зміщуватиметься після кожної операції обміну даними між змінними і фалом. br/>
Робота з типізований файлами
). _Прімер Оголошення типизированного файлу:
Var: file of integer;: file of string [20];: integer;: byte;: int64;: string [20];
... TForn1.Button1.Click (...); (f, c: int.dat ); (f, c: string.txt ); (f); (t); (f, a , b); (t, x, abcdef ); (f); (t); (f, c); (t, x); (t, stuvw );;
Процедура Reset застосовна до типізованим файлів, відкриває як для запису, так і для читання одночасно. ReWrite працює аналогічно текстовим. p align="justify"> Процедури для роботи з файловими змінними:
Seek (<файлова змінна>, <номер запису>); - процедура зміщує вказівник файлу до необхідної запису.
<файлова змінна> - дескриптор файлу.
<номер запису> - вираз типу int64 містить номер запису.
FileSize (<файлова змінна>): int64; - функція повертає кількість записів у файлі.
SizeOf (<примірник структури>); - дозволяє визначити розмір об'єкта:
Var: word; [2]
... (z),
...
FilePos (<файлова змінна>): int64; - функція повертає порядковий номер запису, яка буде оброблена наступною операцією введення/виводу:
). _Прімер Створення бази даних містять інформацію про погоду (база даних складається з однієї таблиці):
МесяцДень0ССкорость ветраНаправленіе ветраbytebyterealrealString [3]
Type = recode;: bute;: bute;: real;: real;: string [3];;: file of pogoda;, b: pogoda;: int64; TForm1.Button1.Click (...);
{заповнення файлу} (f, c: pogoda.dat); (f);
В
Procedure TForm1.Button2.Click (...);
{перегляд файлу} (f); not Eof (f) do begin (f, b); = i +1; StringGrid1 do begin [1, i]: = IntToStr (bm); [ 2, i]: = IntToStr (bd), [3, i]: = FloatToStr (bt), [4, i] = FloatToStr (b.sv), [+5, i]: = b.nv;;; ;
Г? Чи не типізовані файли (бінарні).
Оголошуються як змінні типу файл:
Var
f: file;
...
Відрізняються тим, що для них не зазначений тип компонента. Файл сприймається як набір байтів. Відсутність типів даних дає ряд переваг:
Гј Ці файли сумісні з будь-якими іншими;
Гј Висока швидкість обміну даними між диском і пам'яттю.
Ініціалізація НЕ типізований файлу здійснюється процедурами Reset і ReWrite:
Reset (<файлова змінна> [, <довга...