Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Восстановление записи dBase

Автор: Loren Scott

После удаления записи из таблицы (dBase), возможно ли ее восстановить? Какие идеи?


function GetTableCursor(oTable: TTable): hDBICur;
var
  szTable: array[0..78] of Char;
begin
  StrPCopy(szTable, oTable.TableName);
  DbiGetCursorForTable(oTable.DBHandle, szTable, nil, Result);
end;

function dbRecall(oTable: TTable): DBIResult;
begin
  Result := DbiUndeleteRecord(GetTableCursor(oTable)));
end;

Могли бы вы дать пример использования функции?

Предположим, у вас на форме имеется кнопка (с именем 'butRecall'), восстанавливающая текущую отображаемую (или позиционируемую курсором) запись, данный код, будучи расположенный в обработчике события кнопки OnClick (вместе с опубликованным выше кодом), это демонстрирует (продвигаясь в наших предположених дальше, имя вашего объекта TTable - Table1 и имя текущей формы - Form1):


procedure TForm1.butRecallClick(Sender : TObject);
begin
  if dbRecall( Table1 ) <> DBIERR_NONE then
    ShowMessage( 'Не могу восстановить запись!' );
end;

Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay