-
Delphi为程序添加esc退出程序的功能
本源码演示Delphi如何用ESC键退出程序,为程序添加esc退出程序的功能,一般情况下,关闭程序都是通过ALT+f4或者直接点击窗口右上角的叉子关闭,不过我们也可以为程序添加通过键盘按下ESC键来关闭程序,本源码就是演示了此种功能,当用户按下ESC时,窗口即关闭,程序退出。
- 2022-07-21 22:03:47下载
- 积分:1
-
Delphi 鼠标双击TStatusBar时判断是哪一个panels
Delphi 鼠标双击TStatusBar时判断是哪一个panels,这个是把窗口的状态栏分隔,每个隔断中显示不同的内容,用鼠标双击不同的隔断,程序将判断用户点击了哪个隔断,并获取到该栏中的文字内容显示出来。
- 2023-02-09 01:20:03下载
- 积分:1
-
Delphi 变速齿轮# 让时间变快减慢
Delphi 变速齿轮# 让时间变快减慢,其实这个似乎是做不到的,只是模拟一下,代码及描述如下:
procedure Speed(count:word); stdcall;
const ExceptionUsed = $03; { 中断号也可以用其它的中断号}
var
IDT : array [0..5] of byte; { 保存中断描述符表}
lpOldGate : dword; {存放旧向量}
begin
asm
push ebx
sidt IDT {读入中断描述符表}
mov ebx, dword ptr [IDT+2]{IDT表基地址}
add ebx, 8*ExceptionUsed {计算中断在中断描述符表中的位置}
cli {关中断}
mov dx, word ptr [ebx+6] {取6,7字节 另外4字节用于门属性和选择子 }
shl edx, 16d {左移16位}
mov dx, word ptr [ebx] {取1,2字节 }
mov [lpOldGate], edx {保存旧的中断门}
mov eax, offset @@Ring0Code {修改向量,指向Ring0级代码段}
mov word ptr [ebx], ax {低16位,保存到1,2字}
shr eax, 16d
mov word ptr [ebx+6], ax {高16位,保存到6,7位}
int ExceptionUsed {发生中断}
mov ebx, dword ptr [IDT+2] {重新定位到中断描述符表中}
add ebx, 8*ExceptionUsed
mov edx, [lpOldGate]
mov word ptr [ebx], dx
- 2023-02-13 04:55:03下载
- 积分:1
-
形象的电子表-Delphi程序
Delphi编写制作一款形象的电子表(钟表)效果,模拟时钟,界面方面做成了圆形,看不见窗口的边框,像是透明的窗口,各个指针会走动,关于各个指针的移动及计算方法,有兴趣可参考:
vh := Hour/12.0*2*Pi;
vm := Min/60.0*2*Pi;
vs := Sec/60.0*2*Pi;
with Canvas do
begin
Pen.Width:=4;
Pen.Color := clBlack;
MoveTo(60,60);
LineTo(60+Round(25*Sin(vh)),60-Round(25*Cos(vh)));
Pen.Width:=2;
Pen.Color := clBlack;
MoveTo(60,60);
LineTo(60+Round(45*Sin(vm)),60-Round(45*Cos(vm)));
Pen.Width:=1;
Pen.Color := clRed;
MoveTo(60,60);
LineTo(60+Round(55*Sin(vs)),60-Round(55*Cos(vs)));
end;
窗体方面:这个圆盘窗口要是能移动就好了,不支持右键菜单,也不能关闭,关闭窗口需要按键盘上的ALT+F4。
- 2022-01-27 12:29:32下载
- 积分:1
-
Delphi 程序控制关闭显示器
Delphi 程序控制关闭显示器,不过我很好奇Delphi真能关闭显示器么?如果是用Delphi截断视频信号的输出,让显示器黑屏,这倒是有可能哦,但是让Delphi直接关闭显示器,有点不太可能吧?看了看代码,原来是这样:
begin
//关闭显示器
PostMessage(Application.Handle,WM_SYSCOMMAND,SC_MONITORPOWER,1);
//打开显示器:
PostMessage(Application.Handle,WM_SYSCOMMAND,SC_MONITORPOWER,0);
end;
- 2022-04-01 11:14:50下载
- 积分:1
-
Delphi 不使用标题栏移动窗体
Delphi 不使用标题栏移动窗体,意思是说,平时大家拖动Windows窗口的时候,都是鼠标放在窗口的标题栏上,按住鼠标左键拖动窗体,但本源码实现的功能是,不以标题栏为操作目标,那是怎么实现的窗口拖动呢?请下载参见本源码。
- 2022-10-18 04:15:03下载
- 积分:1
-
Delphi 改变当前鼠标样式
Delphi 改变当前鼠标样式,这个样式比较个性了,把箭头状的鼠标指针替换成了一幅图像,还有动画效果。具体实现,请下载本源码一看究竟。本程序具备的功能是可以选择的,用户可选择改变鼠标的形状是否是当前窗口或系统,选择当前窗口则只会在本测试程序的窗口中改变鼠标的形状。
- 2023-07-31 03:10:03下载
- 积分:1
-
Delphi 简单获取Windows时间的例子
简单获取Windows时间-Delphi源代码,改时间的小程序,在Windows自带的时间管理中也可完成系统时间的修改,这个只是一个帮助了解Windows与Delphi编程的例子,如何通过Delphi的程序来修改Windows时间,大致就是这样实现的。可参见以下源码:
procedure TForm1.Button1Click(Sender: TObject);
var
Dtimer : TSystemTime;
hh,Ghh : Integer;
begin
hh := StrToInt(Trim(Edit4.Text));
if hh < 8 then
Ghh := 16 + hh
else
Ghh := hh - 8;
with Dtimer do
begin
wYear:=StrToInt(Edit1.Text);
wMonth:=StrToInt(Edit2.Text);
wDay:=StrToInt(Edit3.Text);
wHour:=Ghh;
wMinute:=StrToInt(Edit5.Text);
wSecond:=StrToInt(Edit6.Text);
end;
SetSystemTime(Dtimer);
end;
- 2022-07-09 18:55:23下载
- 积分:1
-
Delphi 获得汉字区位码的源码
Delphi 获得汉字区位码的源码,输入指定汉字,将得到这些汉字的区位码,关键代码请参考以下的源码:
procedure TForm1.Button1Click(Sender: TObject);
var
str:string;
hi,lo:integer;
begin
str:=trim(edit2.Text);
hi:=byte(str[1])-$a0;
lo:=byte(str[2])-$a0;
edit1.Text:=inttostr(hi)+inttostr(lo);
end;
- 2022-02-21 00:07:08下载
- 积分:1
-
Delphi 定义鼠标ANI动画光标
ANI动画鼠标,为自己的鼠标定制了一个带笑脸动画的光标,类似于定义鼠标的样式,定义动画光标将改变鼠标默认的样式,这样定义的动画光标格式为ANI文件。
屏幕截图抓不到动画光标,这是神马情况?
- 2022-10-08 15:50:03下载
- 积分:1