-
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锁定计算机,锁定电脑,不允许别人可以操作,类似Windows自带的锁定程序,其实锁定是非常简单的,不几行代码就能实现:
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
LockWorkStation;
end;
若需要完整的源码,请下载本源码包。
- 2022-04-28 20:57:54下载
- 积分:1
-
Delphi 钩子函数创建鼠标操作的演示
Delphi 钩子函数创建鼠标操作的演示,作者:冉林仓,测试内容包括三个:DemoRecord.dpr DemoPlayBack.dpr Hktest.dpr。
安装与调试说明:
如果制作的演示程序工作不正常,请注意修改HKPROC.PAS,JOURNALPLAYBACKHOOKHANDLER函数,主要是修改返回的RESULT值.
记录的消息序列与屏幕窗口位置、分辨率有很大的关系,哪怕是窗口位置和大小仅仅偏一点,你的回放就不一定正常,请你在使用时要反复调试,以获得比较理想的效果。
- 2023-09-02 14:55:03下载
- 积分:1
-
圆角的窗体-Delphi代码实现方法
Delphi实现圆角的窗体效果,将矩形的窗口效果修饰为圆角的风格,如示例截图所示的效果,核心的几行代码如下:
begin
hr:=createroundrectrgn(0,0,width,height,20,20);//定义园角矩形(win API函数)
setwindowrgn(handle,hr,true); //设置园角窗口
end;
- 2022-08-18 21:29:53下载
- 积分:1
-
Delphi 将TDBGrid导入到Excel表中附数据库
Delphi7.0将TDBGrid导入到Excel表中,测试程序先连接好SQLSERVER数据库,并将数据读取到TDBGrid中,然后再将数据从TDBGrid导入到Excel表中,为了测试方便,SQLSERVER数据库文件已经附在源码包中。以下代码片断会有参考意义,完整源码请下载:
//将TDBGrid表中的标题插入到Excel表中的首行
for I:=0 to DbName.Columns.Count-1 do
begin
if DbName.Columns[i].Visible=False then
Continue;
Page.Cells[j,i+1] := DbName.Columns[i].Title.Caption;
Page.Cells[j,i+1].Font.Bold := True; //设置字体为粗体
end;
Inc(j); //Excel表中的下一行
First; //将指针返回到TDBGrid表中数据的首行
while not Eof do
begin
for i:=0 to DbName.Columns.Count-1 do
begin
if DbName.Columns[i].Visible=False then
Continue;
//将指定行中每列的数据,添加到Excel表中
Page.Cells[j,i+1] := trim(DbName.DataSource.DataSet.Fieldbyname(DbName.Columns[i].FieldName).asstring);
end;
Inc(j); //Excel表中的下一行
Next; //TDBGrid表中的下一条记录
end;
- 2022-06-29 23:05:07下载
- 积分:1
-
Delphi 在窗体上显示超级连接效果
Delphi7.0实现超级连接效果,在窗体上显示超级链接,这个似乎比较简单了,在网页上这是基本的功能,不过如何把一个超链接显示在窗口中,和网页上有些区别,通过这个例子你将学会如何在窗体上实现链接的显示,以及多种链接状态的自定义功能。
- 2023-03-23 16:40:03下载
- 积分:1
-
Delphi实现流程图绘制程序附有源码
Delphi实现流程图绘制程序附有源码,看上去很专业、很高大上的样子。用来绘制工业生产流程图、软件开发流程图等。功能上像绘图软件,功能比较强大,运行界面如下图所示。生成的流程图可编辑文件扩展名为pf,本软件将自动识别。
- 2022-05-25 01:00:17下载
- 积分:1
-
轻型网络聊天Delphi程序-源码
轻型网络聊天Delphi程序-源码,类似聊天室, 很简单,这是个多年前的网络编程例子,聊天过程中显示对方的IP,和当前好友姓名,还支持删除聊天记录。用户注册时,可对注册信息进行初始验证,比如用户名是否存在、姓名和IP地址不能空等,有一些技巧对Delphi打基础有帮助。
- 2023-05-16 10:20:03下载
- 积分:1
-
Delphi实现TdxDBTreeView节点全部展开或收拢
本源码演示如何实现Delphi TdxDBTreeView节点全部展开或收拢功能,也就是大家熟悉的树形菜单节点的折叠或展开功能,在平时的使用中,树形节点是很常用的一个菜单功能,本例子的树形菜单节点功能读取自数据库,因此在测试前请连接好数据库。
//单击全部展开按钮
procedure TForm1.Button1Click(Sender: TObject);
begin
dxDBTreeView1.FullExpand;
end;
//单击全部收拢按钮
procedure TForm1.Button2Click(Sender: TObject);
begin
dxDBTreeView1.FullCollapse;
end;
- 2022-01-26 05:17:01下载
- 积分:1
-
Delphi时间换算 换算秒数为时间格式
Delphi时间换算 换算秒数为时间格式,其实这种换算还是挺简单的吧,TimeToStr(I/86400);就可以算出。在运行的程序窗口中,输入任意秒数(必需输入数字)后,点击确定按钮,即可显示出时间格式的秒数了。具体的代码这里不帖了,需要的请下载完整源码吧,运行效果图如截图所示。
- 2022-07-17 19:50:24下载
- 积分:1