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

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

于 2023-02-13 发布 文件大小:5.29 kB
0 56
下载积分: 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 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 显示文件的播放进度,使用了Timer实现对进度的计算和显示。
    2022-05-28 13:11:17下载
    积分:1
  • Delphi getTime 获取当前日期时间实例
    Delphi getTime 获取当前日期时间,用的是DateTimeToStr,运行本窗口后,自动获取当前电脑上的时间,显示在窗体指定的Lable标签中,这是核心的源代码:   procedure TForm1.Timer1Timer(Sender: TObject);   begin    Label1.Caption := DateTimeToStr(now());   end;
    2022-11-15 02:10:03下载
    积分:1
  • Delphi 简单获取Windows时间的例子
    简单获取Windows时间-Delphi源代码,改时间的小程序,在Windows自带的时间管理中也可完成系统时间的修改,这个只是一个帮助了解Windows与Delphi编程的例子,如何通过Delphi的程序来修改Windows时间,大致就是这样实现的。可参见以下源码:   procedure TForm1.Button1Click(Sender: TObject);   var    Dtimer : TSystemTime;    hh,Ghh : Integer;   begin    hh := StrToInt(Trim(Edit4.Text));    if hh < 8 then    Ghh := 16 + hh    else    Ghh := hh - 8;    with Dtimer do    begin    wYear:=StrToInt(Edit1.Text);    wMonth:=StrToInt(Edit2.Text);    wDay:=StrToInt(Edit3.Text);    wHour:=Ghh;    wMinute:=StrToInt(Edit5.Text);    wSecond:=StrToInt(Edit6.Text);    end;    SetSystemTime(Dtimer);   end;
    2022-07-09 18:55:23下载
    积分: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
  • Delphi 单击StringGrid列进行排序
    Delphi 单击StringGrid列进行排序,StringGrid行的任意列单击,就会重新排序一次,排序规则可以自己定义,这种排序功能可有效提升StringGrid显示数据的易用性,增强其功能,提升用户体验,本例子源代码相当简单,对学习者也有很好的帮助作用。参见以下代码:   begin    if Button = mbRight then Exit;    TStringGrid(Sender).MouseToCell(X, Y, vCol, vRow);    if (vRow < 0) or (vRow >= TStringGrid(Sender).FixedRows) then Exit;    StringGridRowSort(TStringGrid(Sender), vCol, vOldCol = vCol);    if vOldCol = vCol then    vOldCol := - vOldCol    else    vOldCol := vCol;   end;
    2022-05-29 23:30:47下载
    积分:1
  • 演示Delphi 如何放大和缩小图像【图片】
    源码演示Delphi 如何放大和缩小图像【图片】,我们这个例子可以学习了解如何使用Delphi编程代码,放大或缩小一张图片,这里把放大和缩小图片的基数写在按钮事件中,用户每次单击按钮,就会按照一定的缩放倍数放大或缩小图像,本示例测试图片已写入程序中,编译运行后操作并演示效果,对图像的缩放部分,重点参考以下代码:   图片缩小操作:   procedure TForm1.BitBtn1Click(Sender: TObject);   begin    if image1.Height>50 then    begin    image1.Height:=image1.Height-10;    image1.Width:=image1.Width-13;    end;   end;   图片放大操作:   procedure TForm1.BitBtn2Click(Sender: TObject);   begin    if image1.Height
    2023-04-18 03:35:03下载
    积分:1
  • 轻型网络聊天Delphi程序-
    轻型网络聊天Delphi程序-源码,类似聊天室, 很简单,这是个多年前的网络编程例子,聊天过程中显示对方的IP,和当前好友姓名,还支持删除聊天记录。用户注册时,可对注册信息进行初始验证,比如用户名是否存在、姓名和IP地址不能空等,有一些技巧对Delphi打基础有帮助。
    2023-05-16 10:20:03下载
    积分:1
  • Delphi 定制自己的幽灵程序
    Delphi 定制自己的幽灵程序,这个程序在Windows托盘处显示图标,而且退出后在进程中仍会运行,像幽灵一样,托盘处可右键弹出菜单,本程序主要是图标和菜单的一些操作,属于UI界面的范畴吧,这是我个人认为的,部分代码摘录:    NormalIcon,DisabledIcon:TIcon;    //正常和失效两种情况下的图标    Status:Boolean;    //标志"允许使用"还是"禁止使用"    procedure InstallIcon;    procedure ChangeIcon(s:Boolean);    procedure UnInstallIcon;    procedure IconOnClick(var message:TMessage); message MI_ICONEVENT;    //捕捉自定义消息MI_ICONEVENT的过程IconOnClick的声明
    2023-04-07 01:50:03下载
    积分:1
  • Delphi IntToHex函数用法举例
    关于IntToHex,在Delphi中使用频率也是挺高的,不过像我这种菜鸟,对IntToHex的具体用法仍是不太熟悉,后来看了这个小程序,了解了一些,分享给大家,特别是以下代码会加深你对IntToHex函数的用法理解。   procedure TForm1.Button1Click(Sender: TObject);   var    S:integer;   begin    S:=2147483647;    showmessage(inttoHex(s,8));    showmessage(inttoHex(s,10));    showmessage(inttoHex(s,16));    showmessage(inttoHex(s,32));   end;
    2022-09-07 01:20:03下载
    积分:1
  • 696518资源总数
  • 104388会员总数
  • 18今日下载