![]() |
Funktion die beliebig viele Parameter annehmen kann
Hallo!
Hätte mal kurz ne Frage: Wie kann ich denn eine Prozedur/Funktion so anschreiben, dass ihr beliebig viele Parameter gleichen Types übergeben werden können (á la WriteLn)? Also vergleichbar mit dem params-Schlüsselwort aus C#. Danke schon mal. Grüße Faux |
Re: Funktion die beliebig viele Parameter annehmen kann
Ich bin mir nicht sicher ob das mit C# funktioniert, wenn ja dann so(in etwa):
Delphi-Quellcode:
//EDIT: Vorschl. & Kr. :Können sich die Tags nicht beim abschicken selbst schließen??
function DoSomething(Wert: Array of String): Boolean;
|
Re: Funktion die beliebig viele Parameter annehmen kann
Delphi-Quellcode:
mit dem Aufruf
function MyFkt (const A: array of const): MyTyp;
begin end;
Delphi-Quellcode:
Wie Du den Typ der einzelnen Parameter bekommst, sollte in der Hilfe stehen (mein Kopf ist gerade leer, muss in 30' arbeiten :oops:)
A := MyFkt ([12,'Affe',1.4]);
|
Re: Funktion die beliebig viele Parameter annehmen kann
Hui, janz schön flinker Krokophant... :gruebel: |
Re: Funktion die beliebig viele Parameter annehmen kann
Danke mal, aber geht das nicht auch ohne Array, denn der Benutzer meiner Prozedur müsste dann ja die Parameter immer in [ und ] schreiben.
Der Typ soll übrigens immer der selbe sein; also in meinem Falle alles string. Kann man das nicht genau so wie bei WriteLn lösen, das würde mir am besten gefallen?! Zitat:
Grüße Faux |
Re: Funktion die beliebig viele Parameter annehmen kann
Zitat:
|
Re: Funktion die beliebig viele Parameter annehmen kann
Zitat:
Naja, das ist dann doch etwas zu aufwändig. Wieso können die das nicht in den Delphi-Syntax integrieren? :roll: Danke trotdzem. Grüße Faux |
Re: Funktion die beliebig viele Parameter annehmen kann
Das geht nur mit varargs (die Funktion muss extern und cdecl sein).
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:03 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