• Delphi 容器类 TStringList 常用方法与属性(取值、赋值、排序)


    Delphi 容器类 TStringList 常用方法与属性(取值、赋值、排序)

    1、常用方法和属性

    var
      List: TStringList;
      i: Integer;
    begin
      List := TStringList.Create;
      List.Add('Test1');            {添加}
      List.Add('Test2');
      List.Exchange(0,1);           {置换}
      List.Insert(0,'Test3');      {插入}
      i := List.IndexOf('Test1'); {首次出现的位置}
      List.Sort;                       {排序}
      List.Sorted := True;	       {指定排序}
      List.Count;                {总数}
      List.Text;                 {文本集合}
      List.Delete(0);            {删除, 0是第一个数据}
      List.LoadFromFile('c:	est.txt');{打开}
      List.SaveToFile('c:	est.txt'); {保存}
      List.Clear;                {清空}
      List.Free;                 {释放}
    end;  

    2、读字符

    var
      List: TStringList;
    begin
      List := TStringList.Create;
      List.CommaText := 'aa,bb,cc';
      ShowMessage(IntToStr(List.Count)); //3
      ShowMessage(List[0]); //aa
      List.Free;
    end;
    

    3、置换符号(分隔符)

    var
      List: TStringList;
    begin
      List := TStringList.Create;
      List.Delimiter := '|';
      List.DelimitedText := 'aa|bb|cc';
      ShowMessage(IntToStr(List.Count)); //3
      ShowMessage(List[0]); //aa
      List.Free;
    end;
    

    4、Name=Value 取值、赋值

    var
      List: TStringList;
    begin
      List := TStringList.Create;
    
      List.Add('aa=100');
      List.Add('bb=200');
      List.Add('cc=300');
    
      ShowMessage(List.Names[1]); //bb
      ShowMessage(List.ValueFromIndex[1]); //200
      ShowMessage(List.Values['bb']); //200
    
      //通过ValueFromIndex 赋值:
      List.ValueFromIndex[1] := '400';
      ShowMessage(List[1]); //bb=400
    
      //通过 Values 赋值:
      List.Values['bb'] := '500';
      ShowMessage(List[1]); //bb=500
    
      List.Free;
    end;
    

    5、忽略 重复值

    var
      List: TStringList;
    begin
      List := TStringList.Create;
    
      List.Add('aa');
    
      List.Sorted := True; //先指定排序
      List.Duplicates := dupIgnore; //重复值忽略
    
      List.Add('aa');
    
      ShowMessage(List.Text); //aa
    
      List.Free;
    end;
    

    List.Duplicates 个可选值:

    • dupIgnore: 放弃;
    • dupAccept: 结束;
    • dupError: 提示错误.

    6、排序

    {排序函数}
    function DescCompareStrings(List: TStringList; Index1, Index2: Integer): Integer;
    begin
      Result := -AnsiCompareText(List[Index1], List[Index2]);
    end;
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
      List: TStringList;
    begin
      List := TStringList.Create;
      List.Add('bb');
      List.Add('cc');
      List.Add('aa');
      //未排序
      ShowMessage(List.Text); //bb cc aa
      //排序
      List.Sort;
      ShowMessage(List.Text); //aa bb cc
      //倒排序
      List.CustomSort(DescCompareStrings); //调用排序函数
      ShowMessage(List.Text); //cc bb aa
    end;
    

      


    创建时间:2020.12.02  更新时间:

  • 相关阅读:
    视频解析小技巧
    linux系统路由设置
    tracert路由跟踪命令
    php+nginx
    docker快速拉取镜像
    linux命令
    添加docker命令
    linux模糊查询文件名
    查看日志
    模板函数与模板类
  • 原文地址:https://www.cnblogs.com/guorongtao/p/14072007.html
Copyright © 2020-2023  润新知