Восстановление записи dBase
Материал из DRKB
Восстановление записи 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;
Author: Loren Scott
Source: Взято из Советов по Delphi от Валентина Озерова
ID: 02702
procedure RecordUndelete(ATable: TTable);
begin
ATable.UpdateCursorPos;
try
Check(DbiUndeleteRecord(ATable.Handle));
except
ShowMessage('No undelete performed.');
end;
end;
Source: Взято с сайта http://www.swissdelphicenter.ch/en/tipsindex.php
ID: 02703