-
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 编写的图片垂直交错显示效果,之前就分享过这种效果,类似百叶窗的交替显示效果,可用于图片转场,不过本效果还有很多地方需要优化,当时是写给一本书,作为随书实例的,有兴趣的可参考,关于本功能的关键代码部分,请看以下代码:
newbmp:= TBitmap.Create;
newbmp.Width:=image1.Width;
newbmp.Height:=image1.Height;
bmpheight:=image1.Height;
bmpwidth:=image1.Width;
i:=0;
while i0 do
begin
newbmp.Canvas.CopyRect(Rect(0,j-1,bmpwidth,j),image1.Canvas,Rect(0,bmpheight-i+j-1,bmpwidth,bmpheight-i+j));
newbmp.Canvas.CopyRect(Rect(0,bmpheight-j-1,bmpwidth,bmpheight-j),image1.Canvas,Rect(0,i-j,bmpwidth,i-j+1));
j:=j-2;
Application.ProcessMessages;
end;
form1.Canvas.Draw(0,0,newbmp);
i:=i+2;
end;
newbmp.free;
- 2023-04-12 21:35:03下载
- 积分:1
-
Delphi 获取两个子字符串之间的字符个数
Delphi 获取两个子字符串之间的字符个数,也就是这个字符串由A/B/C三个字符组成,本例子是求A/C中间的所有字符串的个数,空格同样也包括在内。定义两个函数即可实现本功能:
Function TForm1.Strcount( s, s1, s2 : string ): integer;
var
i,j,slen : integer;
begin
i := pos( s1, s );
j := pos( s2, s );
slen := Length(s1);
if j >= i then
Result := j - i - slen
else
Result := 0;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
n : integer;
begin
n := Strcount(Edit1.Text,Edit2.Text,Edit3.Text);
showmessage(IntToStr(n));
end;
- 2022-01-26 07:45:23下载
- 积分:1
-
Delphi 自定义播放窗口
Delphi 自定义播放窗口,指定视频显示窗口,本源码演示的重点主要是播放器窗口外观的设计,调用了外部的一张jpg图片做为播放器的主窗口,让窗口风格首先看上去具有播放器程序的风格,因此,在美化窗口时如何使用jpg格式的图片,是本例要表现的重点功能,希望对窗体设计感兴趣的Delphi初学者好好学习研究一番哦。
本播放器虽然重在演示窗口功能的实现,不过它真的可以播放视频文件,比如mpg格式的文件。
- 2022-05-25 21:56:20下载
- 积分:1
-
Delphi 播放指定avi-mid-wav文件
Delphi 播放指定avi-mid-wav文件,这几种都是音频格式,因此这个可以说是播放音频文件的例子,控制面板中包括了常用的播放控制按钮,在此基础上,可写出一个Delphi音乐播放器,当然本源码比较早了,适合学习一些简单的Delphi音频编程技巧。
procedure TForm1.N2Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
with MediaPlayer1 do
begin
Filename := OpenDialog1.FileName ;
Open;
DisPlayrect := Rect(1,1,Panel2.Width ,Panel2.Height );
Notify := true;
end;
end;
end;
- 2023-05-08 02:15:02下载
- 积分:1
-
Delphi 判断字符串是否为日期或时间
Delphi 判断字符串是否为日期或时间,检查用户输入的时间格式是否正确,判断用户输入的是否是时间字符串,这个虽然麻烦些,不过这个例子将问题简单化,有兴趣的参考源码。
- 2022-08-24 16:56:14下载
- 积分:1
-
Delphi实现RGB色环的绘制源码 XE10.2+WIN764
Delphi实现RGB色环的绘制源码 XE10.2+WIN764,鼠标移动时提取颜色RGB的值,可以设置中心圆是否是透明的,RGB色环的代码绘制,传入图片的大小,扣出中心的黑色圆,输入图片与中心圆的半径。这个色环的颜色十分精细,过渡十分自然,本例子代码的参考价值还是挺大的。
- 2022-06-27 11:06:18下载
- 积分:1
-
Delphi 获取磁盘序号
Delphi 获取磁盘序号,获取序号非磁盘编号,也不是序列号。运行后的效果如图所示,应该是所选择的磁盘在我的电脑中的排列序号。
操作时,只需选择对应的盘符,然后单击按钮即可,请参见测试截图所示。
- 2022-07-24 20:22:04下载
- 积分:1
-
Delphi 应用程序背景与桌面融合在一起
Delphi 应用程序背景与桌面融合在一起,运行后,显示windows 桌面上的内容,显示壁纸,拖动窗口移动,桌面背景并不移动,好像是一个桌面相框一样,实现代码:
for i:=0 to ControlCount-1 do
if Controls[i] is TGraphicControl then
begin
//使TLabel组件不透明显示
Controls[i].perform(WM_PAINT, TLabel(Controls[i]).canvas.handle, 0);
end;
- 2022-02-02 23:31:59下载
- 积分:1
-
Delphi 获取服务器时间 更新本机时间
Delphi 通过时间服务器更新时间,包括了两个功能:1、获取服务器时间,2、更新本机时间。通过时间服务器,可一键自动更新日期时间,不过本实例连接的服务器已经失效了,程序不能连接,会假死,测试时候要注意。
- 2022-01-24 08:49:50下载
- 积分:1