Info Power2000的wwTable就有Pack功能。
解决方案 »
- 如何获取窗体中Button1按钮当前的onClick事件的名称
- 搞了大半年ado+access,现在想转到用interbase数据库,想问几个基础性的问题?
- google又不能访问了!!!
- Delphi与C语言做的dll文件的兼容性问题
- 不用复制、粘贴,这样把通过:“DBImage1”把图片传输到数据库中,急!
- 程序中怎样做和SQL SERVER 中用同样功能的数据备份与恢复(也是对SQL SERVER中的数据进行备份与恢复)
- 一个简单的问题,求教
- 这个表应该怎么建?
- 一个兼职的程序员妹妹
- 请问如何用TextFile删除文件的指定行?
- 一窗体中需要调用A表,先查询,后修改,这样一定要同时建立Ttable和Tquery,先用TQUERY查询,再用TTABLE修改??否则该怎么做???
- *****我的程序也出了个EOleException。不知是不是Ado的问题????
http://www.jd365.net/kangwei/
另外:请教一个问题:注册热键时,应该怎么取值:我用Hotkey取出来注册的Ctrl+Shift+A的值为24641,而Windowse是833;我该怎么处理??
谢谢?????
function packalltable(databasename:string):boolean;
var
i:integer;
table:ttable;
packtablelist:tstringlist;
procedure PackTable(tmpTable: TTable);
var
Props: CURProps;
hDb: hDBIDb;
TableDesc: CRTblDesc;
begin
tmpTable.active:=false;
tmpTable.exclusive:=true;
tmpTable.active:=true;
Check(DbiGetCursorProps(tmpTable.Handle, Props));
if Props.szTableType = szPARADOX then
begin
FillChar(TableDesc, sizeof(TableDesc), 0);
Check(DbiGetObjFromObj(hDBIObj(tmpTable.Handle), objDATABASE, hDBIObj(hDb)));
StrPCopy(TableDesc.szTblName, tmpTable.TableName);
StrPCopy(TableDesc.szTblType, Props.szTableType);
TableDesc.bPack := True;
tmpTable.Close;
Check(DbiDoRestructure(hDb, 1, @TableDesc, nil, nil, nil, False));
end
else
if (Props.szTableType = szDBASE) then
Check(DbiPackTable(tmpTable.DBHandle, Table.Handle, nil, szDBASE, True))
else
raise EDatabaseError.Create('表必须是 Paradox 或 dBASE 类型...');
tmpTable.active:=false;
end;
begin
try
result:=false;
packtablelist:=tstringlist.create;
packtablelist.clear;
packtablelist.add('table1');
packtablelist.add('table2');
......
packtablelist.add('tablen');
table:=ttable.create(application);
table.databasename:=databasename;
for i:=0 to packtablelist.count-1 do
begin
table.tablename:=trim(packtablelist.strings[i]);
packtable(table);
end;
packtablelist.free;
table.free;
result:=true;
except
result:=false;
end;
end;
我想知道如何将Paradox已删除的记录恢复???