Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Mehrere Strings an Procedure übergeben (https://www.delphipraxis.net/96371-mehrere-strings-procedure-uebergeben.html)

HolgerCW 23. Jul 2007 11:24


Mehrere Strings an Procedure übergeben
 
Hallo,

ich möchte mehrere Strings an eine Procedure übergeben.

Es können mal 2,3 oder bis maximal 10 sein.

Welchen Datentyp nehme ich dafür.

Wenn ich das so mache:

Delphi-Quellcode:
procedure TStrings_fuellen (Box:TStrings; Tabelle:String; Spalten: Array[1..10] of String; Anzahl:Integer; SQL: String; Order: String);
kommt die Fehlermeldung, das er anstatt '[' of erwatet, wenn ich die eckige Klammer aber weg lasse kann ich keinen einzelnen String übergeben ?

Gruss

Holger

marabu 23. Jul 2007 11:30

Re: Mehrere Strings an Procedure übergeben
 
Hallo Holger,

im Prozedurkopf hat die Array-Dimensionierung nichts verloren. Einfach weglassen.

Grüße vom marabu

HolgerCW 23. Jul 2007 11:38

Re: Mehrere Strings an Procedure übergeben
 
So klappt es jetzt:

Delphi-Quellcode:
procedure TStrings_fuellen (Box:TStrings; Tabelle:String; Spalten: Array of String; Anzahl:Integer; SQL: String; Order: String);
Musste nur die Werte, die ich übergeben will in eckige Klammern setzen.

Wie bekomme ich jetzt noch die Anzahl der übergebenen Werte aus dem Array raus ?

Gruss

Holger

scrat1979 23. Jul 2007 11:40

Re: Mehrere Strings an Procedure übergeben
 
Zitat:

Zitat von HolgerCW
So klappt es jetzt:

Delphi-Quellcode:
procedure TStrings_fuellen (Box:TStrings; Tabelle:String; Spalten: Array of String; Anzahl:Integer; SQL: String; Order: String);
Musste nur die Werte, die ich übergeben will in eckige Klammern setzen.

Wie bekomme ich jetzt noch die Anzahl der übergebenen Werte aus dem Array raus ?

Gruss

Holger

Gabs da nicht mal was mit Hi(Spalten) ???

SCRaT

Apollonius 23. Jul 2007 11:42

Re: Mehrere Strings an Procedure übergeben
 
Hi() und lo() sind für bestimmte Bereiche einer Zahl ("oberstes" und "unterstes" Byte). Für Arrays muss man richtiges Englisch verwenden: Low() und High(). Oder schlicht und einfach length().

HolgerCW 23. Jul 2007 11:45

Re: Mehrere Strings an Procedure übergeben
 
Vielen dank mit length klappt es ...

Gruss

Holger

RavenIV 23. Jul 2007 12:24

Re: Mehrere Strings an Procedure übergeben
 
Wie wäre es, wenn Du nicht mit einem festen Array, sondern mit TStringList arbeitest?
Da bist Du flexibler und musst nur soviel übergeben, wie es tatsächlich ist.

Und vor allem, wenn Du mal mehr wie 10 Strings hast, was machst Du dann?

DeddyH 23. Jul 2007 12:26

Re: Mehrere Strings an Procedure übergeben
 
Er übergibt doch bereits ein dynamisches Array.

RavenIV 23. Jul 2007 12:28

Re: Mehrere Strings an Procedure übergeben
 
Sorry, aber ich bin irgendwie allergisch gegen Array, egal ob dynamisch oder fest.
;-) ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:16 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