 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 13.03.2010, 18:38 Titel: Expected 'End If' (Bug im Compiler?) |
|
|
Hey, seit kurzem erhalte ich den follgenden Error(in Geany):
Code: | unbenannt.bas(108) error 33: Expected 'END IF', found 'loop' in 'loop until mousex<20 and mousey>460 and buttons and 1' |
Die Zeile, in der der Fehler angeblich auftauchen soll, sieht so aus:
Code: | loop until mousex<20 and mousey>460 and buttons and 1 |
Das komische dabei ist, der Fehler ist vorher nie aufgetreten, ich habe die Gewohnheit, den Code sofort zu compilieren, wenn ich die Datei starte. Das hat sie auch immer gemacht, bis auf jetzt, ich habe auch nichts geändert. Es ist auch egal ob ich nun Code: | loop until mousex<20 and mousey>460 and buttons and 1 | oder einfach nurdahin schreibe, der Fehler bleibt.
Kann mir wer helfen? |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 13.03.2010, 18:43 Titel: |
|
|
Klar ist der fehler immer derselbe. Kannst du kein englisch? Expected 'END IF' heißt, dass du einen vorherigen if-block nicht korrekt geschlossen hast!
PS: Korrekt klammern sorgt für garantierte korrektheit und sieht besser aus:
Code: | loop until (mousex < 20) and (mousey > 460) and (buttons and 1) |
Vor allem das "buttons and 1" ist ohne klammern kritisch. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 13.03.2010, 18:45 Titel: |
|
|
Ich kann Englisch. Ich habe mich auch vorher vergewissert, dass jeder If-Block abgeschlossen ist(sonst würde ich nicht posten). Der Code in der Schleife sieht so aus:
Code: | do
info mysysinfo
getmouse mousex,mousey,,buttons
taste=inkey()
screenlock
cls
Put(0,460), bild
Put(0,460), bild2, Trans
Line(0,0)-(640,459),&h0054A8,BF
Color &h000000
Draw String (460,466), Date
Draw String (570,466), Time
screenunlock
sleep 20
loop until taste=chr(27)
|
|
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 13.03.2010, 18:54 Titel: |
|
|
Der Code erzeugt den Fehler nicht. Entweder, das ist nicht der gesamte Code, oder du kompilierst einfach die falsche Datei. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 13.03.2010, 18:58 Titel: |
|
|
Der ganze Code:
Code: | Screen 18,24,2
dim shared as string taste,dateiname,dateiname2,mouse,dateiname22
dim as integer breit,hoch,breit2,hoch2,mouseb,mouseh,breit22,hoch22
dim shared as integer mousex,mousey,buttons,menu
Dim As Integer ff = Freefile 'Anfrage welcher Übertragungsweg ist frei?
dateiname="Gfx/PANEL.bmp"
Open dateiname For Input As #ff 'öffne die Datei zum lesen
Get #ff, 19, breit 'Breite aus der BMP-Datei auslesen
Get #ff, 23, hoch 'Höhe aus der BMP-Datei auslesen
Close #ff 'schließe die Datei
Dim As Integer fm = Freefile 'Anfrage welcher Übertragungsweg ist frei?
mouse="Gfx/MOUSE.bmp"
Open mouse For Input As #fm 'öffne die Datei zum lesen
Get #fm, 19, mouseb 'Breite aus der BMP-Datei auslesen
Get #fm, 23, mouseh 'Höhe aus der BMP-Datei auslesen
Close #fm 'schließe die Datei
Dim As Integer ff2 = Freefile 'Anfrage welcher Übertragungsweg ist frei?
dateiname2="Gfx/B1.bmp"
Open dateiname2 For Input As #ff2 'öffne die Datei zum lesen
Get #ff2, 19, breit2 'Breite aus der BMP-Datei auslesen
Get #ff2, 23, hoch2 'Höhe aus der BMP-Datei auslesen
Close #ff2 'schließe die Datei
Dim As Integer ff3 = Freefile 'Anfrage welcher Übertragungsweg ist frei?
dateiname22="Gfx/B2.bmp"
Open dateiname22 For Input As #ff3 'öffne die Datei zum lesen
Get #ff3, 19, breit22 'Breite aus der BMP-Datei auslesen
Get #ff3, 23, hoch22 'Höhe aus der BMP-Datei auslesen
Close #ff3 'schließe die Datei
Dim shared bild As Any Ptr 'Zeiger erstellen der die Bildadresse speichert
bild = ImageCreate(breit,hoch) 'reserviert und berechnet den erforderlichen Speicher
'und gibt an den Zeiger die Adresse des reservierten Speichers. 'lade das Bild in den Speicher, der Zeiger 'bild' hat die Adresse.
Dim shared bild2 As Any Ptr 'Zeiger erstellen der die Bildadresse speichert
bild2 = ImageCreate(breit2,hoch2)
Dim shared bild22 As Any Ptr 'Zeiger erstellen der die Bildadresse speichert
bild22 = ImageCreate(breit22,hoch22)
Dim shared mousep As Any Ptr 'Zeiger erstellen der die Bildadresse speichert
mousep = ImageCreate(mouseb,mouseh)
Type sysinfo
uptime As Long
loads(2) As ULong
totalram As ULong
freeram As ulong
sharedram As ULong
bufferram As ULong
totalswap As ULong
freeswap As ULong
procs As UShort
f(22) As UByte
End Type
Declare Function Info CDecl Alias "sysinfo" (ByRef Return As sysinfo) As Integer
Dim MySysInfo As sysinfo
info mysysinfo
Function set_fbfont (ByVal x As Integer) As Integer
Dim As Integer breit2, hoch2
ScreenInfo breit2, hoch2
Select Case x
Case 8, 14, 16 'nur 8, 14 oder 16 funktioniert richtig
Width breit2\8, hoch2\x ' hier wird auto. Cls ausgeführt
Case Else
Return 0 'etwas lief schief
End Select
Return 1 'Font erfolgreich gesetzt
End Function
set_fbfont(8)
Bload dateiname, bild
bload dateiname2,bild2
bload dateiname22, bild22
bload mouse, mousep
do
info mysysinfo
getmouse mousex,mousey,,buttons
taste=inkey()
screenlock
cls
Put(0,460), bild
Put(0,460), bild2, Trans
Line(0,0)-(640,459),&h0054A8,BF
Color &h000000
Draw String (460,466), Date
Draw String (570,466), Time
screenunlock
sleep 20
loop until taste=chr(27)
imagedestroy mousep
imagedestroy bild
imagedestroy bild2
imagedestroy bild22
End |
Die Datei heißt 'unbenannt.bas' und diese wird auch kompiliert(Habe mich extra nochmal vergewissert, ob die Geany-Parameter stimmen).  |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 13.03.2010, 19:08 Titel: |
|
|
Ich enttäusche dich nur ungern, aber auch dieser Code kompiliert. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 13.03.2010, 19:13 Titel: |
|
|
Nicht nur das, es gibt keinen einzigen If-Befehl in deinem Code. |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 13.03.2010, 19:15 Titel: |
|
|
Ich werde gerade aus der Kombination
Zitat: | Hey, seit kurzem erhalte ich den follgenden Error(in Geany) |
und
Zitat: | Die Datei heißt 'unbenannt.bas' und diese wird auch kompiliert |
nicht schlau (edit: du meinst wahrscheinlich "soll compiliert werden"? Bin heute noch ein bisschen langsam im Denken ...). Auch bei mir tritt kein Compilierfehler auf. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 13.03.2010, 20:45 Titel: |
|
|
Sorry, ich meine auch 'soll compiliert werden'. Schuldigung, ich bin in Deutsch kein Ass
Wie auch immer, ich habe mir den Compiler neu installiert, seitdem läuft es auch wieder. Trotzdem danke für die Hilfeversuche.  |
|
Nach oben |
|
 |
|
|
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.
|
|