Function An Function übergeben
Übersicht

![]() |
BigPinguBetreff: Function An Function übergeben |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
hab da mal eine Frage. Ist es Möglich eine Function an eine Function zu übergeben? Also kann ich eine Function in einer Variablen Speichern und sie dann darüber Aufrufen? Ich habe Folgendermaßen so ähnlich probiert: Code: [AUSKLAPPEN] TuEtwas(10,10,FunctionA()) TuEtwas(11,11,FunctionB()) Function TuEtwas(VariableA,VariableB,MachXY) If VariableA = VariableB Then MachXY EndIf End Function Dabei bekomme ich jedoch die Fehlermeldung das Die Function "MachXY" nicht gefunden wurde. Falls ihr euch fragt was das Ganze soll, es dient dazu mir Code zu ersparen, weil diese Entscheidung sehr oft getroffen werden muss. |
||
Meine Projekte:
Blockhead : 80% VideoGameTycoon : 40% |
- Zuletzt bearbeitet von BigPingu am Sa, Mai 24, 2008 13:24, insgesamt einmal bearbeitet
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hoffe dass das Pseudocode ist, und du DEN Code nicht ausführst. | ||
![]() |
BigPingu |
![]() Antworten mit Zitat ![]() |
---|---|---|
Natürlich ist das Pseudocode ![]() ![]() |
||
Meine Projekte:
Blockhead : 80% VideoGameTycoon : 40% |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ah, hab jetzt dein Problem verstanden.
Ich würds so machen: Code: [AUSKLAPPEN] Function TuWas(var1,var2,func$) Select func$ Case "MachWas" MachWas(var1,var2) Case "SchlagEs" SchlagEs(var1,var2) Case "RumRennen" RumRennen(var1,var2) End Select End Function Nun, du übergibst die Funktion als String, dann wählt es per Select Case eine passende Funktion aus und führt diese aus. MfG |
||
![]() |
BigPingu |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja das ist es. Danke hast mir ne Menge sinnlosen Code ersparrt ![]() |
||
Meine Projekte:
Blockhead : 80% VideoGameTycoon : 40% |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also wenn man mal überlegt :
Wenn du jetzt diese Function aufrufst : Code: [AUSKLAPPEN] Function TuWas(10,10,FunctionA())
Dann wird erst der Variable "VariableA" der wert 10 übergeben, danach der "VariabaleB". Danach wird die FunctionA() aufgerufen, um den RÜCKGABEWERT der Function der Variable MachXY zu übergeben. MachXY hat jetzt 0, wenn die Function nichts zurückgibt. Wenn du jetzt schreibst : Code: [AUSKLAPPEN] If VariableA = VariableB Then MachXY
Dann würd BlitBasic dir sagen, da es MachXY als Variable diffiniert hat, da es ja als Parameter dient, das man es nicht wie eine Function aufrufen kann. Also musst du es mit diesem anderen Parameter machen, sonst funzt es nicht... Man kann aber stat einem String, da ein String den Höchsten rechenaufwand benötigt, ein Integer nehmen, also so : Code: [AUSKLAPPEN] Function TuWas(Var1%,Var2%,Func%)
If Var1 = Var2 then Select Func Case 1 Lauf() Case 2 Renn() End Select EndIf End Function Ist außerdem einfacher, das so zu machen, weil wenn man die mehrmal aufrufen möchte oder alle hintereinande, kann man einfach schleifen nehmen... mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group