BCB编程经验几则
http://tech.ddvip.com 2006年03月31日 社区交流
本文详细介绍BCB编程经验几则
问:怎么实现TRichEdit的自动滚行?象某些阅读器那样的功能。
答:用ScrollWindowEx或者ScrollWindowEx就可以了。
ScrollWindow(RichEdit1- >Handle, 0, -1, NULL, NULL); //向下滚1个像素
ScrollWindow(RichEdit1- >Handle, 0, 1, NULL, NULL); //向上滚1个像素
问:在下最近在自己编组件,按照BCB的帮助提示做好了图标,也按照它的提示建立了联系,
但就是看不到自己的图标,只有默认的!!!
答:用IMAGE EDITOR编辑DCR文件,记信图标名称必须和组件名称相同,我说的是图标名称,不是文件名称。生成DCU文件后,用BRCC32.EXE对该DCR文件进行编译生成DCU文件,将DCU文件加入到BPK包中,编译、安装包应可以看到你自制组件的包了。
问:物理删除记录,用ADO压缩Access2000库的方法?
答:用ADO压缩Access2000库
#include "utilcls.h"
void CompactDatabase(String f1,String psw1, String f2,String psw2)
{
String Provider1="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ f1 + ";Jet OLEDB:Database Password=" + psw1;
String Provider2="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ f2 + ";Jet OLEDB:Database Password=" + psw2;
Variant Adoobj=Variant::CreateObject("JRO.JetEngine");
Adoobj.OleProcedure("CompactDatabase",Provider1,Provider2);
AdoObj.Clear();//释放ADO对象
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
String f1="yhecdagl1.mdb"; // 源库1
String psw1="yhecdagl"; // 密码1
String f2="yhecdagl2.mdb"; // 新目的库2
String psw2="yhecdagl2"; // 新密码2
String dir=ExtractFilePath(Application->ExeName);
if(FileExists(f2))
DeleteFile(f2);
CompactDatabase(dir+f1,psw1,dir+f2,psw2);
ShowMessage("Finished");
}
责编:豆豆技术应用