77973

Типизированные файлы с идентичными структурами

Лекция

Информатика, кибернетика и программирование

Типизированный файл – это файл в котором записаны идентичные структуры. Например любой файл может считать файлом байтов – т.е можно читать байт за байтом, можно перейти сразу к любому байту по его номеру, можно сразу узнать сколько байт в файле, можно заменить любой байт на другой не перезаписывая файл.

Русский

2016-09-14

30.5 KB

0 чел.

Типизированные файлы

Типизированный файл – это файл в котором записаны идентичные структуры. Например любой файл может считать файлом байтов – т.е можно читать байт за байтом, можно перейти сразу к любому байту по его номеру, можно сразу узнать сколько байт в файле, можно заменить любой байт на другой не перезаписывая файл. Теперь все это в примерах:

Объявляем файл байтов:

var f:fileof byte

` b:Byte;

Ассоциируем файловую переменную с физическим фалом:

AssignFile(f,’c:\myfile.bin’);

Теперь мы можем либо перезаписать/создать файл:

Rewrite(f);

Либо открыть существующий для чтения и записи:

Reset(f);

Обратите внимание, что функцияReset хотя и имеет такой же формат как и для текстовых.

Функции работы с файлом:

read(f,b); - прочитать 1 байт

write(f,b); - записать 1 байт

seek(f,100); – поставить текущее положение считывания/записи на сотый байт

size(f); - прочитать количество байт в файле

eof(f); - узнать не является ли байт последним

Все эти функции не работают с файлами большими 2Gb

После работы файл надо закрыть;

CloseFile(f);

Приведенные выше механизмы будут работать с любым файлом, так как любой файл можно считать файлом байтов. Теперь где это можно использовать? В принципе везде, но в подавляющем большинстве случаев это будет очень неудобно, ведь скорость считывания при чтении по байтам будет на порядки более низкой чем другими способами. Однако в некоторый случаях этот способ может быть очень полезен. Например в программе вам надо заменить 100й байт файла на другой, или прочитать 100й байт файла, например во всяких читерских программах, при взломе и т.п. Здесь такой доступ будет весьма удобен. Гораздо более интересным представляется дальнейшее развитие технологии типизированных файлов(их еще 15 лет назад называли «Файлы прямого доступа»). Представим себе, что файл состоит не из байт а из более сложных структур. Например мы не имеем некотурую иформацию в виде;

TypeMyRec=Record

Name:string[100];

Age:byte;

Membership:Boolean;

Accounts:array[1..10]of integer;

End;

Обратите внимание, что все элементы записи точно типизированы, нет ни длинных строк, ни открытых массивов, ни объектов, другими словами, заранее точно известно сколько именно байт будет заниматьпеременная этого типа. Объявим переменную этого типа;

VarMyVar:MyRec;

и файл этого типа:

Var f:File of Rec;

Теперь мы можем читать и писать сразу целую структуру, абсолютно так же как и если бы это был один байт:

AssignFile(f,’c:\MyFile.rec’);

Rewrite(f);

My Var.Name:=’Vitaly’;

My Var.Age:=33;

My Var.Membership:=True;

My Var.Accounts[1]:=12345;

My Var.Accounts[2]:=34985;

Write(f,My Var);

Closefile(f);


 

А также другие работы, которые могут Вас заинтересовать

56237. Структура урока технологии в начальных классах 158.5 KB
  По содержанию деятельности учащихся урок технологии трудового обучения может быть разделен на 5 частей этапов: Постановка цели темы трудовой и учебных задач урока.
56238. СТРУКТУРА УРОКА РУССКОГО ЯЗЫКА 61.5 KB
  Следует отметить отсутствующих учащихся обратить внимание на внешний вид учеников состояние класса. На каждом уроке русского языка осуществляется проверка знаний и навыков учащихся.
56241. ЗАГАЛЬНЕ УЯВЛЕННЯ ПРО НАУКУ ТА СПЕЦИФІКА СУЧАСНОЇ НАУКОВОЇ ДІЯЛЬНОСТІ 19.91 KB
  Всю сукупність пізнавальних дій людей прийнято поділяти на дві групи: діяльність, яка здійснюється в рамках конкретних видів діяльності людини (предметно-практичної, комунікативної, ціннісно-орієнтовної; і діяльність, яка ведеться в рамках науки як особливого виду діяльності людини, спрямована на виробництво нових знань про навколишній реальності
56242. Проблеми струмка Холодного 509.5 KB
  Людина не може жити без чистого повітря води свіжої зелені сонячних променівУсе живе вимагає уваги й поваги. Характеристика та мета обраного маршруту Екологічна стежина розпочинається біля запруди ставка Холодного продовжується...
56243. ДЗВЕНИТЬ СТРУМОЧКОМ РІДНА МОВА 72 KB
  Берегти її плекати буду всюди й повсякчас бо ж єдина так як мати мова в кожного із нас Молитва до мови Учень Мово Пресвятая Богородице мого народу З чорнозему з любистку мяти...
56244. Сценарій позакласного заходу «Андріївські вечорниці» 66.5 KB
  Зараз ми з вами зануримось в атмосферу прадавніх звичаїв і обрядів завітавши в гості до світлиці господині Одарки Одарка: Увага Увага Спішітьпоспішайте Дівчата і хлопці глядіть не минайте На вечорниці прошу гуртом поодинці Чекають на вас робота й гостинці Заходять дівчата Дівчина 1 З добрим урожаєм вас вітаємо...
56245. St.Valentine’s day 1.89 MB
  Just now we are going to have Valentine quiz. I will ask you some questions. The one who knows the answer should raise a hand. The team that is first answers and gets a score. One score for one correct answer.