Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Code von PureBasic nach Freebasic umschreiben

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Findus



Anmeldungsdatum: 14.04.2009
Beiträge: 4

BeitragVerfasst am: 05.03.2010, 03:23    Titel: Code von PureBasic nach Freebasic umschreiben Antworten mit Zitat

Hallo,

ich habe eine Vorlage in PureBasic, die ich gerne nach Freebasic umschreiben würde.
Unter anderem finde ich in dem Pure-Code folgende Code-teile:

Code:
Prototype.l TestCallback(FuncName$, Para$ = " ", ParaLen.l = -1, Flags.l = 0, ReturnString$ = " ")
Global TestCall.TestCallback
:
:
Returnvalue = TestCall( "TestFuncName", TestPara$, -1, Flags, ReturnString )
:
:
Returnvalue = TestCall(TestName$)


Auszug aus der PureBasic-Hilfe:

...Prototype ermöglicht das Deklarieren eines Typs, welcher eine Funktion abbildet (englisch "mapped"). Dies ist nützlich bei der Verwendung mit einer Variable, um einen Funktionszeiger zu erstellen (der Variablen-Wert wird die Adresse der aufzurufenden Funktion sein, und kann auf Wunsch verändert werden).
...Die letzten Parameter können einen Standard-Wert (muss ein konstanter Ausdruck sein) haben. Wenn also diese Parameter beim Funktionsaufruf weggelassen werden, wird der Standardwert verwendet.

So wie ich das verstanden habe, wird mit dem o.g. Code ein Funktionszeiger erstellt.
Beim ersten Aufruf wird die Funktion mit allen Parametern aufgerufen.
Beim zweiten Aufruf wird die Funktion nur mit dem ersten Parameter aufgerufen, alle anderen Parameter sind auf Standard-Werte gesetzt.

Kann man diesen Befehl mit Freebasic umsetzen?

Gruss
Findus
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 05.03.2010, 19:33    Titel: Antworten mit Zitat

Meinst du sowas:
Code:
Declare Function TestCallback(FuncName As String, Para As String = " ", ParaLen As Integer = -1, Flags As Integer = 0, ReturnString As String = " ") As String

Dim As Function (FuncName As String, Para As String = " ", ParaLen As Integer = -1, Flags As Integer = 0, ReturnString As String = " ") As String TestCall
Dim As String Returnvalue

TestCall = @TestCallback

Returnvalue = TestCall("1", "2", 3, 4, "5")
Print Returnvalue

Returnvalue = TestCall("2")
Print Returnvalue

Sleep


Function TestCallback(FuncName As String, Para As String = " ", ParaLen As Integer = -1, Flags As Integer = 0, ReturnString As String = " ") As String
   Return "TestCall " & FuncName
End Function
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Findus



Anmeldungsdatum: 14.04.2009
Beiträge: 4

BeitragVerfasst am: 06.03.2010, 12:18    Titel: Antworten mit Zitat

Danke für dein super Beispiel.
Das hat mich schon mal einen großen Schritt weiter gebracht.

Gruss
Findus
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz