AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi dyn. zweidimensionales Array an eine Funktion übergeben
Thema durchsuchen
Ansicht
Themen-Optionen

dyn. zweidimensionales Array an eine Funktion übergeben

Ein Thema von bennle · begonnen am 10. Okt 2007 · letzter Beitrag vom 10. Okt 2007
Antwort Antwort
bennle

Registriert seit: 22. Jul 2005
Ort: Kehl
139 Beiträge
 
Delphi 2007 Professional
 
#1

dyn. zweidimensionales Array an eine Funktion übergeben

  Alt 10. Okt 2007, 15:12
Hallo,
Wie der Titel verrät möchte ich eine Funktion haben, welche ein dynamisches zweidimensionales Array aufnimmt.

Ich habe es folgendermaßen versucht:
function (xy: Array of Array of String) .... Leider ohne Erfolg! Wie kann ich das realisieren ohne unbedingt dieses Array als globale Variable zu setzen?
Gruß
Benny
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: dyn. zweidimensionales Array an eine Funktion übergeben

  Alt 10. Okt 2007, 15:13
Delphi-Quellcode:
type
  Foo = array of array of string;

procedure bar(xyz: Foo);
begin
  // ...
end;
  Mit Zitat antworten Zitat
bennle

Registriert seit: 22. Jul 2005
Ort: Kehl
139 Beiträge
 
Delphi 2007 Professional
 
#3

Re: dyn. zweidimensionales Array an eine Funktion übergeben

  Alt 10. Okt 2007, 15:16
Super, klappt hervorragend! Einfacher als ich dachte
Gruß
Benny
  Mit Zitat antworten Zitat
bennle

Registriert seit: 22. Jul 2005
Ort: Kehl
139 Beiträge
 
Delphi 2007 Professional
 
#4

Re: dyn. zweidimensionales Array an eine Funktion übergeben

  Alt 10. Okt 2007, 17:38
Zu früh gefreut!! Leider bekomme ich nun folgenden Fehler, wenn ich die Funktion ausführen will:
[DCC Fehler] Unit5.pas(308): E2010 Inkompatible Typen: 'a_Daten' und 'dynamic array' a_Daten war natürlich ein dynamisches Array nur wurden diesem nun Werte zugewiesen! Wie kann ich diese Daten nun in meiner Funktion nutzen?
Ich kenne ja leider nicht die Eingabegröße!
Gruß
Benny
  Mit Zitat antworten Zitat
Lord Shadow

Registriert seit: 10. Okt 2007
15 Beiträge
 
#5

Re: dyn. zweidimensionales Array an eine Funktion übergeben

  Alt 10. Okt 2007, 17:43
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
  Mit Zitat antworten Zitat
bennle

Registriert seit: 22. Jul 2005
Ort: Kehl
139 Beiträge
 
Delphi 2007 Professional
 
#6

Re: dyn. zweidimensionales Array an eine Funktion übergeben

  Alt 10. Okt 2007, 17:51
Zitat von Lord Shadow:
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
Ja das ist mir klar, allerdings habe ich wie oben eine function erstellt! Als Eingabewert der Funktion wurde einfach das type Array of Array of String gewählt.
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!
Gruß
Benny
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.095 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#7

Re: dyn. zweidimensionales Array an eine Funktion übergeben

  Alt 10. Okt 2007, 18:19
Hi,

ich Schätze, es du hast es so:

Delphi-Quellcode:
type
  T2DStrings = array of array of String;

function foo(Strings: T2DStrings): TBlubb;

...
var
  Foo2: array of array of String;
...
if foo(Foo2) then
  ...
Ändere die Variablendeklaration dann auch in

Delphi-Quellcode:
var
  Foo2: T2DStrings;
Mfg
FAlter
Felix Alter
Japanurlaub 2015
  Mit Zitat antworten Zitat
bennle

Registriert seit: 22. Jul 2005
Ort: Kehl
139 Beiträge
 
Delphi 2007 Professional
 
#8

Re: dyn. zweidimensionales Array an eine Funktion übergeben

  Alt 10. Okt 2007, 19:18
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?
Gruß
Benny
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: dyn. zweidimensionales Array an eine Funktion übergeben

  Alt 10. Okt 2007, 19:23
Einfach drunterschreiben.
Delphi-Quellcode:
type TFormBla = class(TForm)
  ...
end;

T2DStrings = array of array of String;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz