Текущий архив: 2002.03.28;
Скачать: CL | DM;
ВнизPack Найти похожие ветки
← →
roman001 (2002-02-28 18:58) [0]Подскажите пожалуйста как програмно паковать парадоксовые таблицы, а то они пухнит на глазах
← →
kirill2000 (2002-02-28 20:25) [1]Необходимо скачать библиотеку по адресу http://alvg.far.ru/files/rxd6.exe установить ее, а затем включить модуль BDEUtils.pas в свой проект (в Uses). Тогда будет доступен метод PackTable(TTable)
← →
SDS (2002-02-28 23:09) [2]Вот код, одна процедура пакует одну таблицу, вторая все таблицу по имени алияса
Одна таблица
procedure PackParadoxTable(const ADatabaseName : string; const ATableName : string);
var
TblDesc : CRTblDesc;
TempDBHandle : HDBIDb;
begin
FillChar(TblDesc, sizeof(TblDesc), 0);
with TblDesc do begin
StrPCopy(szTblName, ATableName);
StrCopy(szTblType, szPARADOX);
bPack := true;
end;
try
Check(dbiOpenDatabase(PChar(ADatabaseName), Nil, dbiREADWRITE, dbiOpenExcl, Nil, 0, Nil, Nil, TempDBHandle));
try
Check(dbiDoRestructure(TempDBHandle, 1, @TblDesc, Nil, Nil, Nil, false));
finally
dbiCloseDatabase(TempDBHandle);
end;
except
end;
end;
Все таблицы
procedure PackAllParadoxTables(const ADatabaseName : string);
var
List : TStrings;
i : integer;
NewSession : TSession;
begin
NewSession := TSession.Create(nil);
List := TStringList.Create;
try
NewSession.SessionName := "NewSession";
NewSession.KeepConnections:= False;
NewSession.Open;
NewSession.GetTableNames(ADatabaseName, "*.db",False, False, List);
for i := 0 to List.Count - 1 do
PackParadoxTable(ADatabaseName, List[i]);
finally
List.Free;
NewSession.Free;
end;
end;
← →
deleon (2002-03-01 09:02) [3]Еще одна библиотека компонент для работы с BDE и таблицами:
http://www.dbwork.kuban.ru/download/degisydb.zip
← →
roman001 (2002-03-03 19:20) [4]Спасибо, буду пробовать
Страницы: 1 вся ветка
Текущий архив: 2002.03.28;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.006 c