2013年8月20日 星期二

Array 陣列

陣列可以不用一開始就宣告
如:

Var
  Test:Tstrings;
  Yoo:String;
begin
  Yoo:='0123456789abcdefghijklmnopqrstuvwxyz';
  ShowMessage(Yoo[1]);    //值為0
  ShowMessage(Yoo[2]);    //值為1








也可直接宣告長度SetLenth(等待加入)

以下為利用ArrayFOR迴圈去除Delphi讀取資料時去除斷行與空白(我要做字典檔)
Var
  i, x:integer;
  Name:TStrings;


begin
  Name:=TStringList.Create;
  Name.LoadFromFile('D:\xxx1.txt');
  for i := 0 to Name.Count-1 do   Name[i]:= StringReplace(Name[i], ' ', '',[rfReplaceAll]);
  for i := Name.Count-1  downto 1 do
   begin
    Name[i-1]:= NAme[i-1]+ NAme[i];
   Name.Delete(i);                                         //在此遞減比較好用
   end;
  ShowMessage(Name[Name.Count-1]);
  Name.SaveToFile('D:\\xxx.txt');
  Name.Free;

{
 遞增概念
{
for i := 0 to Name.Count-2 do
   Begin
      Name[i+1]:=  Name[i]+ Name[i+1];    //遞增的方式有點奇怪,Delete會Index錯誤
      Name[i]:='';                                         //不能用delete 會影響FOR迴圈內Count的計算
   End;
}

沒有留言:

張貼留言