zoukankan      html  css  js  c++  java
  • 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  更新时间:

  • 相关阅读:
    360安全浏览器发布
    搬家了
    驾驶员考试科目一通过
    脑海中总有些新念头
    2008汤姆斯杯尤伯杯羽毛球赛事直播时刻表
    操作日期和时间
    数据库设计中的14个技巧
    字段属性(空值、缺省值、标记字段/自增字段)
    SQL触发器
    数据库质疑事件 总结
  • 原文地址:https://www.cnblogs.com/guorongtao/p/14072007.html
Copyright © 2011-2022 走看看