-
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中进行 YCrCb RGB 颜色值转换
在Delphi中进行 YCrCb RGB 颜色值转换,载入一张测试图片,右侧显示的转换后的颜色图像,文本框中显示的是各个转换过的颜色值。希望通过这个Delphi例子,帮你了解一下YCrCb向RGB颜色值的转换过程,转换方法和思路,本源码中则是具体的实战代码,请下载后研究。
- 2022-05-23 08:16:07下载
- 积分:1
-
Delphi 使用API函数拔号
Delphi 使用API函数拔号,拨号程序,基于api的方法实现,有兴趣下载源码参考一番。
- 2022-01-26 01:52:58下载
- 积分:1
-
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 替换一个键盘按钮,将数字1改为a。将键盘所代表的键位重新定义并判断,得到一个不同的键位值。
- 2023-01-10 10:50:03下载
- 积分:1
-
Delphi 屏蔽键盘 sleep和wake up键
如何屏蔽sleep和wake up键,一个是待机键,一个是唤醒键,屏蔽可有效避免误操作,不过本代码过于简单,屏蔽效果有待测试,核心代码如下:
procedure TForm1.WMPowerBroadcast(var message: TMessage);
begin
message.Result := BROADCAST_QUERY_DENY;
end;
- 2022-06-30 14:51:25下载
- 积分:1
-
Delphi 7在数据库中存取图像
Delphi 7在数据库中存取图像,这个示例代码较早,面向的图像格式为BMP,JPG、GIF之类的图片格式未做测试,或许也可以。示例中将4张图片保存到数据库中,然后程序将从数据库中输出这些图片,通过程序的操作,你只需选择对应的图片,即可从数据库中读取出对应的图片。
- 2022-10-12 00:05:03下载
- 积分:1
-
Delphi 用获取路径的方法得到圆形窗体
Delphi 用获取路径的方法得到圆形窗体,制作实现一个非矩形窗口,可以说是一个不规则窗口了,圆形的窗口,标题栏、状态栏及窗口关闭等操作按钮均不邮了。圆形窗口的基本实现思路是根据路径创建不规则窗体,然后设置窗口为透明模式,部分代码如下:
dc:=self.Canvas.Handle;
BeginPath(dc);
//根据路径创建不规则窗体
SetBkMode(dc,TRANSPARENT);
//设置为透明模式
Ellipse(dc,20,20,220,220);
EndPath(dc);
region:=PathToRegion(dc);
SetWindowRgn(self.Handle,region,TRUE);
end;
- 2022-05-16 23:17:16下载
- 积分:1
-
Delphi 图片颜色逐渐加深功能的实现
Delphi演示如何将一张图片的颜色加深,类似于调整对比度,不过本效果不加入了渐变加深的动画效果,按住按钮图片一直变暗下去,要知空间,你可看下以下代码:
Bitmap:=image1.Picture.Bitmap;
image1.Height:= Bitmap.Height;
image1.Width:= Bitmap.Width;
for i:=0 to 255 do
begin
sleep(10);
for y:=0 to Bitmap.Height-1 do
begin
pixcolo:=Bitmap.Scanline[y]; //扫描每行像素颜色
for x:=0 to ((Bitmap.Width*3)-1) do
//递减颜色值,不同的递减值可改变不同的速度
if pixcolo[x]>0 then pixcolo[x]:=(pixcolo[x]-1);
end;
Image1.Canvas.Draw(0,0,Bitmap);
Application.ProcessMessages; //让Application去处理消息队伍中的消息
end;
- 2022-03-23 16:34:19下载
- 积分: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