亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fmmain.pas

?? 多數代碼可以直接在Delphi6和Delphi7環境下運行。部分涉及.NET技術內容的代碼
?? PAS
字號:
unit fmMain;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Edit4: TEdit;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Memo1: TMemo;
    Button8: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure FormClick(Sender: TObject);
  private
    { Private declarations }
    function HashOf(const Key: string): Cardinal;
  public
    { Public declarations }
    function ShowMethodAddress(aObj : TDerived; const sData : String) : Pointer;
    procedure ShowFieldAddress(aObj : TDerived; const sData : String);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

function TForm1.HashOf(const Key: string): Cardinal;
var
  I: Integer;
begin
  Result := 0;
  for I := 1 to Length(Key) do
    Result := ((Result shl 2) or (Result shr (SizeOf(Result) * 8 - 2))) xor
      Ord(Key[I]);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  aObj : TBase;
begin
  aObj := TBase.Create;
  Edit1.Text := aObj.toString + aObj.hashCode;
  Edit2.Text := aObj.getBothID;
  FreeAndNil(aObj);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  aObj : TBase;
begin
  aObj := TDerived.Create('TDerived at ' + DateTimeToStr(Now));
  Edit1.Text := aObj.toString + aObj.hashCode;
  Edit2.Text := aObj.getBothID;
//  Edit3.Text := aObj.getBothID(0);
//  Edit4.Text := aObj.getBothID(' - ');
  FreeAndNil(aObj);
end;

procedure TForm1.Button3Click(Sender: TObject);
var
  aObj : TDerived;
begin
  aObj := TDerived.Create('TDerived at ' + DateTimeToStr(Now));
  Edit1.Text := aObj.toString + aObj.hashCode;
  Edit2.Text := aObj.getBothID;
  Edit3.Text := aObj.getBothID(0);
  Edit4.Text := aObj.getBothID(' - ');
  FreeAndNil(aObj);
end;

procedure TForm1.Button4Click(Sender: TObject);
var
  aObj : TDerived;
  sData : String;
begin
  sData := 'TDerived at ' + DateTimeToStr(Now);
  aObj := TDerived.Create(sData, HashOf(sData));
  Edit1.Text := aObj.toString + aObj.hashCode;
  Edit2.Text := aObj.getBothID;
  Edit3.Text := aObj.getBothID(0);
  Edit4.Text := aObj.getBothID(' - ');
  FreeAndNil(aObj);
end;

procedure TForm1.Button5Click(Sender: TObject);
var
  aObj : TDerived;
  sData : String;
begin
  sData := 'TDerived at ' + DateTimeToStr(Now);
  aObj := TDerived.Create(sData, HashOf(sData));
  Edit1.Text := aObj.DisappearRoutine1;
  Edit2.Text := aObj.DisappearRoutine1('Test');
  FreeAndNil(aObj);
end;

procedure TForm1.Button6Click(Sender: TObject);
var
  aObj : TBase;
begin
  aObj := TBase.Create;
  Edit1.Text := aObj.DisappearRoutine1;
//  Edit2.Text := aObj.DisappearRoutine1('Test');
  FreeAndNil(aObj);
end;

procedure TForm1.Button7Click(Sender: TObject);
var
  aObj : TDerived;
  sData : String;
  aPtr : Pointer;
begin
  sData := 'TDerived at ' + DateTimeToStr(Now);
  aObj := TDerived.Create(sData, HashOf(sData));

  ShowMethodAddress(aObj, 'getBothID');

  ShowMethodAddress(aObj, 'toString');
  ShowMethodAddress(aObj, 'MyMethod1');
  aPtr := ShowMethodAddress(aObj, 'MyMethod2');
  sData := MethodName(aPtr);
  sData := Format('%x : %s', [Integer(aPtr), sData]);
  Memo1.Lines.Add(sData);

  aPtr := Pointer(@TDerived.MyMethod2);
  sData := MethodName(aPtr);
  sData := Format('%x : %s', [Integer(aPtr), sData]);
  Memo1.Lines.Add(sData);

  aPtr := Pointer(@TDerived.PureMethod);
  sData := MethodName(aPtr);
  sData := Format('%x : %s', [Integer(aPtr), sData]);
  Memo1.Lines.Add(sData);
  FreeAndNil(aObj);
