Delphi中TStringList类常用属性方法详解

 

  
  
  
  
  1. //TStringList 常用方法与属性: 
  2. var 
  3.   List: TStringList; 
  4.   i: Integer
  5. begin 
  6.   List := TStringList.Create
  7.   List.Add('Strings1');           {添加} 
  8.   List.Add('Strings2'); 
  9.   List.Exchange(0,1);             {置换} 
  10.   List.Insert(0,'Strings3');      {插入} 
  11.   i := List.IndexOf('Strings1');  {第一次出现的位置} 
  12.   List.Sort;                      {排序} 
  13.   List.Sorted := True;   {指定排序} 
  14.   List.Count;                     {总数} 
  15.   List.Text;                      {文本集合} 
  16.   List.Delete(0);                 {删除, 0是第一个数据} 
  17.   List.LoadFromFile('c:\tmp.txt');{打开} 
  18.   List.SaveToFile('c:\tmp.txt');  {保存} 
  19.   List.Clear;                     {清空} 
  20.   List.Free;                      {释放} 
  21. end
  22.   
  23. //读入字符串 
  24. var 
  25.   List: TStringList; 
  26. begin 
  27.   List := TStringList.Create
  28.   List.CommaText := 'aaa,bbb,ccc,ddd'
  29.   //相当于: List.Text := 'aaa' + #13#10 + 'bbb' + #13#10' + 'ccc' + '#13#10' + 'ddd'; 
  30.   
  31.   ShowMessage(IntToStr(List.Count));  //4 
  32.   ShowMessage(List[0]);  //aaa 
  33.   
  34.   List.Free
  35. end
  36.   
  37. //置换分隔符 
  38. var 
  39.   List: TStringList; 
  40. begin 
  41.   List := TStringList.Create
  42.   List.Delimiter := '|'
  43.   List.DelimitedText := 'aaa|bbb|ccc|ddd'
  44.   
  45.   ShowMessage(IntToStr(List.Count));  //4 
  46.   ShowMessage(List[0]);  //aaa 
  47.   
  48.   List.Free
  49. end
  50. //类似的哈希表操作法 
  51. var 
  52.   List: TStringList; 
  53. begin 
  54.   List := TStringList.Create
  55.   
  56.   List.Add('aaa=111'); 
  57.   List.Add('bbb=222'); 
  58.   List.Add('ccc=333'); 
  59.   List.Add('ddd=444'); 
  60.   
  61.   ShowMessage(List.Names[1]);  //bbb 
  62.   ShowMessage(List.ValueFromIndex[1]);  //222 
  63.   ShowMessage(List.Values['bbb']);  //222 
  64.   
  65.   //ValueFromIndex 可以赋值: 
  66.   List.ValueFromIndex[1] := '2'
  67.   ShowMessage(List[1]);  //bbb=2 
  68.   
  69.   //可以通过 Values 赋值: 
  70.   List.Values['bbb'] := '22'
  71.   ShowMessage(List[1]);  //bbb=22 
  72.   
  73.   List.Free
  74. end
  75.   
  76. //避免重复值 
  77. var 
  78.   List: TStringList; 
  79. begin 
  80.   List := TStringList.Create
  81.   
  82.   List.Add('aaa'); 
  83.   
  84.   List.Sorted := True;  //需要先指定排序 
  85.   List.Duplicates := dupIgnore;  //如有重复值则放弃 
  86.   
  87.   List.Add('aaa'); 
  88.   
  89.   ShowMessage(List.Text);  //aaa 
  90.   
  91.   //Duplicates 有3个可选值: 
  92.   //dupIgnore: 放弃; 
  93.   //dupAccept: 结束; 
  94.   //dupError: 提示错误. 
  95.   
  96.   List.Free
  97. end
  98. //排序与倒排序 
  99. {排序函数} 
  100. function DescCompareStrings(List: TStringList; Index1, Index2: Integer): Integer
  101. begin 
  102.   Result := -AnsiCompareText(List[Index1], List[Index2]); 
  103. end
  104.   
  105. procedure TForm1.Button1Click(Sender: TObject); 
  106. var 
  107.   List: TStringList; 
  108. begin 
  109.   List := TStringList.Create
  110.   
  111.   List.Add('bbb'); 
  112.   List.Add('ccc'); 
  113.   List.Add('aaa'); 
  114.   
  115.   //未排序 
  116.   ShowMessage(List.Text);  //bbb ccc aaa 
  117.   
  118.   //排序 
  119.   List.Sort; 
  120.   ShowMessage(List.Text);  //aaa bbb ccc 
  121.   
  122.   //倒排序 
  123.   List.CustomSort(DescCompareStrings);  //调用排序函数 
  124.   ShowMessage(List.Text);  //ccc bbb aaa 
  125.   
  126.   //假如: 
  127.   List.Sorted := True
  128.   List.Add('999'); 
  129.   List.Add('000'); 
  130.   List.Add('zzz'); 
  131.   ShowMessage(List.Text);  //000 999 aaa bbb ccc zzz 
  132. end

 

你可能感兴趣的:(Delphi,常用属性,TStringList类)