Einzelnen Beitrag anzeigen

Dejan Vu
(Gast)

n/a Beiträge
 
#5

AW: unbekannte Anzahl Wertepaare = dyn array ?

  Alt 6. Aug 2014, 16:02
Delphi-Quellcode:
// geht so:
Procedure AddPersonV1(pname : String; Eigenschaften : Array Of Const);
// oder so
Procedure AddPersonV2(pname : String; Eigenschaften : Variant);
//
// Aufruf mit
AddPersonV1('Paul',['Foo','Bar','Bla']);
AddPersonV1('Paul',VarArrayOf(['Foo','Bar','Bla']));
AddPersonV1('Bernd',VarArrayOf(['Foo','Bar','Bla','Nochmehr','Huppsi']));
Bei 'Array of Const' musst Du in der Prozedur mit 'TVarRec(Eigenschaften[i]).VString' (irgendwie so) arbeiten.
Delphi-Quellcode:
Procedure AddPersonV1(pname : String; Eigenschaften : Array Of Const);
var
  i : Integer;
begin
  memo1.lines.add(pname);
  for i:=0 to High(Eigenschaften) do
    memo1.lines.add (TVarRec(Eigenschaften[i]).VString);
End;
Irgendwie so (aus dem Gedächtnis).

Edit: Achso, mit Werten...
Delphi-Quellcode:
Procedure AddPersonV1(pname : String; Eigenschaften,Werte : Array Of Const);
var
  i : Integer;
begin
  Assert(High(Eigenschaften) = High(Werte), 'Eigenschaften und Werte müssen gleich viel Elemente enthalten);
memo1.lines.add(pname);
for i:=0 to High(Eigenschaften) do
memo1.lines.add (Format(
'%s=%s', [TVarRec(Eigenschaften[i]).VString,TVarRec(Werte[i]).VString)]);
End;
Hoffe, das geht so ähnlich.

Geändert von Dejan Vu ( 6. Aug 2014 um 16:07 Uhr)
  Mit Zitat antworten Zitat