![]() |
2D Array als übergabeparameter
hallo,
wie übergabe ich ein 2D Array als Parameter ?? kann mir jemand bitte ein beispiel geben :gruebel: |
Re: 2D Array als übergabeparameter
Hallo,
bei der Übergabe von Arrays als Parameter musst Du Dir für Dein Array einen Typ erzeugen, und diesen dann übergeben. Edit: achso, sorry - das Beispiel fehlte:
Delphi-Quellcode:
Unit Unit1;
Interface Uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; Type TMeinArrayType = Array Of String; Type TForm1 = Class(TForm) Button1: TButton; Procedure Button1Click(Sender: TObject); private Procedure ShowMsgFromArray(_aArray: TMeinArrayType; _iIndex: Integer); { Private-Deklarationen } public { Public-Deklarationen } End; Var Form1: TForm1; Implementation {$R *.dfm} Procedure TForm1.Button1Click(Sender: TObject); Var TestArray: TMeinArrayType; Begin SetLength(TestArray, 1); TestArray[0] := 'Hallo'; ShowMsgFromArray(TestArray, 0); End; Procedure TForm1.ShowMsgFromArray(_aArray: TMeinArrayType; _iIndex: Integer); Begin ShowMessage(_aArray[_iIndex]); End; End. |
Re: 2D Array als übergabeparameter
Du musst dir zuerst einen Typ für dein 2D-Array definieren und
dann den Parameter als diesen Typ deklarieren:
Delphi-Quellcode:
program myProg;
{$APPTYPE CONSOLE} uses SysUtils; type myArray = array [0..2] of array [0..2] of Integer; var hamster: myArray; function myFunction(param: myArray) : String; begin // mach was end; begin myFunction(hamster); end. @s-off: Ich glaube er wollte ein 2D-Array übergeben, dann passt dein Beispiel aber ned ganz :mrgreen: aber vom prinzip her passts :wink: |
Re: 2D Array als übergabeparameter
okay ich hab ein typ für mein array definiert, ich tue es in einer funktion füllen, wobei ich die größe dynamisch festlege, auf dieses array muss ich jetzt aus einer anderen klasse zugreifen, besser gesagt es nur lesen, deshalb muss ich doch das array als rückgabewert übergeben ? ja oder ?
also so ungefähr function controll : myarray; lieg ich da richtig ? |
Re: 2D Array als übergabeparameter
du kannst den Datentyp TMeinArray auch als Rückgabetyp deklarieren. Oder du setzt die Parameter in der Funktion als Var-Parameter und kannst sie dann in der funktion für das ganze Programm ändern.
Ersteres:
Delphi-Quellcode:
Letzteres:
function myFunction(param: TmyArray) : TmyArray;
begin ... result := param; end; procedure TForm1.Button1Click(Sender: TObject) var a, b : TmyArray begin SetLength(a, 2); SetLength(b, 2); a[0] := 'Wupp'; a[1] := 'di'; b := myFunction(a); end;
Delphi-Quellcode:
Nicht ausprobiert, sollte so aber gehen!
function myFunction(var param: TmyArray) : TString;
begin param[0] := 'Wuppdi'; end; procedure TForm1.Button1Click(Sender: TObject) var a : TmyArray begin SetLength(a, 1); a[0] := 'Hallo Welt'; myFunction(a); ShowMessage(a[0]); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz