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

на главную - закладки

Жанры

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

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

Шрифт:

var

 Fields: TList;

 KeyValues: Variant;

 KeyNames: String;

 Bmk: TBookmark;

 I: Integer;

 BookmarkFound: Boolean;

 CanLocate: Boolean;

begin

 Fields := TList.Create;

 if KeyFields = '' then KeyFields := GetFieldNamesStr(Query);

 try

Query.GetFieldList(Fields, KeyFields);

for I := Fields.Count - 1 downto 0 do with TField(Fields[I]) do

if Calculated or Lookup then Fields.Delete(I);

CanLocate := Fields.Count > 0;

if CanLocate then begin

if Fields.Count = 1 then KeyValues := TField(Fields[0]).Value

else begin

KeyValues := VarArrayCreate([0, Fields.Count - 1], varVariant);

KeyValues[0] := TField(Fields[0]).Value;

end;

KeyNames := TField(Fields[0]).FieldName;

for I := 1 to Fields.Count - 1 do begin

KeyNames := KeyNames + ';' + TField(Fields[I]).FieldName;

KeyValues[I] := TField(Fields[I]).Value;

end;

end;

 finally

Fields.Free;

 end;

 with Query do begin

Bmk := nil;

DisableControls;

try

BookmarkFound := False;

if BookMarkSearch then Bmk := GetBookmark;

Close;

Open;

if Assigned(Bmk) then try

GotoBookMark(Bmk);

BookmarkFound := True;

except

end;

if not BookmarkFound and CanLocate then Locate(KeyNames, KeyValues, []);

finally

EnableControls;

Screen.Cursor := crDefault;

FreeBookmark(Bmk);

end;

 end;

end;

procedure TQuery.RefreshParams;

var DataSet: TDataSet;

begin

 DisableControls;

 try

if FDataLink.DataSource <> nil then begin

DataSet := FDataLink.DataSource.DataSet;

if DataSet <> nil then

if DataSet.Active and (DataSet.State <> dsSetKey) then

DoRefreshQuery(Self, GetFieldNamesStr(Self), False);

end;

 finally

EnableControls;

 end;

end;
 

Как

заставить BDE сохранять в БД поле времени с сотыми долями секунды?

Nomadic отвечает:

Если руками, то в BDE Administrator (BDE Configuration Utility).

Если при инсталляции твоей программы, то –

В пункте Make Registry Changes InstallShield'а создай ключ

HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine\Settings\SYSTEM\FORMATS\TIME\MILSECONDS=TRUE
 

Запись буфера BDE на диск

Delphi 1 

Общее:

Сделанные в таблице изменения непосредственно на диск не записываются до тех пор, пока таблица не будет закрыта. Потеря питания или сбой в системе может привести к потере данных и прочим неприятностям. Чтобы избежать этого, существует два прямых вызова Database Engine, дающих один и тот же результат. Эти функции – DbiUseIdleTime и DbiSaveChanges.

DbiSaveChanges(hDBICur):

DbiSaveChanges сохраняет на диске все обновления, находящиеся в буфере таблицы, связанной с курсором (hDBICur). Может быть вызвана из любого места программы. Например, можно при каждом обновлении записи сохранять на диске все изменения (добавьте dbiProcs в список используемых модулей):

procedure TForm1.Table1AfterPost(DataSet: TDataSet);

begin

 DbiSaveChanges(Table1.handle);

end;

Поделиться:
Популярные книги

Последний Паладин. Том 2

Саваровский Роман
2. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 2

Зубных дел мастер

Дроздов Анатолий Федорович
1. Зубных дел мастер
Фантастика:
научная фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Зубных дел мастер

Истребитель. Ас из будущего

Корчевский Юрий Григорьевич
Фантастика:
боевая фантастика
попаданцы
альтернативная история
5.25
рейтинг книги
Истребитель. Ас из будущего

Честное пионерское! Часть 3

Федин Андрей Анатольевич
3. Честное пионерское!
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Честное пионерское! Часть 3

Обгоняя время

Иванов Дмитрий
13. Девяностые
Фантастика:
попаданцы
5.00
рейтинг книги
Обгоняя время

Страж. Тетралогия

Пехов Алексей Юрьевич
Страж
Фантастика:
фэнтези
9.11
рейтинг книги
Страж. Тетралогия

Магия чистых душ

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.40
рейтинг книги
Магия чистых душ

Имя нам Легион. Том 4

Дорничев Дмитрий
4. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 4

Девятый

Каменистый Артем
1. Девятый
Фантастика:
боевая фантастика
попаданцы
9.15
рейтинг книги
Девятый

Морской волк. 1-я Трилогия

Савин Владислав
1. Морской волк
Фантастика:
альтернативная история
8.71
рейтинг книги
Морской волк. 1-я Трилогия

Отмороженный 8.0

Гарцевич Евгений Александрович
8. Отмороженный
Фантастика:
постапокалипсис
рпг
аниме
5.00
рейтинг книги
Отмороженный 8.0

Совершенный: охота

Vector
3. Совершенный
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Совершенный: охота

Калибр Личности 1

Голд Джон
1. Калибр Личности
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Калибр Личности 1

Личник

Валериев Игорь
3. Ермак
Фантастика:
альтернативная история
6.33
рейтинг книги
Личник