![]() |
dyn. zweidimensionales Array an eine Funktion übergeben
Hallo,
Wie der Titel verrät möchte ich eine Funktion haben, welche ein dynamisches zweidimensionales Array aufnimmt. Ich habe es folgendermaßen versucht:
Delphi-Quellcode:
Leider ohne Erfolg! Wie kann ich das realisieren ohne unbedingt dieses Array als globale Variable zu setzen?
function (xy: Array of Array of String) ....
|
Re: dyn. zweidimensionales Array an eine Funktion übergeben
Delphi-Quellcode:
type
Foo = array of array of string; procedure bar(xyz: Foo); begin // ... end; |
Re: dyn. zweidimensionales Array an eine Funktion übergeben
Super, klappt hervorragend! Einfacher als ich dachte :D
|
Re: dyn. zweidimensionales Array an eine Funktion übergeben
Zu früh gefreut!! Leider bekomme ich nun folgenden Fehler, wenn ich die Funktion ausführen will:
Delphi-Quellcode:
a_Daten war natürlich ein dynamisches Array nur wurden diesem nun Werte zugewiesen! Wie kann ich diese Daten nun in meiner Funktion nutzen?
[DCC Fehler] Unit5.pas(308): E2010 Inkompatible Typen: 'a_Daten' und 'dynamic array'
Ich kenne ja leider nicht die Eingabegröße! |
Re: dyn. zweidimensionales Array an eine Funktion übergeben
Falls du mir Eingabegröße meinst wieviele Einträge das Array besitzt dies erhältst du mit high(Array). Und noch was ein Array muss immer bevor du mit dem Arbeitest eine festgelegte Größe haben setlength(Array,x).
Mfg Shadow |
Re: dyn. zweidimensionales Array an eine Funktion übergeben
Zitat:
Nun setze ich das definierte Array (z.B. mit 5 Feldern) in die function ein. Und dann kommt die Meldung! Ich verstehe es so, als würde er gerne das Array von der Funktion genauer definiert bekommen! (also Statisch!) Was muss ich tun, damit ich mein Array hineinbekomme? Ohne die dynamische Größe zu verlieren! |
Re: dyn. zweidimensionales Array an eine Funktion übergeben
Hi,
ich Schätze, es du hast es so:
Delphi-Quellcode:
Ändere die Variablendeklaration dann auch in
type
T2DStrings = array of array of String; function foo(Strings: T2DStrings): TBlubb; ... var Foo2: array of array of String; ... if foo(Foo2) then ...
Delphi-Quellcode:
Mfg
var
Foo2: T2DStrings; FAlter |
Re: dyn. zweidimensionales Array an eine Funktion übergeben
Super! Das führte zum Erfolg!
Kann ich eigentlich dieses type gleich oben im "Kopf" definieren?? Also an der Stelle mit den Objektdeklarationen. Wenn ja wie? |
Re: dyn. zweidimensionales Array an eine Funktion übergeben
Einfach drunterschreiben.
Delphi-Quellcode:
type TFormBla = class(TForm)
... end; T2DStrings = array of array of String; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 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