В структурата на DBF-файлове unadvanced
В структурата на DBF-файлове unadvanced
влизане
Всичко би било добре, ако не и за BDE.
Не, BDE - това е много добра, на Лошото е, че с помощта на програмата, след като TTable, трябва да багажник мозъка си над това как с минимални загуби, се "върже" BorlandDatabaseEngine до машината на потребителя. Това е първото нещо, което прави седне в продължение на целия живот-заглавия DBF файлове. И второто. Тези същите DBF-файлове имат такава функция, тъй като унищожаването на заглавията. И трето, и четвърто, пето и.
За вас, не е сложността напиши компонент, който работи с DBF-таблици. В този случай, спрете да четете статията!
И ние също така да видите какви са заглавия DBF-файлове и как да използвате знанията си за тяхното практическо приложение.
- удар с глава
- точни записки
Таблица 1. Структура на DBF файл
Плаващ 0x1A (26)
RecordSize (байт размер запис) и RecordsCount (брой записи), чиито стойности са взети от файла DBF-заглавката ще бъдат обсъдени по-долу.
Сега, когато знаем какво се състои DBF-файлове и какъв размер са те части, се пристъпи към по-подробен преглед на техните структури.
Заглавие Описание DBF файл
Както може да се види от предходната таблица, заглавната част се състои от три части:- действителната глава
- описание полета
- 0x0D (13) символ зад глава
Таблица 2. DBF-глава структура
Header 0x0D завършва описанието на характера (13)
Сега можем да направим някои изчисления. Например, за да се определи броя на полета в DBF-файл.
DBF-заглавна размер на файла в байтове е:
32 + 32xN + 1 байта, където N - брой области.
В същия размер може да бъде извлечен от заглавието байта 8,9 - HeaderSize
Следователно броят на полетата е:
N: = (HeaderSize-33) / 32 байта.
Изместен към HeaderSize байтове, считано от началото на файла, отиваме директно на действителните записи, размерът на които е уточнен в заглавната байта 10,11 - RecordSize. и броят им в байтове 04..07 - RecordsCount.
Структурата на запис в DBF-подаде по-лесно.
Структура на записите в DBF файл
Всеки запис има следната структура.
Таблица 5. Структура на записа на файл DBF-
заличаване флаг "*", или - на пропастта
Различни видове области на определена дължина
без терминатори
дължина поле п са дефинирани в 16 байт описание поле структура.
Завършва DBF файл характер 0x1A (26)
По този начин, като цяло, на записа - низ от знаци (с изключение на FS), състояща се от части (полета) с определен размер стриктно. Тези размери са в структурата на дефиниция поле в 16-ия байт.
Сега, чрез изследване на структурата на DBF-файлова структура, ние може да:- Вземи важна информация за DBF файл от първите си 32 байта
- Променете няколко важни ценности DBF файл:
- промяна на маса език шофьор
- развържем таблицата от файла с индекс
- по желание - нещо друго
- Определяне на броя и вида на полета в DBF файл
- Проследяване на унищожаването на DBF файл с глава на изчисляване на местоположението на заглавната част на прекратяване и го сравни с 0x0D (13)
- Опитайте се да се възстанови заглавната
- Създаване на примитивен драйвер за работа с DBF файл без BDE
- И много, много повече.
Малка например
В допълнение към материала: DBFCodePage.zip (1.7K) малък транскодер (език водач) ASCII ANSI Победа 1251 DBASE RUS cp866 и обратно.