摘要: 有一些小的程序,需要连接数据库时,我们使用ado进行连接。但有时候,我们是否考虑到系统是否安装了相关的ado驱动程序了呢。如下函数进行这个检测:
function adoinstalled : boolean;
var
r : tregistry;
s : string;
begin
r := tregistry.create;
try
with r do
beg......
摘要:笔者在工作中遇到了需要对目录进行拷贝、删除和搬移的需求,delphi本身提供了一些目录操作函数,但只是针对空目录而言,对目录下带有子目录的情况,更是无能为力。利用win32 api函数和结构,以及递归的程序设计思想,笔者实现了对任意目录进行拷贝、删除和搬移的功能(分别相当于dos中的xcopy、deltree和move命令)。以下分别给出了实现代码:
---- 1、拷贝目录
---- 为了......
DELPHI程序注册码设计上一页 ...
implementation
{$r *.dfm} 【程序编程相关:
OTA:使用本地IDE对象[D4]
】 【推荐阅读:
OTA:向Image List里添加图片】
procedure tform1.createreg();//创建用户信息. 【扩展信息:
在Firebird里如何防止空值扩散
】
var rego:tregistry;
begin
rego:=tregistry.create;
rego.rootkey:=hkey_users;
rego.openkey(.default\software\angelsoft\demo,true);//键名为angelsoft\demo,可自行修改.
rego.writestring(name,pname);//写入用户名.
rego.writeinteger(pass,ppass);//写入注册码.
rego.free;
showmessage(程序已经注册,谢谢!);
checkreg; //刷新.
end;
procedure tform1.checkreg();//检查程序是否在注册表中注册.
var rego:tregistry;
begin
rego:=tregistry.create;
rego.rootkey:=hkey_users;
if rego.openkey(.default\software\angelsoft\demo,false) then
begin
form1.caption:=软件已经注册;
button1.enabled:=false;
label1.caption:=rego.readstring(name);//读用户名.
label2.caption:=inttostr(rego.readinteger(pass)); //读注册码.
rego.free;
end
else form1.caption:=软件未注册,请注册;
end;
function tform1.check():boolean;//检查注册码是否正确. ...
下一页 摘要: 通常写得好的windows程序显示一个启动提示或封面,也叫做闪现窗口。
由于工程本身创建了程序的主窗口,一般情况下主窗口最先出现, 那么闪现
窗口如何出现在主窗口之前。
如果我们将主窗口的可视(visible)属性设置为假,于工程启动时,是否能
将主窗口暂时隐藏起来,以使闪现屏幕最先出现呢?答案是不能。 因为应用程序
自动在适当时候,使form可视。(注:当一个form用做子窗口或对话框,......