⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.pas

📁 《Kylix程序设计》一书中附带的例程源代码
💻 PAS
字号:
unit Main;interfaceuses  SysUtils, Types, Classes, Variants, QGraphics, QControls, QForms, QDialogs,  QStdCtrls, QExtCtrls;type  TFrmMain = class(TForm)    BtnTA: TButton;    BtnTB: TButton;    BtnTC: TButton;    procedure BtnTAClick(Sender: TObject);    procedure BtnTBClick(Sender: TObject);    procedure BtnTCClick(Sender: TObject);  private    { Private declarations }  public    { Public declarations }  end;var  FrmMain: TFrmMain;implementationuses Bases;{$R *.xfm}procedure TFrmMain.BtnTAClick(Sender: TObject);var  n: Integer;  str: string;  x, y: Integer;begin  x := 10;  y := 10;  A := TA.Create();  n := A.Do1();  str := 'A.Self at ' + IntToHex( n, 8 ) + '.';  Canvas.TextOut( x, y, str );  Inc( y, 25 );  n := Integer( @A.FA );  str := 'A.FA at ' + IntToHex( n, 8 ) + '.';  Canvas.TextOut( x, y, str );  Inc( y, 25 );  pm := A.Do1;  str := '@pm(A.Do1) at ' + IntToHex( Integer( @pm ), 8 ) + '.';  Canvas.TextOut( x, y, str );  Inc( y, 25 );  str := '@@pm at ' + IntToHex( Integer( @@pm ), 8 ) + '.';  Canvas.TextOut( x, y, str );  Inc( y, 25 );  pn := A.InstanceSize;//  n := A.InstanceSize;//  str := 'n is ' + IntToStr( n ) + '.';  str := '@pn(A.InstanceSize) at ' + IntToHex( Integer( @pn ), 8 ) + '.';  Canvas.TextOut( x, y, str );  Inc( y, 25 );  str := '@@pn at ' + IntToHex( Integer( @@pn ), 8 ) + '.';  Canvas.TextOut( x, y, str );  Inc( y, 25 );  FreeAndNil( A );end;procedure TFrmMain.BtnTBClick(Sender: TObject);var  n: Integer;  str: string;  x, y: Integer;begin  x := 330;  y := 10;  B := TB.Create();  n := B.Do1();  str := 'B.Self using Do1() at ' + IntToHex( n, 8 ) + '.';  Canvas.TextOut( x, y, str );  Inc( y, 25 );  n := B.Do2();  str := 'B.Self using Do2() at ' + IntToHex( n, 8 ) + '.';  Canvas.TextOut( x, y, str );  Inc( y, 25 );  n := Integer( @B.FA );  str := 'B.FA at ' + IntToHex( n, 8 ) + '.';  Canvas.TextOut( x, y, str );  Inc( y, 25 );  n := Integer( @B.FB );  str := 'B.FB at ' + IntToHex( n, 8 ) + '.';  Canvas.TextOut( x, y, str );  Inc( y, 25 );  pm := B.Do1;  str := '@pm(B.Do1) at ' + IntToHex( Integer( @pm ), 8 ) + '.';  Canvas.TextOut( x, y, str );  Inc( y, 25 );  str := '@@pm at ' + IntToHex( Integer( @@pm ), 8 ) + '.';  Canvas.TextOut( x, y, str );  Inc( y, 25 );{ have these, get chap1103.bmp  pm := TA(B).Do1;  str := '@pm(TA(B).Do1) at ' + IntToHex( Integer( @pm ), 8 ) + '.';  Canvas.TextOut( x, y, str );  Inc( y, 25 );  str := '@@pm at ' + IntToHex( Integer( @@pm ), 8 ) + '.';  Canvas.TextOut( x, y, str );  Inc( y, 25 );}  pn := B.Do2;  str := '@pn(B.Do2) at ' + IntToHex( Integer( @pn ), 8 ) + '.';  Canvas.TextOut( x, y, str );  Inc( y, 25 );  str := '@@pn at ' + IntToHex( Integer( @@pn ), 8 ) + '.';  Canvas.TextOut( x, y, str );  Inc( y, 25 );  pn := B.InstanceSize;  str := '@pn(B.InstanceSize) at ' + IntToHex( Integer( @pn ), 8 ) + '.';  Canvas.TextOut( x, y, str );  Inc( y, 25 );  str := '@@pn at ' + IntToHex( Integer( @@pn ), 8 ) + '.';  Canvas.TextOut( x, y, str );  Inc( y, 25 );  FreeAndNil( B );end;procedure TFrmMain.BtnTCClick(Sender: TObject);begin  //end;end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -