Einzelnen Beitrag anzeigen

Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Pointer auf "Array of String" an Funktion über

  Alt 27. Apr 2007, 16:00
Delphi-Quellcode:
procedure foo2(const list:Tstringlist);
begin
  //hier kann man alles der Liste ändern
  list.add('0');
  list.add('2');
  list.add('');
  list.add('Ende');
end;

procedure foo1(p:pointer);
var b:array of string;
begin
  //!!!hier nicht die Größe des arrays ändern!!!
  b:=p;
  b[0]:='0';
  b[1]:='2';
  b[9]:='Ende';
end;
procedure TForm1.Button1Click(Sender: TObject);
var a:array of string;
    i:integer;

    list:Tstringlist;
begin
//Beispiel mit array of string
  setlength(a,10);
  for i:=0 to 9 do a[i]:='';
  foo1(a);
  for i:=0 to 9 do memo1.Lines.Add(a[i]);
  finalize(a);

  memo1.lines.add('------------');
//Beispiel mit Tstringlist
  list:=Tstringlist.Create;
  try
    foo2(list);
    memo1.lines.addstrings(list);
  finally
    list.free;
  end;
end;
Ich würde dir die TStringlist-Variante empfehlen. Die ist genau dafür gemacht. Ausserdem kann man mit einer StringList noch viel mehr machen (siehe: insert, move, delete, addstrings) und zugreifen kannst du damit auch, wie auf ein array "s:=list[1]"
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat