Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.30;
Скачать: CL | DM;

Вниз

"Упаковка" таблицы   Найти похожие ветки 

 
Artem03   (2004-05-07 14:50) [0]

Подскажите команду для "упаковки" (ФИЗИЧЕСКОГО удаления помеченных как "удаленные" записей) таблицы. 5 лет тому назад я ей пользовался. Сейчас опять возникла необходимость.
Спасибо.


 
sniknik ©   (2004-05-07 14:58) [1]

PACK TABLE Table1 (если поддерживается тем что используеш)
DbiPackTable (если используеш то о чем не сказал)


 
Pul   (2004-05-07 16:59) [2]

procedure PackTable(Table: TTable);
var
 Props: CURProps;
 hDb: hDBIDb;
 TableDesc: CRTblDesc;
begin
 if not Table.Active then
 begin
   Application.MessageBox(PChar("Table Must Be Opened For Pack"),
     PChar("Error"), MB_ICONERROR);
   Exit;
 end;
 if not Table.Exclusive then
 begin
   Application.MessageBox(PChar("Table Must Be Opened Exclusive Mode"),
     PChar("Error"), MB_ICONERROR);
   Exit;
 end;
 Check(DbiGetCursorProps(Table.Handle, Props));
 if Props.szTableType = szPARADOX then
 begin
   FillChar(TableDesc, sizeof(TableDesc), 0);
   Check(DbiGetObjFromObj(hDBIObj(Table.Handle),
     objDATABASE, hDBIObj(hDb)));
   StrPCopy(TableDesc.szTblName, Table.TableName);
   StrPCopy(TableDesc.szTblType, Props.szTableType);
   TableDesc.bPack := True;
   Table.Close;
   Check(DbiDoRestructure(hDb, 1, @TableDesc, nil, nil, nil, False));
   Table.Open;
 end
 else
 if Props.szTableType = szDBASE then
 begin
{    Table.Close;}
   Check(DbiPackTable(Table.DBHandle, Table.Handle, nil, szDBASE, True));
{    Table.Open;}
 end
 else
 begin
   Application.MessageBox(PChar("Table Not Paradox Or DBase"),
     PChar("Error"), MB_ICONERROR);
   Exit;
 end;
end;



Страницы: 1 вся ветка

Текущий архив: 2004.05.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 1.234 c
11-1074712103
mike.dld
2004-01-21 22:08
2004.05.30
СиБилдер


4-1082289411
Torin
2004-04-18 15:56
2004.05.30
Drag&Drop


8-1079429376
Monk-Warrior
2004-03-16 12:29
2004.05.30
Размещение на форме картинки в формате gif


1-1084434874
Bless
2004-05-13 11:54
2004.05.30
Как узнать выделена память под указатель или нет?


1-1084657848
tamroF
2004-05-16 01:50
2004.05.30
____________ проблема с DLL