-
Delphi 读写物理扇区——实模式
Delphi 读写物理扇区——实模式, asm //以下汇编代码中,只有第一参数、第二参数、pFunc的值是需要改变的,其余都是固定的写法
pushad
push ebp //#2,保存ebp
sub esp,$2c //#1,预留2c字节的栈空间
push Int13Reg16 //第一参数,如果没有参数,则不用push
//第二参数,如果没有参数,则不用push
mov edx, pFunc //函数地址
mov ebp,esp //
add ebp,$2c //ebp校正,是作者分析QT_Thunk时发现的
call QT_Thunk
add esp,$2c //#1,释放上面预留的2c字节的栈空间
pop ebp //#2,恢复ebp
mov byte ptr @result,al
popad
end;
- 2022-01-24 18:37:58下载
- 积分:1
-
Delphi 实现图像热点功能
Delphi 实现图像热点功能,实现一张图片上不同形状区域的热点,定义椭圆形、四边形、三角形的区域变量的热点,相关代码如下:
var
thepoint:array [1..8] of tpoint;//存储多边形顶点坐标
count:integer;
pointnum:array [1..2] of integer;
begin
//四边形顶点坐标,首末点封闭
thepoint[1]:=point(135,99);
thepoint[2]:=point(105,183);
thepoint[3]:=point(129,201);
thepoint[4]:=point(188,92);
thepoint[5]:=point(135,99);
count:=5;//四边形顶点数目,首末点为一点
fourE_rgn:=CreatePolygonRgn(thepoint,count,WINDING);//生成四边形区域
elli_rgn:=CreateEllipticRgn(64,221,231,263);// 生成椭圆形区域
//第一个三角形顶点坐标
thepoint[1]:=point(118,67);
thepoint[2]:=point(32,28);
thepoint[3]:=point(17,90);
thepoint[4]:=point(118,67);
//第二个三角形顶点坐标
thepoint[5]:=point(155,44);
thepoint[6]:=point(202,91);
thepoint[7]:=point(277,44);
thepoint[8]:=point(155,44);
pointnum[1]:=4;//第一个三角形顶点数目
pointnum[2]:=4;//第二个三角形顶点数目
count:=2;//三角形数目
//生成由两个三角形构成的三角形区域
tri_rgn:=CreatePolyPolygonRgn(thepoint,pointnum,count,WINDING);
end;
- 2022-01-26 08:02:50下载
- 积分:1
-
Delphi实现动态的窗口标题栏文字
Delphi实现动态的窗口标题栏文字,让标题栏文字滚动,有以下动态变化形式:标题左循环,标题左右移动,停靠右端,设置移动时间间隔,每隔多少毫秒移动一个字等。可以在标题上设置一些醒目的内容,再使用本效果,吸引使用者的注意,是一种很不错的提醒方式。
- 2022-01-27 16:11:55下载
- 积分:1
-
Delphi 记录文件的读写
Delphi 记录文件的读写,这个程序非数据库程序,实际上也不是文件读写程序,只是使用主窗口、子窗口在这之间传值。在子窗口中输入数据,确定后,会将数据添加到主窗口的StringGrid中,然后通过修改命令,从StringGrid中再读取出数据,进行修改保存,演示了文件内容的读取和写入的操作过程 。
- 2022-02-12 09:49:41下载
- 积分:1
-
Delphi设计制作BMP图像的推拉动画效果
Delphi设计制作BMP图像的推拉动画效果,类似PPT幻灯片中的图像飞入效果,图片本应该在窗口上显示,但经过本代码的控制后,图像由底部向上部被推出来,其实就是由下到上的图片滑动效果,有兴趣的可下载源码参考主文件代码。
注:本程序好像只对BMP图像有效,其它格式如JPG/gif等图像暂且不支持该动画效果。
- 2022-02-03 23:17:10下载
- 积分:1
-
Delphi 使同类的组件进行同样的操作
Delphi 使同类的组件进行同样的操作的一个实例,类似于将WEB表单统一清空的功能,点击按钮后,所有文本框组件的内容被清空,作用在相同的组件实例上,代码:
procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
ClearText : Integer;
begin
For ClearText := 0 to Form1.ComponentCount -1 do
begin
//判断如果窗体中包含文本框组件,则将所有文本框组件的内容清空
if Form1.Components[ClearText] is TEdit then
begin
TEdit(Components[ClearText]).Clear;
end;
end;
end;
- 2022-05-23 05:25:03下载
- 积分:1
-
Delphi 使用tfilestream方式复制文件
Delphi 使用tfilestream方式复制文件,你可参考本源码,学习一下OpenDialog、Tfilestream.Create、showmessage、CopyFile的用法,本实例复制文件,是通过读取文件流,保存文件流的方式复制,并不是使用命令复制文件。
- 2022-01-21 03:12:02下载
- 积分:1
-
Delphi 当鼠标和键盘在一定时间没有动作时关闭程序
Delphi 当鼠标和键盘在一定时间没有动作时关闭程序,这是一个智能化程序,类似于屏保,当一定时间没有操作时,会关闭软件,运行的技术也不很高深,有兴趣的可下载源代码研究学习。
- 2022-10-11 13:05:03下载
- 积分:1
-
Delphi 将数字转换成字符串
Delphi 将数字转换成字符串,请参见以下的转换代码,转换成功后将以 showmessage的形式返回结果,核心转换功能代码实现:
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
s:string;
begin
i:=1234567;
s:=inttostr(i);
showmessage(s);
end;
- 2022-09-05 21:20:03下载
- 积分: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