WinAPI字符及字符串函數(shù)(13):lstrcmp、lstrcmpi-對比串

字號:

lstrcmp 區(qū)分大小寫; lstrcmpi 不區(qū)分大小寫. 返回值: -1、0、1, 其中 0 表示相同.
    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 區(qū)別還是很大}
    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.