Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Mehrdimensionales dynamisches Array an procedure übergeben (https://www.delphipraxis.net/139188-mehrdimensionales-dynamisches-array-procedure-uebergeben.html)

Baeuerle 25. Aug 2009 11:46


Mehrdimensionales dynamisches Array an procedure übergeben
 
Hallo,

ich habe folgenden code:

Delphi-Quellcode:

TAttributes = array[0..1] of WideString;

procedure test(attrlist: array of TAttributes);
begin
//...
end;

procedure CallTest;
begin
test([VarArrayOf['Name','Anton'],VarArrayOf['Alter','36']]);
test([VarArrayOf['Name','Gregor']]);
end;
Gibt es eine Aufrufmöglichkeit in ohne diese VarArrayOf like this ???

Delphi-Quellcode:
test([['Name','Anton'],['Alter','36']]);
test([['Name','Gregor']]);

himitsu 25. Aug 2009 11:56

Re: Mehrdimensionales dynamisches Array an procedure übergeb
 
ich befürchte nicht, aber sowas ginge noch
Delphi-Quellcode:
procedure test(attrlist: array of const);

test(['Name', 'Anton', 'Alter', '36']);
test(['Name', 'Gregor']);

Alaitoc 25. Aug 2009 12:04

Re: Mehrdimensionales dynamisches Array an procedure übergeb
 
Ich würde es ja eigentlich immer so machen...

Delphi-Quellcode:
type
  TEindimensional = array[0..1] of String;
  TMehrdimensional = array of TEindimensional;

procedure test(attrlist: TMehrdimensional);
begin
//...
end;

procedure CallTest;
var bsp:TMehrdimensional;
begin
  // <- Hier der Inhalt
  test(bsp);
end;
Oder wie es himitsu beschrieben hat...wobei da vll zuweisbare typisierte Konstanten noch ganz hilfreich wären...

Wobei vll natürlich auch ganz hilfreich wäre:

Delphi-Quellcode:
type
  TAttributes = record
    sName : String;
    iAlter: Integer;
  end;

procedure test(attrlist: array of TAttributes);
var
  infos:TAttributes;
begin
  infos.sName:='Anton';
  infos.iAlter:=36;
  test(infos);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:11 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-2025 by Thomas Breitkreuz