point.pas
来自「《Kylix程序设计》一书中附带的例程源代码」· PAS 代码 · 共 82 行
PAS
82 行
unit Point;interfacetype TMyData = record X: Integer; Y: Integer; end; PMyData = ^TMyData;function Create(): PMyData; overload;function Create( const X, Y: Integer ): PMyData; overload;procedure Access( Data: PMyData; var X, Y: Integer );procedure Modify( Data: PMyData; const X, Y: Integer );procedure Destroy( Data: PMyData );// TSearchFunc = function ( Data: Pointer ): Boolean;function SearchFunc( Where, What: Pointer ): Boolean;{// TTouchFunc = procedure ( Data: Pointer );procedure TouchFunc( Data: Pointer );}implementationfunction Create(): PMyData;var p: PMyData;begin new( p ); p^.X := 0; p^.Y := 0; Result := p;end;function Create( const X, Y: Integer ): PMyData;var p: PMyData;begin new( p ); p^.X := X; p^.Y := Y; Result := p;end;procedure Access( Data: PMyData; var X, Y: Integer );begin X := Data^.X; Y := Data^.Y;end;procedure Modify( Data: PMyData; const X, Y: Integer );begin Data^.X := X; Data^.Y := Y;end;procedure Destroy( Data: PMyData );begin if Assigned( Data ) then begin Dispose( Data ); Data := nil; end;end;function SearchFunc( Where, What: Pointer ): Boolean;begin if ( PMyData( Where )^.X = PMyData( What )^.X ) and ( PMyData( Where )^.Y = PMyData( What )^.Y ) then Result := true else Result := false;end;{// TTouchFunc = procedure ( Data: Pointer );procedure TouchFunc( Data: Pointer );beginend;}end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?