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.