WinAPI 字符及字符串函数(13): lstrcmp、lstrcmpi - 对比串

lstrcmp 区分大小写; lstrcmpi 不区分大小写. 返回值: -1、0、1, 其中 0 表示相同.

unit Unit1;



interface



uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls;



type

  TForm1 = class(TForm)

    Button1: TButton;

    Button2: TButton;

    Button3: TButton;

    Button4: TButton;

    Button5: TButton;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

    procedure Button4Click(Sender: TObject);

    procedure Button5Click(Sender: TObject);

  end;



var

  Form1: TForm1;



implementation



{$R *.dfm}



const

  Msgs: array[-1..1] of Char = ('<', '=', '>');



procedure TForm1.Button1Click(Sender: TObject);

var

  p1,p2: PChar;

  n: Integer;

begin

  p1 := 'A';

  p2 := 'B';



  n := lstrcmp(p1, p2);

  ShowMessageFmt('%s %s %s', [p1, Msgs[n], p2]); {A < B}



  n := lstrcmpi(p1, p2);

  ShowMessageFmt('%s %s %s', [p1, Msgs[n], p2]); {A < B}

end;



procedure TForm1.Button2Click(Sender: TObject);

var

  p1,p2: PChar;

  n: Integer;

begin

  p1 := 'A';

  p2 := 'a';



  n := lstrcmp(p1, p2);

  ShowMessageFmt('%s %s %s', [p1, Msgs[n], p2]); {A > a}



  n := lstrcmpi(p1, p2);

  ShowMessageFmt('%s %s %s', [p1, Msgs[n], p2]); {A = a}

end;



procedure TForm1.Button3Click(Sender: TObject);

var

  p1,p2: PChar;

  n: Integer;

begin

  p1 := 'ABC';

  p2 := 'abcd';



  n := lstrcmp(p1, p2);

  ShowMessageFmt('%s %s %s', [p1, Msgs[n], p2]); {ABC < abcd}



  n := lstrcmpi(p1, p2);

  ShowMessageFmt('%s %s %s', [p1, Msgs[n], p2]); {ABC < abcd}

end;



{这和 Delphi 的 CompareStr、CompareText 区别还是很大}

procedure TForm1.Button4Click(Sender: TObject);

var

  p1,p2: PChar;

  n: Integer;

begin

  p1 := 'A';

  p2 := 'a';



  n := CompareStr(p1, p2);

  ShowMessage(IntToStr(n)); {-32}



  n := CompareText(p1, p2);

  ShowMessage(IntToStr(n)); {0}

end;



{和 StrComp、StrIComp、StrLComp、StrLIComp 也不一样}

procedure TForm1.Button5Click(Sender: TObject);

var

  p1,p2: PChar;

  n: Integer;

begin

  p1 := 'A';

  p2 := 'a';



  n := StrComp(p1, p2);

  ShowMessage(IntToStr(n)); {-32}



  n := StrIComp(p1, p2);

  ShowMessage(IntToStr(n)); {0}



  n := StrLComp(p1, p2, 1);

  ShowMessage(IntToStr(n)); {-32}



  n := StrLIComp(p1, p2, 1);

  ShowMessage(IntToStr(n)); {0}

end;



end.


 
   

你可能感兴趣的:(字符串函数)