Советы по Delphi. Версия 1.0.6 - [16]
4-7 | 32-битное число | Количество записей в таблице |
8-9 | 16-битное число | Количество байтов, занимаемых заголовком |
10-11 | 16-битное число | Количество байтов, занимаемых записью |
12-14 | 3 байта | Зарезервированная область |
15-27 | 13 байт | Зарезервировано для сетевой версии dBASE III PLUS |
28-31 | 4 байта | Зарезервированная область |
32-n | 32 байта | Массив с описаниями полей (структура каждого такого описания показана ниже) |
n+1 | 1 байт | Хранится значение 0Dh, выполняющее роль терминатора описаний полей |
n – последний байт массива с описаниями полей. Размер массива зависит от количества полей в табличном файле.
Описание поля таблицы | ||
---|---|---|
Байт | Содержание | Описание |
0-10 | 11 байт | Имя поля в ASCII (заполнено нулями). |
11 | 1 байт | Тип поля в ASCII (C, D, L, M или N) |
12-15 | 4 байта | Адрес данных поля (ссылка на память, а не на диск) |
16 | 1 байт | Размер поля в бинарном формате |
17 | 1 байт | Порядковый номер поля в бинарном формате |
18-19 | 2 байта | Зарезервировано для сетевой версии dBASE III PLUS |
20 | 1 байт | ID рабочей области |
21-22 | 2 байта | Зарезервировано для сетевой версии dBASE III PLUS |
23 | 1 байт | Флаг установки поля |
24-31 | 1 байт | Зарезервированная область |
Записи в табличном файле располагаются непосредственно за заголовком таблицы. Данным записи предшествует байт, указывающий на удаленность записи: значение 20h (пробел) указывает что запись не удалена, значение 2Ah (звездочка) – запись была удалена. Поля упаковываются записями без разделителей полей или терминаторов записи. Конец файла помечается единственным байтом (с EOF-маркером), OEM-код которого соответствует значению 26 (1Ah). Вы можете ввести данные в кодовой странице OEM как показано ниже.
Допустимый тип данных таблиц dBASE | |
---|---|
Тип данных | Возможные значения |
C (Символы) | Все символы кодовой страницы OEM |
D (Дата) | Числа и символ-разделитель для месяца, дня и года (внутренний формат записи – 8 цифр в формате YYYYMMDD) |
N (Числовой) | – . 0 1 2 3 4 5 6 7 8 9 |
L (Логический) | ? Y y N n T t F f (? – не инициализировано) |
M (Мемо) | Все символы кодовой страницы OEM (внутренний формат записи – 10 цифр, содержащих номер .DBT-блока) |
MEMO-поля хранят данные в .DBT-файлах, состоящих из перечисляемых последовательных блоков (0, 1, 2 и т.д.). Размер блока равен 512 байт. Первый блок в .DBT-файле (нулевой блок) – заголовок .DBT-файла.
MEMO-поле каждой записи .DBF-файла содержит номер (значение указывается в кодовой странице OEM), указывающий на блок с хранимыми данными. Если поле не содержит никаких данных, .DBF-файл будет заполнен пробелами (20h) (а не числами).
В случае изменения данных какого-либо поля, блоки могут изменить свои порядковые номера для отображения новой позиции данных в .DBT-файле.
Данная информация взята из руководства по использованию dBASE III Plus ("Using dBASE III PLUS", Appendix C).
Заголовок табличного файла | ||
---|---|---|
Байт | Содержание | Описание |
0 | 1-й байт | Контроль файла dBASE под Windows: биты 0-2 указывают номер версии, бит 3 - наличие MEMO-файла dBASE IV или dBASE под Windows, биты 4-6 - наличие dBASE IV SQL-таблицы, бит 7 - наличие любого .DBT MEMO-файла (MEMO-файл таблицы dBASE III Plus, dBASE IV или dBASE под Windows) |
1-3 | 3 байта | Дата последнего обновления в формате YYMMDD |
4-7 | 32-битное число | Количество записей в таблице |
8-9 | 16-битное число | Количество байтов, занимаемых заголовком |
10-11 | 16-битное число | Количество байтов, занимаемых записью |
12-13 | 2 байта | Зарезервированная область, заполнена нулями |
14 | 1 байт | Флаг, указывающий на наличие незавершенной транзакции dBASE IV |
15 | 1 байт | Флаг кодировки таблицы dBASE IV |
16-27 | 12 байт | Зарезервированная область для многопользовательского использования dBASE IV |
28 | 1 байт | Флаг наличия MDX-файла: 01H - файл для данной таблицы присутствует, 00H - файл отсутствует |
29 | 1 байт | ID драйвера языка |
30-31 | 2 байта | Зарезервированная область, заполнена нулями |
32-n | по 32 байта | Массив с описаниями полей (структура данного массива показана ниже) |
n+1 | 1 байт | 0DH в качестве терминатора |
n - последний байт массива с описаниями полей. Размер массива зависит от количества полей в табличном файле.
Описание поля таблицы | ||
---|---|---|
Байт | Содержание | Описание |
0-10 | 11 байт | Имя поля в ASCII (заполнено нулями). |
11 | 1 байт | Тип поля в ASCII (C, D, F, L, M или N) |
12-15 | 4 байта | Зарезервированная область |
16 | 1 байт | Размер поля в бинарном формате |
17 | 1 байт | Порядковый номер поля в бинарном формате |
18-19 | 2 байта | Зарезервированная область |
20 | 1 байт | ID рабочей области |
21-30 | 10 байт | Зарезервированная область |
31 | 1 | байт Флаг MDX-поля: 01H если поле имеет метку индекса в MDX-файле, 00H – нет. |
Записи в табличном файле располагаются непосредственно за заголовком таблицы. Данным записи предшествует байт, указывающий на удаленность записи: значение 20h (пробел) указывает что запись не удалена, значение 2Ah (звездочка) – запись была удалена. Поля упаковываются записями без разделителей полей или терминаторов записи. Конец файла помечается единственным байтом (с EOF-маркером), OEM-код которого соответствует значению 26 (1Ah).
Допустимый тип данных таблиц dBASE | |
---|---|
Тип данных | Возможные значения |
C (Символы) | Все символы кодовой страницы OEM |
Java Enterprise Edition (Java EE) остается одной из ведущих технологий и платформ на основе Java. Данная книга представляет собой логичное пошаговое руководство, в котором подробно описаны многие спецификации и эталонные реализации Java EE 7. Работа с ними продемонстрирована на практических примерах. В этом фундаментальном издании также используется новейшая версия инструмента GlassFish, предназначенного для развертывания и администрирования примеров кода. Книга написана ведущим специалистом по обработке запросов на спецификацию Java EE, членом наблюдательного совета организации Java Community Process (JCP)
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Когда приходится инкапсулировать, то иногда лучше меньше, чем большеЯ начну со следующего утверждения: Если вы пишете функцию, которая может быть выполнена или как метод класса, или быть внешней по отношению к классу, Вы должны предпочесть ее реализацию без использования метода. Такое решение увеличивает инкапсуляцию класса. Когда Вы думаете об использовании инкапсуляции, Вы должны думать том, чтобы не использовать методы.Удивлены? Читайте дальше.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Embedded system software. General requirements for development and documentationСтандарт подготовлен в развитие ГОСТ Р ИСО/МЭК 12207-99 «Информационная технология. Процессы жизненного цикла программных средств» с целью учета специфики разработки и документирования программного обеспечения встроенных систем реального времени.
«Как пасти котов» – это книга о лидерстве и руководстве, о том, как первое совмещать со вторым. Это, если хотите, словарь трудных случаев управления IT-проектами. Программист подобен кошке, которая гуляет сама по себе. Так уж исторически сложилось. Именно поэтому так непросто быть руководителем команды разработчиков. Даже если вы еще месяц назад были блестящим и дисциплинированным программистом и вдруг оказались в роли менеджера, вряд ли вы знаете, с чего надо начать, какой выбрать стиль руководства, как нанимать и увольнять сотрудников, проводить совещания, добиваться своевременного выполнения задач.