摘要载入中…    请稍等…












内容载入中…    请稍等…

如长时间看不到内容,请关闭浏览器,重新打开此页!

芯友首页 应用软件 编程开发 网络硬件 资源下载 动漫音乐 精美图库 芯友论坛 视频教程 电脑技术QQ群:72845454
 ★★photoshop学友-史上最强播放器★★
 位置:编程开发>Deiphi>Deiphi实例教程
◎→ 本类最新
在DELPHI中用线程排序
在Delphi中使用Queued Component
作非常规程序菜单掌握delphi
执行一个外部程序并等待它的完成
在应用程序中跟踪MOUSE的坐标
五子棋源代码
显示密码的原理
◎→相关资源
C语言入门视频教程
C#编程WinForm入门视频
Asp.net入门视频教程下载
VC++编程视频教程下载
VB窗体文章
HTML入门教程
Deiphi实例教程
Deiphi窗体文章
Deiphi数据库编程
Deiphi网络编程
Deiphi图形图象文章
Deiphi系统文件
◎→ 热门资源
Listview中实现点击栏目标题排序
Microsoft Agent技术在Delphi中的
MIDAS中动态强制约束编程
Chuck Jazdzewski的离开意味着De
COM程序编写入门(三)
OICQ中用户图标选择的实现
DELPHI中利用对象的常用属性制作

变速齿轮Delphi实现


日期:2008-10-20 22:02:12    来源:
   

 ·Microsoft Agent技术在Delphi中的应用
变速齿轮Delphi实现


{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;

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.

 [1]

Chuck Jazdzewski的离开意味着Delphi的终结吗?

--->ShellBrowser For C++ & Delphi V5.02
--->Delphi学习宝典 V2.0
--->Delphi小助手 V1.04
--->GB/BIG5简繁转换器 V3.1.0 Delphi工程版
--->变速器零件管理系统 V2.6 简体中文注册版
Tags:  变速 齿轮 Delphi

芯友网版权所有 1999-2006 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 | 联系我们