Buchempfehlung
Visual Basic 6 Kochbuch
Visual Basic 6 Kochbuch
Viele praktische Tipps zum Programmieren mit Visual Basic 6, die sich oft auch auf FB übertragen lassen. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

Ein versuch eines kleinen Interpreter QScript

Uploader:MitgliedMB Interactive Labs
Datum/Zeit:06.11.2010 19:06:16

'Scriptsprache Entwickeln (Interpreter der nur 3 Aufgaben besitzt)
'Was muss der Interpreter können ?

'1. Er muss das Script einlesen können.
'2. Auf fehler prüfen. ?
'3. anschliesend alles Ausführen.

'Wie könnte ein einfaches Script mit 7 Befehle aussehen?

'1. Endung der Datei ist QScript

'1.1 Q_CLS 'Bildschirm in einer farbe Löschen. zwei parameter VGF und HGF
'1.2 Q_SCR 'mit ein Wert, der die Bildschirmauflösung einstellt.bs: 800x600x32
'1.3 Q_CMM 'Komentare die der Interpreter Ignorieren darf.
'1.4 Q_KWT 'Auf tastendruck warten.
'1.5 Q_COL 'Zwei Parameter, die vodergrundfarbe und Hintergrundfarbe einstellt.
'1.6 Q_PRT 'ein Parameter, der ein einfachen Text ausgibt.
'1.7 Q_END 'zeigt den Interpreter an, das das Script fertig ist.

'Wie kann ich die QScript datei Laden ?
'1. datei öffen zum lesen
'2. den inhalt der datei in einer variabel abspeichern

Declare Function OpenQSC(Datei As String)As Integer

Dim Shared AS INTEGER f
Dim Shared As Integer HRes

HRes = OpenQSC("test.QSC")
If HRes = 0 Then
    End
EndIf

Function OpenQSC(Datei As String)As Integer
    dim text as string
    Dim resText As String
    Dim Vari1 As String
    Dim Vari2 As String

    f = FreeFile
    Select CASE OPEN (Datei FOR INPUT AS #f)
        Case 0
            Print "Datei: "&Datei+" existiert und ist bereit."
            'Datei ist da, nun muss sie Analysiert werden.
            'do ReadLine(f) loop until eof(f)
            Do
                Input #f, text

                'erste If frage Q_CMM
                resText = Left(text,5)
                If resText = "Q_CMM" Then
                    'Nix machen: Ignorieren den rest
                    'Print "Ein Komentar gefunden."
                EndIf
                If resText = "Q_CLS" Then
                    'Der CLS Befehl mit 2 Werten
                    Cls
                EndIf
                If resText = "Q_SCR" Then
                    'Screen auswerten
                    Vari1 = Mid(text,7)
                    If Vari1 = "800x600x32" Then
                        'Screenbefehl ausführen
                        ScreenRes 800,600,32
                    EndIf
                EndIf
                If resText = "Q_COL" Then
                    Vari1 = Mid(text,7,9)
                    Vari2 = Mid(text,10,12)
                    Color ValInt(Vari1), ValInt(Vari2)
                EndIf
                If resText = "Q_PRT" Then
                    Vari1 = Mid(text,7)
                    Print Vari1
                EndIf
                If resText = "Q_KWT" Then
                    Sleep
                EndIf
                If resText = "Q_END" Then
                    Return 0
                EndIf
            Loop Until Eof(f)
            Sleep
            Close #f
            Return 1
        Case 2
            Print "Datei existiert nicht!"
            Return 0
        Case ELSE
            Print "Fehler beim Öffnen der Datei!"
            Return 0
    End Select
    Return 0
End Function