![]() |
Funktion mit unendlicher Parameterzahl
Hallo, ich muss eine funktion schreiben, wo die Parameterzahl ein Benutzer festlegt, quasi so:
function test(index1, index2,..,indexn:integer): integer Wie kann man das realisieren? Danke! |
Re: Funktion mit unendlicher Parameterzahl
|
Re: Funktion mit unendlicher Parameterzahl
Code:
Und dann mit z.B. mit test([1,2,3]) aufrufen.
function test(index:array of integer): integer ;
|
Re: Funktion mit unendlicher Parameterzahl
Hallo egal!
Die DP-Suche führt dich zu ![]() Hoffe das hilft dir! Viele Grüße, Sebastian |
Re: Funktion mit unendlicher Parameterzahl
das wäre eine Möglichkeit. Die Funktion soll eigentlich so aussehen:
function test (cStr1:string,index1:integer,cStr2:string,index2:i nteger ,..., cStrn:string,indexn:integer, feldNr:integer): integer; Und der Benutzer kann so z.B. eingeben: test(a,1, b,2, c,3,...,100); Wenn ich jetzt die Arrays benutze, muss ich die Function so deklarieren test(cStr: array of String, index: array of integer,feldNr:integer); oder doch irgendwie anders? |
Re: Funktion mit unendlicher Parameterzahl
Hi egal,
du kannst Arrays verwenden, oder wir können dir erklären warum du es tun musst :mrgreen: Falls du dir das andere Thema durchgelesen hast, dann solltest du ja wissen, dass so eine Funktion nicht möglich ist. Greetz alcaeus |
Re: Funktion mit unendlicher Parameterzahl
Dann mache folgendes:
Delphi-Quellcode:
...:cat:...
type
TValue = record StrValue: String; IntValue: Integer; end; TValues = array of TValue; [...] procedure Test(Values: TValues); var I: Integer; begin for Low(Values) to High(Values) do begin // for each value do... [...] end; end; |
Re: Funktion mit unendlicher Parameterzahl
Hi
könnte man nicht
Delphi-Quellcode:
nehmen? kann man doch alles übergeben was man will!?
procedure foo(bar:array of variant);
|
Re: Funktion mit unendlicher Parameterzahl
Zitat:
...:cat:... |
Re: Funktion mit unendlicher Parameterzahl
Alles klar, dann nehme ich am besten records.
Allen vielen, vielen Dank für schnelle und umfangsreiche Hilfe!:mrgreen: |
Re: Funktion mit unendlicher Parameterzahl
Äh, Leute, habt ihr etwas das array of const vergessen??
|
Re: Funktion mit unendlicher Parameterzahl
Zitat:
...:cat:... |
Re: Funktion mit unendlicher Parameterzahl
Zitat:
|
Re: Funktion mit unendlicher Parameterzahl
das klappt aber nicht ganz. Weil der Benutzer meine Funktion aufruft, die muss zukünftig in einer dll gespeichert werden und er schreibt, wie gewohnt:
test(a,1, b,2, c,3,...,100); Und ich bekomme natürlich Fehlermeldungen, zu viele Parameter und so weiter. Um das zu vermeiden, muss ich zuerst den Funktionsname "test" abfangen, dann die Parameter in record schreiben und nur dann meine Funktion Test(Values: TValues, feldNr:integer); starten. So weit so gut, aber mir gefällt nicht besonders, dass ich diesen Funktionsnamen abfangen soll, vielleicht gibt's andere Möglichkeit oder? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:47 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