Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.21;
Скачать: CL | DM;

Вниз

Проверка правильности типизованого файла   Найти похожие ветки 

 
VJar   (2002-11-12 17:30) [0]

Допустим у меня есть такой тип:

Type TAnketa = Record
Name = string[10];
Surname = string[20]
Age = word;
end

Var F:File of TAnketa;

Как мне, открыв файл F, проверить имеет ли даный
файл информацию типа TAnketa, т.е. проверить
подходит ли мне этот файл для удачного чтения?


 
MBo ©   (2002-11-12 17:34) [1]

да в общем, только проверкой, входят ли байты, располагающиеся в местах, где должны быть строки, в диапазон печатных ASCII-символов (или, скажем, только русских букв)


 
Smithson ©   (2002-11-12 17:40) [2]

Сделай еще такой тип

type
TFileHeader = record
SIGNATURE: Array[1..3] of Char;
Version: String[10];
Info: String[50];
// например. Или еще какие поля...
end;


И записывай его в начало файла. Тогда прочитав его из испытуемого файла (елси ты задавал в SIGNATURE уникальные символы), ты по ним сможешь определить, что у тебя за файл - твои или нет.
Можно еще сделать функцию, проверяющую наоличие в начале файле заданой сигнатуры.
Один раз не поленисмь и самому много раз пригодится!


 
KoluChi ©   (2002-11-12 17:41) [3]

Попробавать прочитать - если не получиться, значит не подходит :)


 
Андрей Прокофьев ©   (2002-11-12 17:45) [4]

Поместить в первый запись СВОЮ информацию
(например
Name = "Файл"
Surname = "анкет",
Age = 77;)

и проверять ее при открытии
или см MBo



Страницы: 1 вся ветка

Текущий архив: 2002.11.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
7-69597
max2057
2002-09-20 08:07
2002.11.21
Ученик!! CreateRemoteThread в Explorer e


14-69547
Starcoff
2002-11-04 05:53
2002.11.21
Delphi 7


1-69338
Blarior
2002-11-10 02:00
2002.11.21
Hellp


3-69122
BlackTiger
2002-11-01 21:11
2002.11.21
Глюк с MaxRecords в ADO? (Решил, но...)


4-69629
Igor_173
2002-10-11 07:04
2002.11.21
Как отключить защиту от копирования в буфер