Главная страница
    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.44 MB
Время: 0.007 c
3-69219
bkv
2002-11-01 16:41
2002.11.21
Навигация по отфильтрованной таблице большого размера


1-69268
VJar
2002-11-11 22:36
2002.11.21
Обработка удерживания нажатой кнопки


1-69332
Comp
2002-11-12 19:54
2002.11.21
И ещё...


1-69383
Sergy
2002-11-06 17:52
2002.11.21
Погасить пункт меню в чужой проге


14-69511
MFV
2002-11-01 23:47
2002.11.21
Fujitsu отзывает жесткие диски





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский