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);


 

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

59583. Комбінований урок із біології, фізики, основ здоров’я: Око як оптична система 86 KB
  На основі знань одержаних вами у 8му класі на уроках фізики про світло про закони заломлення світла на межі двох прозорих середовищ про геометричну оптику ми ознайомимося з тим як наше око сприймає світло та колір пояснимо причини...
59584. Источники «формы права» 54.5 KB
  Рассмотрение формы права предусматривает понимание вопроса о том, каким способом и где формируются правовые нормы. Иногда форма права и источник права воспринимается как одно и то же понятие, однако значение и смысл этих понятий различен
59585. Трудове навчання: Осінні фантазії 44.5 KB
  Наочність та обладнання: репродукція картини Левітана Золота осінь грамзапис П. Чайковського Пори року відеозапис телевізор відеомагнітофон програвач казковий герой Осінь. Ой а хто це ще до нас на урок поспішає...
59586. Сценарій уроку: Освіта проти корупції 39 KB
  Методи: робота у групах створення формального тексту гра інсценівка. Кожна група повинна придумати десять правил угоди. Команди повинні написати лист чиновникам із проханням виділити школі компютери: перша група дуже покірний і прохальний стиль листа...
59587. Виховний захід у молодшій школі: Поговоримо про культуру… 53.5 KB
  Дуже добре якщо у класі всі дружать але коли тобі хтось не подобається ти можеш з ним не дружити хоча це і прикро але ти маєш памятати: ображати іншого це великий гріх або злочин. На тему дуже звичну нам Вікторія говорить: Почну з Вітька бо він себе поводить некультурно...
59588. Разработка стратегии селективной территориальной экспансии компании CARLO PAZOLINI 1.3 MB
  Розничный обувной рынок можно охарактеризовать как непрозрачный и закрытый. Значительная часть обувных ритейлеров отказывается публично предоставлять информацию относительно размера торговых площадей, финансовых индикаторов своей деятельности и даже о количестве магазинов.
59589. Разработка системы карьерного роста в Управляющей компании Группы компаний «ВайзЭдвайс» для снижения текучести персонала 724 KB
  Функции и формы управляющей компании определяются спецификой работы холдинга и теми целями, которые ставят перед собой собственники бизнеса. Управляющая компания позволяет оперативно контролировать деятельность предприятий, входящих в холдинговую структуру, в частности отслеживать финансовые потоки и расходы...
59590. Позитивні та негативні емоції, їх значення для здоров’я 70.5 KB
  Гра Дружба починається з посмішки Запитання до учнів: Діти у вас є друзі Хто твій друг Як ви думаєте з чого починається дружба Я вам розкрию велику таємницю дружба починається з посмішки.
59591. Полеглим присвячується... 52 KB
  Степом степом йшли у бій солдати. Степом степом даль заволокло. Степом степом розгулись гармати Степом степом клекіт нароста. Степом степом падають солдати А кругом Шумлять жита.