Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Prozeduren mit beliebig viel Parameter eingabe (https://www.delphipraxis.net/22632-prozeduren-mit-beliebig-viel-parameter-eingabe.html)

Nicodius 20. Mai 2004 15:21


Prozeduren mit beliebig viel Parameter eingabe
 
kennt ihr die prozedur concat(S1, S2, S2..) zieht all die Strings zusammen

so wie mach ich selber so ne procedure?

wo man beliebig viel eingeben kann(unendlich viele Strings zum Beispiel)

MrKnogge 20. Mai 2004 15:23

Re: Prozeduren mit beliebig viel Parameter eingabe
 
Wie wärs mit einem dynamischen Array.

Nicodius 20. Mai 2004 15:24

Re: Prozeduren mit beliebig viel Parameter eingabe
 
;) aber dann musste ja concat([s1,s2,s3]) schreiben

--> --> unser Professor sagte irgendwas anderes ... hab mir den Begriff aber nicht gemerkt

sakura 20. Mai 2004 15:25

Re: Prozeduren mit beliebig viel Parameter eingabe
 
Wie in Concat geht es nicht. Das ist "Compiler-Magic" wie es auch in der System.pas steht. Helfen nur Arrays.

...:cat:...

Mirilin 20. Mai 2004 15:25

Re: Prozeduren mit beliebig viel Parameter eingabe
 
:hi:

unendlich viele Overloads ? :mrgreen:

mfg Tobias

Nicodius 20. Mai 2004 15:27

Re: Prozeduren mit beliebig viel Parameter eingabe
 
:cry: er sagte aber das es geht ... ich sag euch am montag des wort das er verwendet hat!

MrKnogge 20. Mai 2004 15:27

Re: Prozeduren mit beliebig viel Parameter eingabe
 
Zitat:

Zitat von Nicodius
;) aber dann musste ja concat([s1,s2,s3]) schreiben

Wie übergibst du den ein dynamisches Array :shock:

Nicodius 20. Mai 2004 15:28

Re: Prozeduren mit beliebig viel Parameter eingabe
 
sorry :oops: ... habs vergessen gehabt :roll:

field : Array of strings;
concat(Field);

Tryer 20. Mai 2004 15:33

Re: Prozeduren mit beliebig viel Parameter eingabe
 
Zitat:

Zitat von Nicodius
so wie mach ich selber so ne procedure?

So ne machste garnicht, Concat ist keine Prozedur im eigentlichen Sinne sondern "Compiler-Magie". Die Deklarationsform gibt es also garnicht und Borland hat nur was im Compiler eingebaut um das Concat gesondert zu behandeln.

Schau mal in die Hilfe:
"Offene Arrayparameter"
"Variante offene Arrayparameter"

MfG,
Tryer

Nicodius 20. Mai 2004 15:34

Re: Prozeduren mit beliebig viel Parameter eingabe
 
danke ich schau mal

aber er hat gesgat es geht und das kommt in der zweiten klasse :roll: und der ist genauso wie ivle hier ein profi in delphi :zwinker:

MrKnogge 20. Mai 2004 15:35

Re: Prozeduren mit beliebig viel Parameter eingabe
 
Delphi-Quellcode:
procedure Test(t: array of string);
begin
  // hier dein kram
end;
Nun solltest du die procedure folgendermasen aufrufen können:

Delphi-Quellcode:
procedure Test(string1, string2);

Nicodius 20. Mai 2004 15:38

Re: Prozeduren mit beliebig viel Parameter eingabe
 
nein du musst nacher [string1, string2]schrieben oder täusche ich mich?

MrKnogge 20. Mai 2004 15:41

Re: Prozeduren mit beliebig viel Parameter eingabe
 
die eckigen Klammern brauchst du für den Index, du kannst dann so in deiner procedure drauf zu greifen:

Delphi-Quellcode:
ShowMessage(t[0]);
Und für die Übergabe, hast recht :oops:

