Frage : Delphi-Laden-Daten in dynamischen Arras zwei von einem einzelnen Verfahren

Ich lasse benennen, aus Furcht dass sagen, Procedure1 und erkläre die folgenden zwei dtynamic Reihen:
Var SourceArray, DestArray: Reihe Schnur;

From Procedure1 ich möchten Procedure2 oder Function2, in dem ich Daten in SourceArray oder in DestArray laden möchte, indem ich den Namen der Reihe zu Verfahren 2 benennen führe, folglich steuernd durch das Überschreiten des Namens der Reihe, in den Reihen-Verfahren 2, die Daten zu laden ist.  Wie wird dieses getan?

Antwort : Delphi-Laden-Daten in dynamischen Arras zwei von einem einzelnen Verfahren

nach das Codewort, das Sie suchen, ist „VAR“

- Daten zu einem Verfahren übermitteln, das diese Variable nicht ändern muss:
Art
  TMyArray = Reihe Schnur;
Verfahren Test1 (arr: TMyArray);
anfangen
  ShowMessage (Format („Feldelemente: %d“, [Höhe (arr)]));
Ende;

zu Daten zu einem Verfahren übermitteln, das ändern muss (oder die Variable ausfüllen):
Art
  TMyArray = Reihe Schnur;
Verfahren Test2 (var arr: TMyArray);
var I: Ganze Zahl;
anfangen
  SetLength (arr, 10);
  für I: = niedrig (arr) zur Höhe (arr) tun
    arr [I]: = IntToStr (I);
Ende;

Sie können die Zahl Parametern auch ändern
Art
  TMyArray = Reihe Schnur;
Verfahren Test3 (var arr1, arr2: TMyArray);
var I: Ganze Zahl;
anfangen
  SetLength (arr1, 10);
  für I: = niedrig (arr1) zur Höhe (arr1) tun
    arr1 [I]: = IntToStr (I);
  SetLength (arr2, 20);
  für I: = niedrig (arr2) zur Höhe (arr2) tun
    arr2 [I]: = IntToStr (I);
Ende;

oder Test3 so schreiben:
schreiben
  TMyArray = Reihe Schnur;
Verfahren Test3 (var arr1, arr2: TMyArray);
var I: Ganze Zahl;
anfangen
  Test2 (arr1);
  SetLength (arr2, 20);
  für I: = niedrig (arr2) zur Höhe (arr2) tun
    arr2 [I]: = IntToStr (I);
Ende;



Weitere Lösungen  
 
programming4us programming4us