TStringList 常用方法与属性

简介: var List: TStringList; i: Integer; begin List := TStringList.Create; List.Add('Strings1'); {添加} List.
  1. var
  2. List: TStringList;
  3. i: Integer;
  4. begin
  5. List := TStringList.Create;
  6. List.Add('Strings1'); {添加}
  7. List.Add('Strings2');
  8. List.Exchange(0,1); {置换}
  9. List.Insert(0,'Strings3'); {插入}
  10. i := List.IndexOf('Strings1'); {第一次出现的位置}
  11. List.Sort; {排序}
  12. List.Sorted := True; {指定排序}
  13. List.Count; {总数}
  14. List.Text; {文本集合}
  15. List.Delete(0); {删除, 0是第一个数据}
  16. List.LoadFromFile('c:\tmp.txt');{打开}
  17. List.SaveToFile('c:\tmp.txt'); {保存}
  18. List.Clear; {清空}
  19. List.Free; {释放}
  20. end;
  21. --------------------------------------------------------------------------------

  22. //读入字符串

  23. var
  24. List: TStringList;
  25. begin
  26. List := TStringList.Create;
  27. List.CommaText := 'aaa,bbb,ccc,ddd';
  28. //相当于: List.Text := 'aaa' + #13#10 + 'bbb' + #13#10' + 'ccc' + '#13#10' + 'ddd';


  29. ShowMessage(IntToStr(List.Count)); //4

  30. ShowMessage(List.Strings[0]); //aaa 跟下面句差不多

  31. ShowMessage(List[0]); //aaa


  32. List.Free;
  33. end;
  34. --------------------------------------------------------------------------------

  35. //置换分隔符

  36. var
  37. List: TStringList;
  38. begin
  39. List := TStringList.Create;
  40. List.Delimiter := '|';
  41. List.DelimitedText := 'aaa|bbb|ccc|ddd';

  42. ShowMessage(IntToStr(List.Count)); //4

  43. ShowMessage(List[0]); //aaa


  44. List.Free;
  45. end;
  46. --------------------------------------------------------------------------------

  47. //类似的哈希表操作法

  48. var
  49. List: TStringList;
  50. begin
  51. List := TStringList.Create;

  52. List.Add('aaa=111');
  53. List.Add('bbb=222');
  54. List.Add('ccc=333');
  55. List.Add('ddd=444');

  56. ShowMessage(List.Names[1]); //bbb

  57. ShowMessage(List.ValueFromIndex[1]); //222

  58. ShowMessage(List.Values['bbb']); //222


  59. //ValueFromIndex 可以赋值:

  60. List.ValueFromIndex[1] := '2';
  61. ShowMessage(List[1]); //bbb=2


  62. //可以通过 Values 赋值:

  63. List.Values['bbb'] := '22';
  64. ShowMessage(List[1]); //bbb=22


  65. List.Free;
  66. end;
  67. --------------------------------------------------------------------------------

  68. //避免重复值

  69. var
  70. List: TStringList;
  71. begin
  72. List := TStringList.Create;

  73. List.Add('aaa');

  74. List.Sorted := True; //需要先指定排序

  75. List.Duplicates := dupIgnore; //如有重复值则放弃


  76. List.Add('aaa');

  77. ShowMessage(List.Text); //aaa


  78. //Duplicates 有3个可选值:

  79. //dupIgnore: 放弃;

  80. //dupAccept: 结束;

  81. //dupError: 提示错误.


  82. List.Free;
  83. end;
  84. --------------------------------------------------------------------------------

  85. //排序与倒排序

  86. {排序函数}
  87. function DescCompareStrings(List: TStringList; Index1, Index2: Integer): Integer;
  88. begin
  89. Result := -AnsiCompareText(List[Index1], List[Index2]);
  90. end;

  91. procedure TForm1.Button1Click(Sender: TObject);
  92. var
  93. List: TStringList;
  94. begin
  95. List := TStringList.Create;

  96. List.Add('bbb');
  97. List.Add('ccc');
  98. List.Add('aaa');

  99. //未排序

  100. ShowMessage(List.Text); //bbb ccc aaa


  101. //排序

  102. List.Sort;
  103. ShowMessage(List.Text); //aaa bbb ccc


  104. //倒排序

  105. List.CustomSort(DescCompareStrings); //调用排序函数

  106. ShowMessage(List.Text); //ccc bbb aaa


  107. //假如:

  108. List.Sorted := True;
  109. List.Add('999');
  110. List.Add('000');
  111. List.Add('zzz');
  112. ShowMessage(List.Text); //000 999 aaa bbb ccc zzz

  113. end;
相关文章
|
JavaScript
【JS面向对象编程常用方法】
【JS面向对象编程常用方法】
52 0
|
自然语言处理 安全 Java
枚举常用方法总结
枚举常用方法总结
84 0
|
存储 C# 索引
C#泛型集合常用方法
C#泛型集合常用方法
70 0
|
存储 C# 索引
C#视频—集合常用方法
C#视频—集合常用方法
|
存储 人工智能 算法
唯一分解定理常用方法
唯一分解定理常用方法
125 0
|
索引 Python
列表常用方法
python基础之列表常用方法🐵🐵🐵 持续更新python基础知识,欢迎各位来访~🥳🥳🥳
101 0
列表常用方法
|
算法 Java 索引
Object类的常用方法
1)==既可以判断基本类型,又可以判断引用类型 ①如果判断的是基本类型,判断的是值是否相等 ②如果判断引用类型,判断的是地址是否相等,即判断是不是同一个对象 2)equals是Object类中的方法,只能判断引用类型。默认判断的是地址是否相等,子类一般都重写该方法。
130 0