МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів Контакти
Тлумачний словник |
|
|||||||
Ця функція переміщує файловий вказівник в кінець і дає при цьому істинний результат. Хибний результат означає неможливість переміщення в кінець файлу.Наприклад Створити типізований файл цілих чисел, відкрити його для читання і знайти суму кожного п’ятого елементу. Var f: file of integer; i, j, x: integer; Begin assign(f, ‘file.dat’); rewrite(f); for i:=1 to 20 do Begin readln(x); write(f,x); end; close (f); reset(f); j:=0; x:=0; While not eof (f) do Begin read(f,i); x:=x+i; j:=j+5; if filesize (f) <=j then seekeof(f) else seek (f,j); end; close(f); writeln(x); End. 9. Процедуравідсіканняхвостовоїчастинифайлу Розглянуті раніше підпрограми дозволяють перезаписувати або доповнювати елементи у файл. Якщо потрібно навпаки вилучити частину записів TRUNCATE(<файлова змінна>); Ця процедура відсікає хвостову частину від позиції файлового вказівника, тобто вилучаються елементи вкінці файлу. Якщо потрібно вилучити деякі записи всередині або на початку файлу, то приходиться писати власні підпрограми для виконання цих дій. Для вилучення т елементів, починаючи з позиції п, потрібно послідовно перемістити всі елементи, починаючи з позиції п+т до кінця файлу вперед на т позицій процедурою truncate відсікти хвіст із т елементів. Наприклад For i:=1 to m do Begin Seek (f, n+m+i-1); Read(f,x); Seek(f, n+i-1); Write(f,x) End; Truncate(f); Як видно з програми, вилучення елементів з файлу вимагає значних об’ємів перезапису даних. Вилучення одного першого елемента вимагає переміщення 999 елементів на одну позицію. Якщо вилучення є однократною дією, то такий підхід економічно оправданий. Якщо ж вилучається багато елементів і не один раз і , крім того розмір типу елементів є великим, то програма буде працювати дуже довго. В таких випадках, крім основного файла даних використовується ще один так званий індексований файл. Елементами цього файлу переважно є цілі числа від 0. ці числа є порядкові номери записів в основному файлі. Вилучення деякого елементу даних в цьому випадку не вимагає відразу перезапису даних, достатньо в індексному файлі замість номера записати якесь від’ємне число. Після завершення роботи з всією базою, вкінці на основі індексного файлу потрібно перезаписати основний файл даних. Спеціальні підпрограми для роботи із текстовими файлами Текстові файли на диску нічим не відрізняються від інших файлів. Всі дискові файли Типізація файлів передбачає накладання певного шаблону на ланцюжки байтів. Цей шаблон визначається типом файлів. Текстові файли – це послідовність елементів, але, на відмінну від типізованого файлу file of char, в текстових файлах деякі елементи мають своє спеціальне призначення. Це спеціальні комбінації символів #13 #10, які утворюють ознаку кінця рядка. Ця ознака займає 2 байти, але не є текстовою інформацією.
|
||||||||
|