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:

Expected 'End If' (Bug im Compiler?)

 
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
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 13.03.2010, 18:38    Titel: Expected 'End If' (Bug im Compiler?) Antworten mit Zitat

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 nur
Code:
loop
dahin schreibe, der Fehler bleibt.

Kann mir wer helfen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 13.03.2010, 18:43    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 13.03.2010, 18:45    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 13.03.2010, 18:54    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 13.03.2010, 18:58    Titel: Antworten mit Zitat

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). zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 13.03.2010, 19:08    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 13.03.2010, 19:13    Titel: Antworten mit Zitat

Nicht nur das, es gibt keinen einzigen If-Befehl in deinem Code.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 13.03.2010, 19:15    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 13.03.2010, 20:45    Titel: Antworten mit Zitat

Sorry, ich meine auch 'soll compiliert werden'. Schuldigung, ich bin in Deutsch kein Ass verlegen

Wie auch immer, ich habe mir den Compiler neu installiert, seitdem läuft es auch wieder. Trotzdem danke für die Hilfeversuche. lächeln
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