登录
首页 » Delphi源码 » Delphi 变速齿轮# 让时间变快减慢

Delphi 变速齿轮# 让时间变快减慢

于 2023-02-13 发布 文件大小:5.29 kB
0 186
下载积分: 2 下载次数: 1

代码说明:

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   

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • Delphi为程序添加esc退出程序的功能
    本源码演示Delphi如何用ESC键退出程序,为程序添加esc退出程序的功能,一般情况下,关闭程序都是通过ALT+f4或者直接点击窗口右上角的叉子关闭,不过我们也可以为程序添加通过键盘按下ESC键来关闭程序,本源码就是演示了此种功能,当用户按下ESC时,窗口即关闭,程序退出。
    2022-07-21 22:03:47下载
    积分:1
  • Delphi7利用鼠标绘制矩形焦点的
    本源代码主要演示Delphi7利用鼠标绘制矩形焦点,画出虚线框矩形,按住鼠标左键抖动矩形区域,即可显示虚线矩形框,可应用于需要拖动选择对象时作为选区使用,在Delphi中,这个功能使用Canvas实现:   procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,    Y: Integer);   begin    if IsDraw then    begin    if Count >1 then    DrawFocusRect(Canvas.Handle,FocuRect);    FocuRect.Right := X;    FocuRect.Bottom := Y;    DrawFocusRect(Canvas.Handle,FocuRect);    Inc(Count);    IsEndDraw := True;    end;   end;
    2023-02-14 21:35: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 显示彩色数据表格,对DBGrid数据表格进行美化,自定义任意行和任意列单元格显示不同的背景颜色,这样可实现特定数据显示不同的颜色,更利于报表的清淅直观。
    2022-03-15 16:49:57下载
    积分:1
  • Delphi 静音 左右声道音量控制
    Delphi控制系统静音,两个声道均不发出声音,同时若在非静态状态下,可控制左、右声道的音量大小,在代码中@表示指向变量v的指针(32位),调用此函数的用意就是得到右声道的值,在调节左声道的时候,不改变右声道}数字前面加$表示是十六进制数字,(t shl 8)表示t左移8位,部分参数设置代码如下:   procedure TForm1.FormCreate(Sender: TObject);   var    v:longint;   begin    waveoutgetvolume(0,@v);//得到现在音量,@v表示指向变量v的指针(32位)    trackbar1.Position:=hi(v);//设置左滑块的正确位置    trackbar2.Position:=hi(v shr 16);//设置右声道滑块的正确位置   end;
    2022-06-02 00:55:40下载
    积分:1
  • Delphi 获取服务器时间 更新本机时间
    Delphi 通过时间服务器更新时间,包括了两个功能:1、获取服务器时间,2、更新本机时间。通过时间服务器,可一键自动更新日期时间,不过本实例连接的服务器已经失效了,程序不能连接,会假死,测试时候要注意。
    2022-01-24 08:49:50下载
    积分:1
  • Delphi添加图层蒙版
    Delphi添加图层蒙版,运行本程序后,在屏幕上添加一层阴影,透明度大概在70%左右,可看作是在屏幕上方蒙了一层薄膜的感觉,代码简单:procedure TForm1.FormCreate(Sender: TObject);   var    bTrans: Byte;    OldStyle: Integer;   begin    form1.Color := clGradientActiveCaption;    WindowState := wsMaximized;    BorderStyle := bsNone;    FormStyle := fsStayOnTop;    OldStyle := GetWindowLong(Handle, GWL_EXSTYLE);    SetWindowLong(Handle, GWL_EXSTYLE, OldStyle or WS_EX_LAYERED Or WS_EX_TRANSPARENT);    bTrans := 128;    SetLayeredWindowAttributes(Handle, 0, bTrans, LWA_ALPHA);   end;
    2022-02-06 10:25:25下载
    积分: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 API笔刷制作
    Delphi API笔刷制作实例的源码,这个笔刷只不过比较简单,点击按钮后自动生成,而且是有规则的网格线,或许通过这个简单的笔刷,你可以学习到用Delphi制作笔刷的入门技巧,相关的代码如下:   procedure TForm1.Button1Click(Sender: TObject);   var    LogBrush:TLogBrush;   begin    LogBrush.lbStyle:=BS_HATCHED;    LogBrush.lbColor:=clRed;    LogBrush.lbHatch:=HS_DIAGCROSS;    Canvas.Brush.Handle := CreateBrushIndirect(LogBrush);    Canvas.FillRect(ClientRect);   end;
    2022-03-30 01:57:49下载
    积分: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
  • 696516资源总数
  • 106457会员总数
  • 15今日下载