Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Пакование таблицы

Delphi , Базы данных , Таблицы

Пакование таблицы

- Христос воскрес! - Fixed.


function dgPackParadoxTable(Tbl: TTable; Db: TDatabase): DBIResult;
{ Packs a Paradox table by calling the BDE DbiDoRestructure
function. The TTable passed as the first parameter must
be closed. The TDatabase passed as the second parameter
must be connected. }
var
  TblDesc: CRTblDesc;
begin
  Result := DBIERR_NA;
  FillChar(TblDesc, SizeOf(CRTblDesc), 0);
  StrPCopy(TblDesc.szTblName, Tbl.TableName);
  TblDesc.bPack := True;
  Result        := DbiDoRestructure(Db.Handle, 1, @TblDesc, nil, nil, nil, False);
end;

function dgPackDbaseTable(Tbl: TTable): DBIResult;
{ Pack a dBASE table by calling DbiPackTable. The table
passed as a parameter will be opened if it isn't open. } 
begin 
  Result := DBIERR_NA; 
  if Tbl.Active = False then 
    Tbl.Open; 
  Result := DbiPackTable(Tbl.DBHandle, Tbl.Handle, 
    nil, nil, True); 
end;

Пара функций для упаковки таблиц Paradox и dBASE!

Вот подробное описание каждой функции:

dgPackParadoxTable Эта функция упаковывает таблицу Paradox, вызывая функцию DbiDoRestructure из BDE (Borland Database Engine). Функция принимает два параметра: Tbl, закрытый объект TTable, и Db, подключенный объект TDatabase. Она возвращает значение DBIResult.

Вот, что функция делает:

  1. Инициализирует переменную Result значением DBIERR_NA (не доступно).
  2. Заполняет структуру CRTblDesc нулями.
  3. Копирует имя таблицы из объекта Tbl в поле szTblName структуры CRTblDesc.
  4. Устанавливает поле bPack структуры CRTblDesc в значение True, указывая, что упаковка желаемая.
  5. Вызывает функцию DbiDoRestructure с параметрами:
    • Db.Handle: Объект базы данных из подключенного объекта TDatabase.
    • 1: Неизвестный параметр (может быть флагом или режимом?).
    • @TblDesc: Указатель на структуру CRTblDesc.
    • nil, nil и nil: Неизвестные параметры (могут использоваться для обработки ошибок или журналирования?).
    • False: Показывает, что не должна начаться транзакция. Функция возвращает результат вызова функции DbiDoRestructure, который хранится в переменной Result.

dgPackDbaseTable Эта функция упаковывает таблицу dBASE, вызывая функцию DbiPackTable. Функция принимает один параметр: Tbl, объект TTable, который будет открыт, если он не уже открыт. Она также возвращает значение DBIResult.

Вот, что функция делает:

  1. Инициализирует переменную Result значением DBIERR_NA.
  2. Проверяет, является ли объект Tbl активным (то есть, открыт). Если нет, открывает таблицу с помощью метода Open.
  3. Вызывает функцию DbiPackTable с параметрами:
    • Tbl.DBHandle: Объект базы данных из объекта TTable.
    • Tbl.Handle: Объект таблицы из объекта TTable.
    • nil, nil и True: Неизвестные параметры (могут использоваться для обработки ошибок или журналирования?). Функция возвращает результат вызова функции DbiPackTable, который хранится в переменной Result.

В целом, эти функции предоставляют способ упаковки таблиц Paradox и dBASE с помощью встроенной функциональности BDE. Первая функция использует DbiDoRestructure для таблиц Paradox, а вторая функция использует DbiPackTable для таблиц dBASE.

Пакетная функция для компиляции и упаковки таблиц Paradox и dBASE в Delphi.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Таблицы ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 11:59:31/0.0052659511566162/1