Seite 1 von 2
Funktion aus String starten
Verfasst: 18.05.2006 22:10
von sen-me
Geht das?
Also z.B.
Procedure SayYes()
MessageRequester("Ja","Ja")
EndProcedure
Und dann steht in nem String
"SayYes()"
Verfasst: 18.05.2006 22:18
von roherter
Weiß nicht genau was du machen willst höchstens so
Code: Alles auswählen
Procedure.s SayYes()
MessageRequester("Ja","Ja")
Procedurereturn "SayYes()"
EndProcedure
Verfasst: 18.05.2006 22:28
von ullmann
Er meint vermutlich:
Es wird ein String "SayYes()" übergeben und der Computer ermittelt daraus, dass er die Prozedur SayYes() ausführen soll.
Da man IF EndiF als bekannt voraussetzen sollte, könnte es sein, dass das ganz allgemein für beliebige Prozedurnamen in Strings funktionieren soll. (?)
Rainer
Verfasst: 18.05.2006 22:32
von edel
Koennte man ja so machen :
Code: Alles auswählen
Structure proc
name.s
adress.l
EndStructure
newlist Proc.proc()
Procedure SayYes()
MessageRequester("Ja","Ja")
EndProcedure
AddElement(Proc())
Proc()\name = "sayyes"
Proc()\adress = @SayYes()
name.s = InputRequester("","","")
name = lcase(name)
ForEach Proc()
If Proc()\name = name
CallFunctionFast(Proc()\adress)
Break
EndIf
Next
Verfasst: 20.05.2006 13:39
von Kaeru Gaman
dieses rumgerätsele bringt doch nix...
@sen-me
beschreib doch mal bitte genauer, was du machen möchtest..
Verfasst: 20.05.2006 13:50
von Alves
Ich glaube genau das was ullmann sagt.
zB für einen eigenen Compiler.
Man gibt einen Befehl in einen String ein und er startet dafür die Procedur.
Verfasst: 20.05.2006 13:54
von DarkDragon
Alves hat geschrieben:Ich glaube genau das was ullmann sagt.
Glaub ich nämlich auch. Und sowas geht nur wenn PureBasic ne Scriptsprache wäre und sowas will ja wohl keiner.

Verfasst: 20.05.2006 14:01
von MVXA
> zB für einen eigenen Compiler.
Eher interpreten, der compiler führt nix zur Compilierzeit aus.
Verfasst: 20.05.2006 17:14
von bizzl
Auf dem Amiga gab es mal ein Basic, AMOS hieß das, da ging sowas.
Man konnte tatsächlich
schreiben.
Hilft ihm zwar gerade nicht weiter, aber ich glaube, sowas in der Art meint er.
Verfasst: 20.05.2006 17:21
von DarkDragon
@bizzl: jo eben, das mein ich auch.