end;

function TForm1.ShowMethodAddress(aObj: TDerived; const sData: String) : Pointer;
var
  aPtr : Pointer;
  sResult : String;
begin
  try
    aPtr := aObj.MethodAddress(sData);
    sResult := Format('%s : %x', [sData + '位于', Integer(aPtr)]);
    Memo1.Lines.Add(sResult);
  except
    on e : Exception do
    begin
      sResult := Format('%s : %s', [sData, e.Message]);
      Memo1.Lines.Add(sResult);
    end;
  end;
  Result := aPtr;
end;

procedure TForm1.ShowFieldAddress(aObj: TDerived; const sData: String);
var
  aPtr : Pointer;
  sResult : String;
begin
  try
    aPtr := aObj.FieldAddress(sData);
    sResult := Format('%s : %x', [sData + '位于', Integer(aPtr)]);
    Memo1.Lines.Add(sResult);
  except
    on e : Exception do
    begin
      sResult := Format('%s : %s', [sData, e.Message]);
      Memo1.Lines.Add(sResult);
    end;
  end;
end;

procedure TForm1.Button8Click(Sender: TObject);
var
  sData : String;
  aPtr : Pointer;
begin
  aPtr := Pointer(@Self.OnClick);
  sData := MethodName(aPtr);
  sData := Format('%x : %s', [Integer(aPtr), sData]);
  Memo1.Lines.Add(sData);
end;

