zoukankan      html  css  js  c++  java
  • 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.
    
  • 相关阅读:
    html/css 滚动到元素位置,显示加载动画
    React 监听页面滚动,界面动态显示
    Html/css 列表项 区分列表首尾
    Html/css 水平布局居中
    Html 设置标题栏顶部固定
    TypeScript 引用资源文件后提示找不到的异常处理
    Github自动打包并推送Nuget版本
    获取电脑的网络连接状态(六)适配器状态 及 几种方案耗时对比
    获取电脑的网络连接状态(五)WebClient
    获取电脑的网络连接状态(四)IPHost
  • 原文地址:https://www.cnblogs.com/del/p/1328326.html
Copyright © 2011-2022 走看看