Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 08.06.2009, 12:17 Titel: Parameter |
|
|
Wie kann ich folgendes möglichst elegant programmieren:
Ich möchte eine Funktion (eine Sub um genauer zu sein) schreiben die eine Liste entgegen nimmt. In dieser Form in etwa:
Code: |
UsingObjects Trees, Couds, Cars
|
Dabei sind die Parameter "Trees", "Clouds" und "Cars" Funktionen die etwas bestimmtes machen und auch werte zurückgeben die von der Funktion "UsingObjects" ausgewertet werden. Allerdings sollen die Parameter beliebig viele sein!! Also nicht nur 3 wie in diesem Beispiel, sondern vielleicht auch mal 20 oder 30 ..
Ich habe mich mit VA_FIRST, VA_ARG und VA_NEXT beschäftigt. Aber bei denen weiss ich nie wo das ende der Parameterliste ist.
Weiss einer etwas schlankes, elegantes? |
|
Nach oben |
|
 |
ThePuppetMaster

Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
|
Verfasst am: 08.06.2009, 12:57 Titel: |
|
|
Code: | Sub bla(V_ArgC as UInteger, ...)
Dim TPtr as Any Ptr = va_first()
For X as UInteger = 1 to V_ArgC
print va_arg(TPtr, any Ptr)
TPtr = va_next(TPtr, any Ptr)
next
end sub
|
MfG
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] |
|
Nach oben |
|
 |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 08.06.2009, 13:05 Titel: |
|
|
@TPM: neee ... dann muss ich die anzahl der parameter als parameter mitgeben. Gibts nicht sowas wie UBOUND für Parameter ?
Zur info: Die datentypen der Parameter sind immer die gleichen! Es muss also auch nicht ermittelt werden um was es sich bei einem einzelnen parameter handelt. |
|
Nach oben |
|
 |
ThePuppetMaster

Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
|
Verfasst am: 08.06.2009, 13:29 Titel: |
|
|
Leider nicht, nein. Die anzahl parameter wird sogar in der RTLib bei _fb_Chr übergeben, da dies nicht anders gelöst werden kann. Die LinkedList wird nur inizialisiert, jedoch ohne anzahl parameter.
MfG
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] |
|
Nach oben |
|
 |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 08.06.2009, 15:19 Titel: |
|
|
Von wegen "LinkedList" !!! .. wenn ich das richtig sehe wird beim aufruf von va_next einfach eine pointer-variable um die größe des zu letzt gesuchten Datentyps weitergeschoben... |
|
Nach oben |
|
 |
ThePuppetMaster

Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
|
Verfasst am: 08.06.2009, 15:54 Titel: |
|
|
richtig .. wollte es nur vereinfacht schreiben.
MfG
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] |
|
Nach oben |
|
 |
|