toms 20. Mai 2004 15:41

Re: Prozeduren mit beliebig viel Parameter eingabe
 
@Nicodius: Ja, muss man

Nicodius 20. Mai 2004 15:42

Re: Prozeduren mit beliebig viel Parameter eingabe
 
eben ich wills aber ohne die eckigen :cry:

Christian Seehase 20. Mai 2004 17:11

Re: Prozeduren mit beliebig viel Parameter eingabe
 
Moin Nicodius,

Zitat:

Zitat von Nicodius
eben ich wills aber ohne die eckigen :cry:

dann musst Du es mit einer anderen Programmiersprache versuchen ;-)

Nicodius 20. Mai 2004 17:35

Re: Prozeduren mit beliebig viel Parameter eingabe
 
;) ... DAS MUSS DOCH GEHEN Zitat "mit delphi kann man doch fast(in diesem Sinne ja) alles"


by Stanlay

toms 20. Mai 2004 17:40

Re: Prozeduren mit beliebig viel Parameter eingabe
 
Zitat:

Zitat "mit delphi kann man doch fast(in diesem Sinne ja) alles"
Zitat im falschen Kontext :roll:
Bezieht sich wohl nicht auf die Syntax.

Nicodius 20. Mai 2004 17:49

Re: Prozeduren mit beliebig viel Parameter eingabe
 
:cry: es MUSS doch gehen

Skiron 20. Mai 2004 17:55

Re: Prozeduren mit beliebig viel Parameter eingabe
 
Irgendwie gehts sicher.
Ich weiß es zwar nicht für delphi, aber in C gehts, wenn man eine Header-Datei einbinden (stdarg.h oder so).
Das Problem ist aber, dass du irgendwie nicht Wissen kannst, wieviele Parameter mitgegeben wurden!
Deswegn würd ich die die Array-geschichte empfehlen, auch wenns nicht so schön ausschaut!

alcaeus 20. Mai 2004 18:41

Re: Prozeduren mit beliebig viel Parameter eingabe
 
Ich versteh nicht was du an den Arrays nicht leiden kannst. IMHO ist das doch viel geschickter, denn da kann ich alle Daten mit einer Schleife in ein Array schreiben und dann das Array übergeben. Mach das mal bei einer Funktion mit beliebig vielen Parametern. Wie gesagt, verwende die Arrays, du wirst dich leichter tun.

Nicodius 20. Mai 2004 21:15

Re: Prozeduren mit beliebig viel Parameter eingabe
 
ja aber ich will halt wissen wie das geht =)

Mirilin 20. Mai 2004 21:17

Re: Prozeduren mit beliebig viel Parameter eingabe
 
:hi:

Es geht anscheinend nicht. (ausser du hast lust x mal overload zu schreiben).

mfg Tobias

Nicodius 20. Mai 2004 21:22

Re: Prozeduren mit beliebig viel Parameter eingabe
 
wie funktioniert ein overload?

Mirilin 20. Mai 2004 21:23

Re: Prozeduren mit beliebig viel Parameter eingabe
 
:hi:

Wo liegt F1

mfg Tobias

Nicodius 20. Mai 2004 21:26

Re: Prozeduren mit beliebig viel Parameter eingabe
 
:P über das "liegen" kann man sich ja streiten aber das ist jetzt nicht tema...

also : danke mal ich such :D

Florian H 22. Mai 2004 18:53

Re: Prozeduren mit beliebig viel Parameter eingabe
 
Überleg doch mal, wie das wäre wenn du so eine Prozedur hättest...

Wie willst du denn dann auf diese Werte zugreifen? Wenn beliebig viele drin sein können, musst du wissen wie viele es sind um dann über den Index drauf zuzugreifen. Und, rappelts? Genau, das geht wunderbar mit Arrays. Ohne eben nicht.

Nicodius 23. Mai 2004 19:46

Re: Prozeduren mit beliebig viel Parameter eingabe
 
naja danke trotzdem


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