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


 

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

40058. Оценка экономической эффективности применения ИТ в деятельности предприятия 900 KB
  Оценка экономической эффективности CRMпроекта. Метод оценки эффективности применения CRM. Коэффициенты оценки эффективности применения CRM. Проблемы внедрения CRMсистем.
40059. Современные информационные технологии и системы в экономике 334 KB
  Современные информационные технологии и системы в экономике. Чем точнее и объективнее информация находящаяся в распоряжении системы управления чем полнее она отражает действительное состояние и взаимосвязи в объекте управления тем обоснованнее поставленные цели и реальные меры направленные на их достижение. Информационное обеспечение – это часть системы управления которая представляет собой совокупность данных о фактическом и возможном состоянии элементов управления и внешних условий функционирования процесса а также о логике изменения и...
40060. Корпоративные информационные системы масштаба предприятия 986 KB
  Системы управления отношениями с клиентами CRM. Определение CRMсистемы. Функциональность и коммуникации CRM. Преимущества применения CRM.
40061. Специализированные информационные системы менеджмента и маркетинга 940 KB
  Маркетинговые базы данных. Понятие маркетинговых баз данных. Способы обновления маркетинговых баз данных. Маркетинговые базы данных.
40062. Создание лексико-семантической основы ИПЯ 42.5 KB
  Приобрести навыки представления лексики в виде иерархической классификации классификаторов информационнопоисковых тезаурусов. Задание 1: Организационно представить лексику в виде иерархической классификации. Требования к отчету: Итоги выполнения задания представить в виде фрагмента иерархической классификации: Языки информационнопоисковые 11. Языки информационнопоисковые классификационные Системы классификации...
40063. Алфавит и лексика ИПЯ 56.5 KB
  Задание 1: Дать характеристику алфавита различных ИПЯ ББК УДК Государственного рубрикатора НТИ информационнопоисковых тезаурусов. Таблица 1 Характеристика алфавита ИПЯ Наименование ИПЯ Состав алфавита Виды обозначений Примеры УДК Цифровой Цифры Знак точка Знак двоеточие Знак распространения Знак круглые скобки Знак равенства Знак кавычки Знак стрелка Знак конгруэнтности .412 Технология работы: Проанализировать план выражения лексических единиц входящих в состав основных и вспомогательных таблиц заданных...
40064. Язык как знаковая система 45 KB
  Ознакомиться с видами знаков. Приобрести навыки определения структуры знаков. Рассмотреть сферу применения знаков при создании информационных продуктов.
40065. Парадигматические отношения в ИПЯ 51.5 KB
  Ознакомиться с видами парадигматических отношений. Овладеть практическими навыками распознавания парадигматических отношений в ИПЯ. Перечень лексических единиц Месяц декабрь Искусственный язык специализированный язык Танец народный танец Библиографическая запись поле данных Самолет фюзеляж Алфавит ИПЯ знак Год месяц...
40066. Синтагматические отношения в ИПЯ 54.5 KB
  Ознакомиться с видами грамматических средств в ИПЯ. Овладеть навыками практического использования грамматических средств в ИПЯ. № документа Поисковый образ документа в индексах ИПЯ УДК ББК таблицы для областных библиотек ГРНТИ 1 16075.