Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Parameter einer Procedure
THF - Di 22.02.05 18:31
Titel: Parameter einer Procedure
Hallo,
wie kann ich eine ARRAY-Variable als Parameter in einer Procedure übergeben,
und wie rufe die Procedure wieder auf:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| Procedure Test( var Testvariable :array of Integer;var Testvariable2 : array of TTest); ........ begin
end;
ProcedureTform.Button1Click(Sender: TObject); begin Test(Testvariable[1],Testvariable2[1]); end; |
Gruß
THF
Moderiert von
Christian S.: Code- durch Delphi-Tags ersetzt.Moderiert von
Christian S.: Topic aus VCL (Visual Component Library) verschoben am Di 22.02.2005 um 17:35
MrSaint - Di 22.02.05 18:37
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| type TArrayOfInteger = array of integer; TArrayOfTTest = array of TTest;
procedure Test(var Testvariable: TArrayOfInteger; var Testvariable2 : TArrayOfTTest); ........ begin
end; |
MrSaint
EDIT: hatte beim ersten Parameter vergessen, dass das auch ein Array ist :oops:
THF - Di 22.02.05 19:31
Hallo MrSaint,
kannst Du mir vielleicht noch erklären,
wie ich die Procedure dann wieder aufrufe ?
Delphi-Quelltext
1: 2: 3: 4:
| Procedure Tform.Button1Click(Sender: TObject); begin Test(Testvariable[1],Testvariable2[1]); end; |
Gruß
THF
Moderiert von
raziel: Code- durch Delphi-Tags ersetzt.
MrSaint - Di 22.02.05 19:59
Etwa so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.Button1Click(Sender: TObject); var aTestvariable : TArrayOfInteger; aTestvariable2 : TArrayOfTTest; begin Test(aTestvariable, aTestvariable2); end; |
THF - Mi 23.02.05 08:03
Hallo,
die eigentliche Array-Variable kann man wohl nicht als Parameter übergeben ?
Delphi-Quelltext
1: 2: 3: 4:
| procedure TForm1.Button1Click(Sender: TObject); begin Test(Testvariable[1],Testvariable2[1]); end; |
Gruß
THF
Moderiert von
Tino: Code- durch Delphi-Tags ersetzt.
MrSaint - Mi 23.02.05 10:30
Wie sind Testvariable und Testvariable2 denn deklariert? Du musst halt einen TArrayOfInteger und einen TArrayOfTTest übergeben...
MrSaint
THF - Mi 23.02.05 19:25
Hallo,
also so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.Button1Click(Sender: TObject); var Testvariable[1] : TArrayOfInteger; Testvariable2[1] : TArrayOfTTest; begin Test(Testvariable[1],Testvariable2[1]); end; |
Gruß
THF
MrSaint - Mi 23.02.05 19:56
hast du das so schonmal versucht zu compilieren?!? Lern erst mal ein bisschen Delphi Grundlagen! Aber ich will ja mal net so sein: Lass einfach immer das "[1]" weg, dann ist gut!
THF - Do 24.02.05 08:12
Hallo,
aber wie mache ich das wenn ich z.B. ein Array mit 10 Figuren habe und möchte die Figur[5] als Parameter der Procedure übergeben ?
Gruß
THF
Moderiert von
Tino: Überflüssige Absätze entfernt.
Sprint - Do 24.02.05 09:09
Das soll jetzt nur ein Beispiel sein.
Delphi-Quelltext
1: 2: 3: 4: 5:
| type TFigur = record ValueA: Integer; ValueB: Integer; end; |
Delphi-Quelltext
1: 2:
| type TFiguren = array of TFigur; |
Delphi-Quelltext
1: 2: 3: 4: 5:
| procedure Test(var AFigur: TFigur); begin AFigur.ValueA := 10; AFigur.ValueB := 20; end; |
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure TForm1.Button1Click(Sender: TObject); var Figuren: TFiguren; begin
SetLength(Figuren, 10); Test(Figuren[5]); SetLength(Figuren, 0);
end; |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!