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

Вызов TUTILITY

Delphi , Базы данных , Paradox

Вызов TUTILITY


var
  Session: hTUses;
  i: integer;
  ErrorCode: word;
  ResultCode: word;

procedure BdeError(ResultCode: Word);
begin
  if ResultCode <> 0 then
    raise Exception.CreateFmt('BDE ошибка %x', [ResultCode]);
end;

begin
  try
    BdeError(DbiInit(nil));
    BdeError(TUInit(@Session));

    for i := 1 to High(TableNames) do
    begin
      WriteLn('Проверка ' + TableNames[i]);

      ResultCode := TUVerifyTable(Session, @TableNames[i, 1], szPARADOX,
        'TABLERRS.DB', nil, TU_Append_Errors, ErrorCode);
      BdeError(ResultCode);

      if ErrorCode = 0 then
        WriteLn('Успешно')
      else
        WriteLn('ОШИБКА! -- Для информации смотри TABLERRS.DB!');

      WriteLn('');
    end;
  finally
    BdeError(TUExit(Session));
    BdeError(DbiExit);
  end;
end.

Программа на языке Delphi использует Библиотеку данных Borland (BDE) для проверки существования таблиц в файле базы данных Paradox с именем "TABLERRS.DB". Программа инициализирует BDE, инициализирует сессию с базой данных, а затем перебирает массив имен таблиц для проверки их наличия в базе данных. Если таблица найдена, она выводит сообщение о успехе; если нет, то выводит сообщение об ошибке вместе с информацией об ошибке.

Разбивка кода:

  1. Переменная Session объявлена как hTUses, что является типом handle для сессии BDE.
  2. Переменная i объявлена как integer.
  3. Переменные ErrorCode и ResultCode объявлены как word, которые являются 16-разрядными неотрицательными целыми числами, используемыми для хранения кодов ошибок, возвращаемых функциями BDE.
  4. Процедура BdeError принимает единственный аргумент типа Word, который является результатом кодом из вызова функции BDE. Если результат код не равен нулю (т.е., произошла ошибка), она поднимает исключение с сообщением, форматированным с помощью метода CreateFmt, которое включает код ошибки.
  5. Главная программа блока начинается с try-finally блоком для обеспечения закрытия сессии BDE и базы данных при завершении программы.
  6. Внутри блока try:
    • Вызывается функция DbiInit(nil) для инициализации BDE. Если вызов этого метода неудачен, он поднимает исключение.
    • Вызывается функция TUInit(@Session) для инициализации сессии TUtility (TU) с базой данных. Если вызов этого метода неудачен, он поднимает исключение.
  7. Цикл перебирает массив имен таблиц с помощью функций High и WriteLn. Для каждой таблицы:
    • Вызывается функция TUVerifyTable для проверки наличия таблицы в базе данных. Эта функция возвращает результат код, указывающий, была ли таблица найдена или нет.
    • Если результат код не равен нулю (т.е., произошла ошибка), она поднимает исключение с помощью процедуры BdeError.
    • Если результат код равен нулю, она выводит сообщение о успехе; иначе, она выводит сообщение об ошибке с информацией об ошибке.
  8. Блок finally:
    • Вызывается функция TUExit(@Session) для закрытия сессии TU с базой данных. Если вызов этого метода неудачен, она поднимает исключение с помощью процедуры BdeError.
    • Вызывается функция DbiExit() для закрытия BDE.

Обратите внимание, что код написан на языке Delphi и использует типы и функции, специфические для Borland (например, hTUses, TUInit, TUVerifyTable). Это может не быть совместимо с другими языками программирования или фреймворками.

В статье представлен код на языке Pascal, демонстрирующий вызов функции TUTILITY для инициализации сессии BDE, проверки таблиц в БД Paradox и вывода результатов выполнения операций.


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

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




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


:: Главная :: Paradox ::


реклама


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

Время компиляции файла: 2024-12-22 20:14:06
2025-06-16 15:43:09/0.0031530857086182/0