Чтение онлайн

ЖАНРЫ

Советы по Delphi. Версия 1.4.3 от 1.1.2001

Озеров Валентин

Шрифт:

begin

 UpdateCfgFile('\SYSTEM\INIT', 'DEFAULT DRIVER', Value);

 FDefaultDriver := Value;

end;

procedure TBDEConfig.SetAutoODBC(Value : Boolean);

begin

 UpdateCfgFile('\SYSTEM\INIT', 'AUTO ODBC', BooleanToStr(Value));

 FAutoODBC := Value;

end;

procedure TBDEConfig.UpdateCFGFile;

var

 h : hDbiCur;

 pCfgDes: pCFGDesc;

 pPath : array[0..127] of char;

begin

 StrPCopy(pPath,Path);

 Check(DbiOpenCfgInfoList(nil, dbiREADWRITE, cfgPersistent, pPath, h));

 GetMem(pCfgDes, sizeof(CFGDesc));

 try

FillChar(pCfgDes^, sizeof(CFGDesc), #0);

while (DbiGetNextRecord(h, dbiWRITELOCK, pCfgDes, nil) = DBIERR_NONE) do begin

if StrPas(pCfgDes^.szNodeName) = item then begin

StrPCopy(pCfgDes^.szValue, value);

Check(DbiModifyRecord(h, pCfgDes, True));

end;

end;

 finally

FreeMem(pCfgDes, sizeof(CFGDesc));

if (h <> nil) then DbiCloseCursor(h);

 end;

end;

constructor TBDEConfig.Create(AOwner: TComponent);

begin

 inherited Create(AOwner);

 Init;

end;

destructor TBDEConfig.Destroy;

begin

 inherited Destroy;

end;

end.

Eryk Bottomley

Default Cursor

после завершения выполнения запросов

Тема: Возврат курсора по умолчанию после выполнения запроса

Почему мышиный курсор не возвращается обратно (не становится обычной стрелкой) после выполнения запроса?

При выполнении открытого запроса, Delphi изменяет для вас курсор, и произойти это может даже в середине события, как, например, при нажатии на кнопку. Приведенный ниже пример отобразит курсор в виде иконки песочных часов (SQL Hourglass Icon) после того, как вы закроете окно с сообщением. При этом мышь будет вести себя так, как будто находится в режиме "стрелки".

//
Добавьте к обработчику события нажатия кнопки,

// использование запроса при этом не имеет значения

// Select * from Customer (в IBLocal)

with query1 do begin

 close;

 open;

 showmessage(IntToStr(RecordCount));

end; // with

При наступлении события, Delphi пробует обратно придать курсору тип стрелки (Arrow), при этом выводится новая форма (диалог showmessage), которая мешает автоматическому переводу курсора в режим стрелки.

Для решения этой проблемы нужно добавить Application.ProcessMessages прежде, чем форма будет показана, это позволит обработать все сообщения, скопившиеся в очереди (и очистить ее), после чего мышиный курсор вновь пример нормальную форму.

// Добавьте к обработчику события нажатия кнопки,

// использование запроса при этом не имеет значения

// Select * from Customer (в IBLocal)

with query1 do begin

 close;

 open;

 application.ProcessMessages; // Добавьте эту строку.

 showmessage(IntToStr(RecordCount));

end; // with
 

Протокол блокировки BDE

Тема: BDE и Database Desktop Locking Protocol

Предполагаемая аудитория

Данная информация будет полезна каждому, кто решил разрабатывать приложения для работы с базами данных с использованием Delphi и BDE.

Предварительные условия

Базовые знания или интерес к протоколам блокировки Paradox и форматам таблиц.

Цель

Дать пользователям лучшее понимание протокола блокировки таблицы.

Таблицы, типы полей и поддерживаемые характеристики

Каждый следующий выпуск Paradox, начиная с версии 2.0, содержал улучшения структуры таблицы. Все типы таблиц Paradox, начиная с Paradox 1.0 и заканчивая Paradox 3.5, совместимые друг с другом.

Paradox 4.0 добавляет новый тип данных к формату таблиц: Binary Large Objects (бинарные большие объекты), обычно известные как BLOb'ы, и новые типы вторичных индексов. Paradox 4.0 поддерживает два типа BLOb-полей: Memo и BLOb. Paradox старее версии 4.0 и Engine до версии 3.0 не могут читать, писать и создавать этот новый табличный формат. При попытке чтения или записи таблиц типа Paradox 4.0 более ранней версией Paradox, вы получите ошибку о защите таблицы паролем.

Paradox 5.0 добавляет несколько новых типов данных к формату таблиц: Long Integer, Time, TimeStamp, Logical, Autoincrement, BCD, Bytes. Paradox 7.0 добавляет наследуемый вторичный индекс. Создание или любое изменение таблицы переводит ее формат на новый уровень, включающий все вышеописанные характеристики. По умолчанию создаваемая с использованием Database Desktop или BDE (Borland Database Engine) таблица имеет тип Paradox 4.0. Данный тип, заданный по умолчанию, может быть изменен с помощью утилиты BDE configuration utility или Database desktop configuration utility, и ему может быть присвоен тип Paradox 3, 4, 5 или 7 для BDE.

Поделиться с друзьями: