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 + -
显示快捷键?