Главная страница
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.013 c
1-69438
PaRL.
2002-11-10 20:53
2002.11.21
Разделение строки на слова.


3-69104
Jak
2002-11-01 16:26
2002.11.21
Помогите победить MS SQL Server v 7.0


1-69391
SiaCD
2002-11-08 02:07
2002.11.21
как определить наличие дискеты в дисководе


6-69457
NickS
2002-09-24 22:20
2002.11.21
Socket


1-69239
BALU1111
2002-11-11 15:36
2002.11.21
Полноэкранный режим