变速齿轮Delphi实现

2016-02-19 19:34 31 1 收藏

有了下面这个变速齿轮Delphi实现教程,不懂变速齿轮Delphi实现的也能装懂了,赶紧get起来装逼一下吧!

【 tulaoshi.com - 编程语言 】

{D7+Win98,不能用于2000}
  unit MainUnit;

  

  interface

  uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

  type
  TForm1 = class(TForm)
  Button1: TButton;
  Button2: TButton;
  Button3: TButton;
  procedure Button1Click(Sender: TObject);
  procedure Button2Click(Sender: TObject);
  procedure Button3Click(Sender: TObject);
  private
  { Private declarations }
  public
  { Public declarations }
  end;

  var
  Form1: TForm1;

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  implementation

  {$R *.dfm}
  procedure speed(count:word);stdcall;
  const
  ExceptionUsed=$03;
  var
  IDT:array [0..5]of byte;
  lpOldGate:dword;
  begin
  asm
  sidt IDT
  mov ebx,dword ptr [IDT+2]
  add ebx,8*ExceptionUsed
  cli
  mov dx,word ptr [ebx+6]
  shl edx,16d
  mov dx,word ptr [ebx]
  mov [lpOldGate],edx
  mov eax,offset @@Ring0Code
  mov word ptr [ebx],ax
  shr eax,16d
  mov word ptr [ebx+6],ax
  int ExceptionUsed
  mov ebx,dword ptr[IDT+2]
  add ebx,8*ExceptionUsed
  mov edx,[lpOldGate]
  mov word ptr [ebx],dx
  shr edx,16d
  mov word ptr [ebx+6],dx
  jmp @@exit

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  
  @@Ring0Code:
  mov al,$34
  out $43,al
  mov ax,Count
  out $40,al
  mov al,ah
  out $40,al
  iretd
  @@exit:
  end;

  end;

  procedure TForm1.Button1Click(Sender: TObject);
  begin
  speed($6000);//慢
  end;

  procedure TForm1.Button2Click(Sender: TObject);
  begin
  Speed($1044);
  end;

  procedure TForm1.Button3Click(Sender: TObject);
  begin
  speed($500);
  end;

  end.
  

来源:https://www.tulaoshi.com/n/20160219/1621322.html

延伸阅读
标签: Delphi
在数据库管理系统中,数据录入是数据处理的基本功能,录入操作方便与否是衡量数据库应用程序交互良莠的指标之一。录入中除了应要对录入数据进行合法检验外,还应为用户提供更多的方便操作,即对于“规范性”数据,如:性别、职称等字段的数据,应尽可能供用户“选择”录入,而非直接文字输入,另外,如:出生年月、联系电话、邮编等类似...
用DELPHI实现文件加密压缩 作者: e梦缘 (wnhoo) Mail:wnhoo@163.com 风花雪月 e梦情缘 点击下载此详细说明文件 概述: 在这篇文件中,讲述对单个文件的数据加密、数据压缩、自解压的实现。同样,也可以实现对多个文件或文件夹的压缩,只要稍加修改便可实现。 关键...
如果你是做一些多媒体播放器之类的程序时,为了完善系统的容错性,就必须用到一些检测系统的功能,其中检测声卡是否存在就是一个问题,下列程序帮你忙,首先需要在uses部分加入mmsystem ,接着在窗体创建时检测声卡: procedure TForm1.FormCreate(Sender: TObject);var i:Integer;begini := auxGetNumDevs();if i= thenlabel1.Capti...
标签: Delphi
如果我们把Handle指向桌面,哪TMediaPlay将会在桌面播放。与TCanvas不同的是,TWinControl的Handle的属性是只读的,并且GetHandle方法是静态方法,这说明,我们要Handle指向桌面只有两种方法 修改TWinControl,让Handle可写。 建立TWinControl子类,并隐藏TWinControl.GetHandle方法,在新方法中返回桌面句柄。 其中第二...
标签: Delphi
  Delphi关键字导航 网络 界面 多媒体 数据库 图像 控件 文件 硬件  在做Mis项目过程中,有时需要让用户自己来实现窗体控件的布局,比如酒店管理中就需要对餐厅餐桌位置进行布局。要实现这种功能,必须做好三件事: 1、设置进入控件边缘的光标形状; 2、改变控件的大小及位置; 3、保存窗体控件的位置及状态,窗体下次启动时...

经验教程

414

收藏

13
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部