• 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.
    
  • 相关阅读:
    arcgis新版本增加的功能
    arcgis python 创建 SQLite 数据库
    arcgis python添加几何属性
    点集转线python最优代码
    安装arcgis10.5不能启动服务的解决方案转
    arcgis10.5新功能图形缓冲
    %d format: a number is required, not str。
    MySql中4种批量更新的方法update table2,table1,批量更新用insert into ...on duplicate key update, 慎用replace into.
    开发语言综述
    PHP 工程师技能图谱
  • 原文地址:https://www.cnblogs.com/del/p/1328326.html
Copyright © 2020-2023  润新知