-
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 Exit语句的使用
用实例源码演示delphi Exit语句的使用,这个是比较基础的delphi语法实例了,以一个输入界面来演示exit函数的使用方法。演示了如果用户的输入不符合条件的话,则使用Exit语句结束执行,跳出程序,在如图所示的输入项中,任意一项输入不符合要求,则会直接退出程序的执行。
- 2022-02-15 15:18:24下载
- 积分:1
-
获取windows System目录路径-Delphi示例
Delphi获取windows System目录路径,这个比较简单,觉得没啥用,只是可以练习一下GetSystemDirectory函数如何使用,下面分享出核心的代码,完整代码需要您下载哦:
begin
GetMem(SysDir,255);
GetSystemDirectory(SysDir,255);
Edit1.Text := SysDir;
end;
- 2022-03-18 16:21:27下载
- 积分: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演示UniCode编码、简体繁体互转的方法实现
Delphi演示如何实现UniCode编码、汉字的繁简互转功能,同时将字符转换为unicode码值(十六进制):
常用编码:
codepage=936 简体中文GBK
codepage=950 繁体中文BIG5
codepage=437 美国/加拿大英语
codepage=932 日文
codepage=949 韩文
codepage=866 俄文
codepage=65001 unicode UTF-8
本例子中仅使用了936、950,如果你要进行其他语言的编码转换,仅需相应改变其中的编码值即可。
- 2023-06-10 00:30:04下载
- 积分:1
-
Delphi实现多次渲染的RGB色环颜色渐变特效源码
Delphi实现RGB色环多次渐变,生成一个渐变的圆形,颜色渐变步长可自定义,在代码中,为了绘制出来的圆好看,分成四个部分进行绘制,此部分代码展示如下:
if (degree >= 0+qki) and (degree 45+qki) and (degree 135+qki) and (degree 215+qki) and (degree 315+qki) and (degree
- 2022-04-26 22:54:00下载
- 积分:1
-
使用Delphi 制作无闪烁的动画效果
使用Delphi 制作无闪烁的动画效果,如何实现不闪烁的动画呢?这个例子或许能找到一些答案:部分代码如下:
var
x,i: Integer;
dir,run: Boolean;
begin
b := TBitMap.Create;
b.Width := AnimWindow.Width;
b.Height := 32;
b.Canvas.Pen.Color := clBtnFace;
b.Canvas.Brush.Color := clBtnFace;
b.Canvas.Rectangle(0,0,AnimWindow.Width,32);
run := True;
dir := False;
x := 0;
while run do
for i := 0 to AnimWindow.ImageList1.Count-1 do
begin
b.Canvas.Rectangle(0,0,AnimWindow.Width,32);
AnimWindow.ImageList1.Draw(b.Canvas,x,0,i);
Synchronize(DrawAnimPic);
Sleep(AnimWindow.SpinEdit1.Value);
if (x = 0) or (x = 300) then dir := not dir;
if dir then Inc(x) else Dec(x);
end;
b.Free;
end;
- 2023-03-22 21:40:04下载
- 积分:1
-
Windows 剪贴板高级编程-Delphi源码实例
Windows 剪贴板高级编程-Delphi源码实例,其实也不是什么高级编程,挺基础的剪贴板应用。学习如何在Delphi环境下读取Windows剪贴板的内容。在编写一些系统辅助类的软件中,可使用到这些小技巧。以下代码:将剪贴板内容读取出来,在代码的执行放入一个按钮事件中:
procedure TForm1.Button2Click(Sender: TObject);
var
DataRec: TDataRecord;
Data: THandle;
PData: Pointer;
begin
Data := Clipboard.GetAsHandle(CF_CUSTOMFORMAT);
if Data = 0 then Exit;
PData := GlobalLock(Data);
Move(PData^, DataRec, GlobalSize(Data));
GlobalUnlock(Data);
with DataRec do
ShowMessage(Name + #13#10 + Sex + #13#10 + Hobby);
end;
- 2022-04-22 08:40:48下载
- 积分:1
-
演示Delphi如何清空TImage组件中的图片
本源码向大家演示Delphi如何清空TImage组件中的图片,如示例截图所示,TImage组件中已经装载了一张图片,单击“清空图片”按钮,将调用以下代码清空TImage组件中的图片数据:
procedure TForm1.Button1Click(Sender: TObject);
begin
image1.picture.graphic := nil;
end;
这是一个比较初级的Delphi图像组件用法示例,Delphi新手可参考学习。
- 2022-03-18 08:56:24下载
- 积分:1
-
Delphi SQLSERVER停车场收费管理系统
Delphi SQLSERVER停车场收费管理系统,本系统涉及有多个硬件,运行后需要初始化硬件,读取硬件的配置数据,包括控制器。需要联网读取数据,比较综合的一套系统。可对挡车器、停车场照明系统进行管理,可财务报帐、年终结算等功能,主窗口启动时,先连接数据库和用户登录。硬件参数需要重新启动该程序才能生效,设置照明灯自动开关时间,向数据库中写入记录,控制硬件打开挡车器,开始事务:fee_station-结帐次数加1,维护费用AMaintain=0 ,start_fee增加。。。
- 2023-06-03 04:50:05下载
- 积分:1