1. Работа с таблицей в целом
CreateTable
Метод создает таблицу с
предварительно заданным набором полей. Для
добавления полей используются методы работы со
структурой таблицы.
Zap
Уничтожает
все записи в таблице. В каталоге с исходным
файлом создается резервная копия на случай
отмены очистки таблицы. Она имеет имя исходной
таблицы и расширение .bak.
Append
Добавляет
новую пустую запись в конец файла.
Pack
Удаляет из таблицы все
помеченные записи. В каталоге с исходным файлом
создается резервная копия на случай отмены
удаления. Она имеет имя исходной таблицы и
расширение .bak.
2. Работа со структурой таблицы
Модификация существующей таблицы не поддерживается, однако ее можно реализовать, используя два экземпляра класса.
AddField
Добавляет
в структуру новое поле. . Характеристики поля
задаются параметром NewField, который позволяет описать сразу
все параметры поля или задать их отдельными
параметрами.
AddNumeric
Добавляет
в структуру числовое поле с фиксированной
точкой.
AddFloat
Добавляет
в структуру числовое поле с плавающей точкой.
AddCharacter
Добавляет
в структуру символьное поле. Требует указания
только имени и длины поля.
AddDate
Добавляет
в структуру поле для хранения дат. Требует
указания только имени поля.
AddLogical
Добавляет
в структуру логическое поле. Требует указания
только имени поля.
ImportStructure
Импортирует
структуру создаваемой таблицы из
имеющейся. В создаваемой таблице не должно быть
полей. Таблица с именем файла, указанным в
конструкторе, создается автоматически.
3. Работа с записями
DeleteRecord
Помечает
запись на удаление.
UndeleteRecord
Снимает
пометку записи на удаление.
IsRecordDeleted
Определяет,
помечена ли указанная запись на удаление.
ExchangeRecords
Обменивает
две записи местами.
Sort
Сортирует
записи. Использует сортировку методом пузырька,
физически переставляя записи. Такая сортировка
пригодна только для очень маленьких таблиц из-за
низкой скорости.
4. Запись и чтение данных
Для записи и чтения
предусмотрены процедуры и функции, позволяющие
программисту указывать либо номер поля, либо его
имя. Запись, тем не менее, все равно происходит по
номеру поля, потому что определить положение
начального байта поля не зная его
номера невозможно.
WriteValue
Записывает
значение в запись и поле указанные
в параметрах RecordNumber и FieldNumber соответственно. Тип
записываемого значения и само значение
указываются в параметре NewValue. При несовпадении указанного
типа значения и типа поля таблицы возбуждается
исключение.
WriteCharacter
Записывает
симовольное значение. Если указанное поле
другого типа, то возбуждается исключение.
WriteNumeric
Записывает
значение с фиксированной точкой. Если указанное
поле другого типа, то возбуждается исключение.
WriteDate
Записывает
значение-дату. Если указанное поле другого типа,
то возбуждается исключение.
WriteLogical
Записывает
логическое значение. Если указанное поле другого
типа, то возбуждается исключение.
WriteFloat
Записывает
значение с плавающей точкой. Если указанное поле
другого типа, то возбуждается исключение.
WriteNULL
Записывает
значение Null.
Все байты заданного поля заполняются символом 00h.
GetField
Возвращает
значение и тип данных поля таблицы. Если оно
пустое, то в поле результата IsNull возвращается значение true.
ReadCharacter
Возвращает
значение строкового поля. Лишние пробелы
автоматически удаляются. Если поле не
символьное, возбуждается исключение. При
обнаружении пустого значения исключение не
возбуждается, так как разработчики некоторых
программных комплексов не делают разницы между
пустой строкой и значением Null.
ReadDate
Возвращает
значение поля даты. Если поле имеет другой тип
или пустое значение, возбуждается исключение.
ReadNumeric
Возвращает
значение поля с фиксированной точкой. Если поле
имеет другой тип или пустое значение,
возбуждается исключение.
ReadLogical
Возвращает
значение логического поля. Если поле имеет
другой тип или пустое значение, возбуждается
исключение.
ReadFloat
Возвращает
значение поля с плавающей точкой. Если поле имеет
другой тип или пустое значение, возбуждается
исключение.
ReadAsString
Читает
содержимое поля и преобразовывает результат в
строку. Типы данных приводятся к строковому
представлению с помощью функций FloatToStr и DateToStr, для логического типа в
зависимости от способа его записи возвращаются
строки 'true', 'false', 'yes' или 'no'. Функция
предназначена для работы с компонентами типа TStringGrid, TLabel, TEdit и т. д.
ReadInteger
Функция
приводит прочитанное значение к целому типу с
помощью функции Trunc. Предназначена
для работы с числовыми полями, заведомо
содержащими только целые значения, избавляя
программиста от необходимости приводить
значения прочитанных из полей типа Numeric или Float к
целому типу самому. Работая с этой функцией нужно
быть уверенным, что в поле возможны только целые
значения, так как дробная часть просто
отбрасывается.
5. Получение информации о таблице.
IsFieldExists
Определяет,
существует ли в таблице поле с заданным именем.
GetFieldLength
Возвращает
длину поля с указанным номером.
GetFieldName
Возвращает
имя поля с указанным номером.
GetFieldType
Возвращает
тип поля с указанным номером.
GetFieldDecimals
Возвращает
количество десятичных знаков в поле. Для
нечисловых полей возвращается 0.
GetFieldParameters
Возвращает
все характеристики поля.
GetFieldNumber
Возвращает
номер поля по его имени.
6. Поиск значений.
При обычном поиске
производится последоватьельный просмотр всех
записей, начиная с указанной и в
указанном направлении. Если искомое значение не
найденно, возвращается 0, иначе возвращается
номер записи, содержащей искомое значение.
FindCharacter
Производит поиск в символьном поле и
возвращает номер первой найденной записи с
указанным значением.
FindNumericOrFloat
Производит
поиск в числовом поле и возвращает номер первой
найденной записи с указанным значением.
FindDate
Производит
поиск в поле даты и возвращает номер первой
найденной записи с указанным значением.
FindLogical
Производит
поиск в логическом поле и возвращает номер
первой найденной записи с указанным значением.
FindCharacterBinary
Осуществляет
двоичный поиск в символьном поле, содержащем
уникальные значения и отсортированном по
возрастанию.
FindNumericOrFloatBinary
Осуществляет
двоичный поиск в числовом поле, содержащем
уникальные значения и отсортированном по
возрастанию.
FindDateBinary
Осуществляет
двоичный поиск в поле даты, содержащем
уникальные значения и отсортированном по
возрастанию.