变速齿轮Delphi实现

2016-02-19 19:34 37 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;

  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

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

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

  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;

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

  end.
  

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

延伸阅读
如果你是做一些多媒体播放器之类的程序时,为了完善系统的容错性,就必须用到一些检测系统的功能,其中检测声卡是否存在就是一个问题,下列程序帮你忙,首先需要在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、保存窗体控件的位置及状态,窗体下次启动时...
标签: Delphi
  各位亲爱的读者,在delphi编程实战中我们可以使用按钮控件来制作程序中的按钮键。但是在使用其它软件时,我们常常可以看到透明按钮的效果。那么如何在delphi中实现透明按钮的效果?笔者在互联网搜索了不少时间也没有找到这方面的控件,于是决定自己DIY一番,下面笔者就将自己的经验与广大读者共享一番。 要实现透明按钮,共需...
用DELPHI实现文件加密压缩 作者: e梦缘 (wnhoo) Mail:wnhoo@163.com 风花雪月 e梦情缘 点击下载此详细说明文件 概述: 在这篇文件中,讲述对单个文件的数据加密、数据压缩、自解压的实现。同样,也可以实现对多个文件或文件夹的压缩,只要稍加修改便可实现。 关键...

经验教程

292

收藏

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