WinAPI: EqualRect、EqualSid、EqualPrefixSid - 判断一个矩形(或其他结构)是否相等


unit Unit1;



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

  end;



var

  Form1: TForm1;



implementation



{$R *.dfm}



var

  R1: TRect = (Left:20; Top:20; Right:20; Bottom:20);

  R2: TRect = (Left:20; Top:20; Right:20; Bottom:20);



//EqualRect

procedure TForm1.Button1Click(Sender: TObject);

var

  s1,s2: string;

begin

  ShowMessage(BoolToStr(EqualRect(R1,R2), True));  {True}



  OffsetRect(R2, 10, 10);

  ShowMessage(BoolToStr(EqualRect(R1,R2), True));  {False}

end;



//EqualSid: 它可用于判断所有结构; EqualRect 是专用于 TRect 的.

procedure TForm1.Button2Click(Sender: TObject);

begin

  ShowMessage(BoolToStr(EqualSid(@R1,@R2), True)); {True}



  OffsetRect(R2, 10, 10);

  ShowMessage(BoolToStr(EqualSid(@R1,@R2), True)); {False}

end;



//EqualPrefixSid: 它和 EqualSid 的用法一样, 可能是适用于和服务器联系的.

procedure TForm1.Button3Click(Sender: TObject);

begin

  ShowMessage(BoolToStr(EqualPrefixSid(@R1,@R2), True)); {True}



  OffsetRect(R2, 10, 10);

  ShowMessage(BoolToStr(EqualPrefixSid(@R1,@R2), True)); {False}

end;



end.


 
   

你可能感兴趣的:(equals)