procedure TForm1.FormClick(Sender: TObject);
begin
  Self.Caption := 'Clicked';
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美日韩久久| 99re成人精品视频| 蜜臀国产一区二区三区在线播放| 亚洲一区二区综合| 亚洲一区二区三区三| 亚洲午夜电影网| 午夜婷婷国产麻豆精品| 香蕉影视欧美成人| 日本亚洲视频在线| 麻豆国产欧美一区二区三区| 久久精品国产第一区二区三区| 日韩电影一二三区| 激情欧美一区二区| 成人手机在线视频| 99久久综合国产精品| 91在线精品一区二区| 91福利在线观看| 欧美视频精品在线观看| 69堂成人精品免费视频| 欧美本精品男人aⅴ天堂| 久久精品日韩一区二区三区| 国产精品三级av| 亚洲精品五月天| 午夜视频久久久久久| 精品在线一区二区| 成人av在线播放网站| 91福利视频网站| 日韩亚洲欧美中文三级| 国产日韩欧美精品电影三级在线| 中文av一区二区| 亚洲国产精品一区二区久久恐怖片 | 亚洲黄网站在线观看| 亚洲一区二区美女| 久久国产精品99精品国产| 国产不卡在线视频| 欧美伊人久久久久久久久影院 | 色噜噜狠狠成人网p站| 欧美伊人久久大香线蕉综合69| 3d动漫精品啪啪一区二区竹菊| 欧美一级片在线观看| 欧美国产精品v| 亚洲高清免费在线| 国产精品亚洲第一区在线暖暖韩国| 99久久99久久综合| 日韩欧美国产精品一区| 一色屋精品亚洲香蕉网站| 天天综合日日夜夜精品| 成人黄色免费短视频| 91精选在线观看| 亚洲人精品一区| 麻豆精品在线看| 欧洲亚洲精品在线| 久久久久97国产精华液好用吗| 亚洲一区在线观看免费观看电影高清| 极品少妇xxxx精品少妇| 日本久久电影网| 久久久精品免费网站| 亚洲无人区一区| 成人激情视频网站| 日韩欧美国产系列| 亚洲高清在线精品| 成人理论电影网| 精品国产一区二区三区av性色| 一区二区三区在线视频免费观看| 国产伦精一区二区三区| 欧美精品在线观看一区二区| 亚洲色图色小说| 国产福利一区二区三区视频在线| 欧美日韩卡一卡二| 中文字幕一区二区三区在线播放 | 国产91精品一区二区麻豆亚洲| 欧美日韩中字一区| 中文字幕亚洲成人| 国产一区二区中文字幕| 这里是久久伊人| 亚洲综合另类小说| 成人h版在线观看| 欧美精品一区二区三区蜜桃视频| 亚洲电影一级片| 日本韩国精品一区二区在线观看| 国产精品女主播av| 国产一区二区三区电影在线观看| 欧美一级午夜免费电影| 亚洲国产视频在线| 91亚洲精品久久久蜜桃| 国产精品全国免费观看高清| 国产电影精品久久禁18| 日韩免费观看高清完整版 | 国产高清不卡二三区| 日韩欧美国产三级电影视频| 天堂资源在线中文精品| 色婷婷久久99综合精品jk白丝| 国产精品久久久久久久午夜片| 国产成人精品免费| 久久精品一区四区| 国产麻豆成人精品| 国产日本一区二区| 丁香一区二区三区| 国产精品久久久久影院| 成人毛片视频在线观看| 国产精品色婷婷久久58| av一区二区三区在线| 亚洲欧洲在线观看av| 91视频国产观看| 一区二区三区中文字幕精品精品| 色八戒一区二区三区| 亚洲精品日韩一| 欧美性一级生活| 视频一区视频二区在线观看| 欧美疯狂性受xxxxx喷水图片| 天堂久久一区二区三区| 欧美一区二区在线不卡| 久久超碰97中文字幕| 久久伊人蜜桃av一区二区| 国产精品综合在线视频| 国产精品私人影院| 在线免费精品视频| 亚洲成av人影院| 欧美电影免费提供在线观看| 久久99精品国产| 中文字幕精品综合| 欧美怡红院视频| 美国欧美日韩国产在线播放| 久久久久久亚洲综合| 播五月开心婷婷综合| 亚洲精品成人a在线观看| 欧美精品tushy高清| 久久国产精品区| 中文一区一区三区高中清不卡| 99久久国产综合色|国产精品| 亚洲综合一区在线| 日韩视频在线观看一区二区| 国产精品一级在线| 亚洲女爱视频在线| 制服丝袜亚洲精品中文字幕| 国产在线观看一区二区| 成人欧美一区二区三区黑人麻豆| 欧美天天综合网| 国产乱码精品一区二区三区忘忧草| 中文字幕精品三区| 欧美亚洲动漫精品| 国产米奇在线777精品观看| 亚洲欧洲性图库| 欧美一区二区在线视频| 成人av电影在线观看| 丝袜美腿亚洲综合| 国产视频一区二区在线观看| 色噜噜偷拍精品综合在线| 免费看日韩a级影片| 中文字幕视频一区| 欧美一级爆毛片| 99久久99久久精品免费观看| 日本午夜一区二区| 亚洲欧美日韩一区二区| 欧美tk—视频vk| 欧美性受xxxx黑人xyx性爽| 国产一区二区三区电影在线观看| 夜夜夜精品看看| 久久久夜色精品亚洲| 欧美私人免费视频| 不卡av在线网| 韩国三级在线一区| 亚洲高清不卡在线| 国产精品久久久久久户外露出| 91精品欧美久久久久久动漫| 99在线精品一区二区三区| 麻豆中文一区二区| 亚洲高清一区二区三区| 国产精品久久久久久久裸模| 欧美va在线播放| 欧美视频完全免费看| av一本久道久久综合久久鬼色| 久久er精品视频| 亚洲午夜精品在线| 亚洲欧美日韩人成在线播放| 国产亚洲成av人在线观看导航 | 亚洲成人自拍偷拍| 国产精品色在线| 久久久久久久久久久久电影| 日韩三级在线免费观看| 欧美在线观看一二区| 成人动漫一区二区在线| 韩国av一区二区三区| 日本网站在线观看一区二区三区| 亚洲精品视频免费观看| 国产精品电影一区二区| 国产午夜精品美女毛片视频| 欧美裸体bbwbbwbbw| 在线一区二区三区四区五区| eeuss鲁片一区二区三区| 国产精品影视天天线| 免费av成人在线| 婷婷久久综合九色综合绿巨人| 亚洲美女精品一区| 中文字幕一区在线| 中文字幕永久在线不卡| 国产精品三级在线观看| 国产精品九色蝌蚪自拍| 中文字幕欧美三区| 国产精品伦理在线|