-
Delphi 判断文件是否被占用
Delphi 判断文件是否被占用,这个在删除的时候,可以添加上此功能,因为文件占用的话,用户删除时会出错,用本代码可以先判断一下文件是否被占用,用弹窗方式告诉用户是否可以删除,如果没有被占用,则程序进行下一步处理。下面简要了解一下判断的具体代码(局部):
on E:EInOutError do
begin
if e.ErrorCode=32 then//文件正在被使用
begin
result:=true;
exit;
end;
end;
更完整的可编译源码,请下载。
- 2023-09-02 10:00:03下载
- 积分:1
-
Delphi设计制作BMP图像的推拉动画效果
Delphi设计制作BMP图像的推拉动画效果,类似PPT幻灯片中的图像飞入效果,图片本应该在窗口上显示,但经过本代码的控制后,图像由底部向上部被推出来,其实就是由下到上的图片滑动效果,有兴趣的可下载源码参考主文件代码。
注:本程序好像只对BMP图像有效,其它格式如JPG/gif等图像暂且不支持该动画效果。
- 2022-02-03 23:17:10下载
- 积分:1
-
Delphi 使用PSAPI.dll枚举Window7 进程及页面内存信息
Delphi 在Windows NT/2000 环境下使用PSAPI获取进程的信息演示,其实在Window7环境下同样也可枚举到进程及页面内存信息,可以列举所有正在运行的进程,正在运行的所有进程,鼠标双击有进程的详细信息,可以得到某一进程的模块、页面等信息,以及内存映射的文件名。
如果列举进程出错,请确认是否安装了PSAPI.DLL。
本程序除了列举进程外,还可列举设备信息。运行效果请参见截图所示。
- 2022-07-02 19:53:17下载
- 积分:1
-
Delphi 邮件短信发送自动通知系统
Delphi 邮件短信自动通知系统,并且支持邮件发送、邮件帐户管理、类似于微软Windows中的Outlook邮件客户端的功能,可添加邮箱帐户自动收集,并在有新邮件时提示用户登录查看。本程序可发送适合到用户手机来通知邮件情况,部分功能需要依赖于硬件支持。
程序可最小化到windows托盘处显示图标,通过定义好的右键菜单来调出主窗口,虽然是一个发邮件的小程序,但是暗含的Delphi技巧有很多哦,欢迎下载源码研究学习。
1.实现邮件检测功能:
(1)注册账号,注意正确添写POP3服务器,用户名,密码。
2.实现发送短信功能:
(1)在注册账号时要添写正确的手机号码,并选中发送到手机的复选框。
(2)跟据自己购买的GSM模块说明书设置串口参数,一般是“19200,n,8,1”。
(3)添写当地短信中心号码,前面的86可加可不加,如果没有写,系统在按“确定”后会自动加上。
(4)注意:如果短信中含有中文字符,则一定要设成Pdu模式,否则短信可能发送失败。
- 2023-07-27 17:40:06下载
- 积分:1
-
又一款基于数据库的Delphi图书管理系统
又一款基于数据库的Delphi图书管理系统,源代码完整供参考学习Delphi的数据库编程。
高手可在此基础上开发完善出功能更强大的图书管理系统。
本系统目前具备的功能模块有:基本信息设置、图上登记、注销及管理、读者管理、借阅管理、综合信息查询、图书登记等。
- 2023-06-04 01:55:03下载
- 积分:1
-
Delphi TreeView来显示数据库信息
Delphi 使用TreeView来显示数据库信息,从数据库中读取数据,然后生成树形交叉节点的菜单,这种菜单通俗的叫做“树形菜单”,也是大家平时比较常见的菜单形式之一。
function TreeAddItem(Sender: TTreeView;ItemList: TStrings;BookMark: TBookMark;Resort: Boolean):TTreeNode;
var
ThisNode,Node: TTreeNode;
i: integer;
begin
Node := Nil;
for i := 0 to ItemList.Count-1 do
begin
ThisNode := TreeFindItem(Sender,Node,ItemList[i]);
if(ThisNodeNil) then Node := ThisNode
else begin
if I then begin
if I=0 then Node := Sender.items.Add(Node, Itemlist[i])
else Node := Sender.items.AddChild(Node, Itemlist[i]);
end
else begin
if I=0 then Node := Sender.items.AddObject(Node, Itemlist[i],Bookmark)
else Node := Sender.items.AddChildObject(Node, Itemlist[i],Bookmark);
end;
Node.stateIndex := Node.level + 1;
if Resort and (Node.parent nil) then Node.parent.alphasort;
end;
end;
Result := Node;
end;
- 2022-02-02 14:05:08下载
- 积分:1
-
Delphi 获取磁盘序号
Delphi 获取磁盘序号,获取序号非磁盘编号,也不是序列号。运行后的效果如图所示,应该是所选择的磁盘在我的电脑中的排列序号。
操作时,只需选择对应的盘符,然后单击按钮即可,请参见测试截图所示。
- 2022-07-24 20:22:04下载
- 积分:1
-
Delphi窗口淡入淡出渐变fadein fadeout动画效果
Delphi实现窗口的淡入淡出渐变fadein fadeout动画效果,除了渐变,还有其它的动画形式,比如从中心扩散、水平从左到右、水平从右到左、垂直从上到下、垂直从下到上等。本实例默认状态下是使用了淡入淡出渐变,其它动画效果被注释掉了,如果你想用,可以去掉注释标记。
//淡入效果
//AnimateWindow(self.Handle,1000,AW_CENTER or AW_ACTIVATE);
//从中心扩散
//AnimateWindow(self.Handle,1000,AW_HOR_POSITIVE or AW_ACTIVATE);
//AnimateWindow(self.Handle,1000,AW_SLIDE or AW_HOR_POSITIVE or AW_ACTIVATE);
//水平从左到右
//AnimateWindow(self.Handle,1000,AW_HOR_NEGATIVE or AW_ACTIVATE);
//AnimateWindow(self.Handle,1000,AW_SLIDE or AW_HOR_NEGATIVE or AW_ACTIVATE);
//水平从右到左
//AnimateWindow(self.Handle,1000,AW_VER_POSITIVE or AW_ACTIVATE);
//AnimateWindow(self.Handle,1000,AW_SLIDE or AW_VER_POSITIVE or AW_ACTIVATE);
//垂直从上到下
//AnimateWindow(self.Handle,1000,AW_VER_NEGATIVE or AW_ACTIVATE);
//AnimateWindow(self.Handle,1000,AW_SLIDE or AW_VER_NEGATIVE or AW_ACTIVATE);
//垂直从下到上
- 2022-06-11 17:51:21下载
- 积分:1
-
Delphi 演示0~N位数的任意组合
Delphi 数列的排列组合一例,演示0~N位数的任意组合,组合的数字在0~5之间,需要输入1~6整数,排列结果会显示在文本框组件中。要点代码如下:
ssList := TStringList.Create;
try
if (nBase < 1) then
begin
end
else
begin
if (sList.Count = 0) then
begin
for nIdx := 0 to num-1 do
ssList.Add(a[nIdx]);
end
else
begin
for nIdx := 0 to num-1 do
for nSidx := 0 to sList.Count-1 do
if (Pos(a[nIdx], sList.Strings[nSidx]) = 0) then
ssList.Add(a[nIdx]+sList.Strings[nSidx]);
end;
Combine(nBase-1, ssList);
end;
if ssList.Count > 0 then
begin
sList.Clear;
sList.Text := ssList.Text;sslist.Count
end;
finally
ssList.Free;
end;
- 2022-04-29 16:59:03下载
- 积分:1
-
Delphi版智能图片放大器
Delphi版智能图片放大器,用滑块改变放大倍率,向左滑,则放大位数变大,反之则变校打开程序后,鼠标在图片区域移动,即可把鼠标悬停区域的图像放大显示N倍,放大位数就是刚才提到的,滑块来调整的放大位数,部分代码可参考如下:
Const //定义放大的区域
dSide=50;//区域大小
var
sSide: Integer;//放大比例[1至100],1为最大100为缩小
msHide: Boolean;
OldX,OldY,NewX,NewY: integer;
Dest,Source: TRect;
{$R *.DFM}
Procedure TForm1.ImageFD(x,y,Side: Integer);//定义放大区域及放大过程
begin
sSide:=30; //初始化放大比例
msHide:=True;
//Canvas.CopyMode:=cmSrcCopy;
image1.Picture.Assign(image2.Picture);
end;
详细情况请下载源码后查看Unit1.pas文件。
- 2023-04-17 17:00:04下载
- 积分:1