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:

Problem mit IF

 
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
braesident



Anmeldungsdatum: 15.04.2008
Beiträge: 189
Wohnort: Berlin

BeitragVerfasst am: 17.01.2013, 23:01    Titel: Problem mit IF Antworten mit Zitat

Hi leute hab ein Problem mit meiner gefühlten 100.000 IF Schleife.
Bekomme immer fehler Nr 7

ursprünglich sah die Schleife so aus:
Code:
    FOR i = 1 TO 10
      IF (wmaus > PMMshow(i).wide + 58) AND _
         (wmaus < PMMshow(i).wide + 58 + (LEN(PMMshow(i).Seeder) * 6) AND _
         (hmaus > PMMshow(i).high + 110) AND (hmaus < PMMshow(i).high + 120) THEN
         Line (PMMshow(i).wide + 58, PMMshow(i).high + 110) - STEP(LEN(PMMshow(i).Seeder) * 6, 10), &h000000, B
      END IF
    NEXT i


der Fehler wurde immer in der THEN Zeile angezeigt.
habe dann die Schleife nach und nach auseinandergepflückt, von unten angefangen.
Fehler wurde immer in der letzten IF THEN angezeigt. Erst als ich für jede Bedingungsprüfung eine eigene IF hatte wurde der Fehler in der ersten Zeile angezeigt.
Hab auch schon die äusseren Klammern entfernt.

Compiler output: hat Folgendes geschrieben:

C:\Programmieren\FreeBASIC\Projekte\NewPostMail\FBIDETEMP.bas(286) error 7: Expected ')', found 'THEN' in '(hmaus > PMMshow(i).high + 110) AND (hmaus < PMMshow(i).high + 120) THEN'
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 17.01.2013, 23:26    Titel: Antworten mit Zitat

Zitat:
Expected ')'


Da fehlt eine klammer:
Code:
    FOR i = 1 TO 10
      IF (wmaus > PMMshow(i).wide + 58) AND _
         (wmaus < PMMshow(i).wide + 58 + (LEN(PMMshow(i).Seeder) * 6) ) AND _
         (hmaus > PMMshow(i).high + 110) AND (hmaus < PMMshow(i).high + 120) THEN
         Line (PMMshow(i).wide + 58, PMMshow(i).high + 110) - STEP(LEN(PMMshow(i).Seeder) * 6, 10), &h000000, B
      END IF
    NEXT i

_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
braesident



Anmeldungsdatum: 15.04.2008
Beiträge: 189
Wohnort: Berlin

BeitragVerfasst am: 17.01.2013, 23:35    Titel: Antworten mit Zitat

ohman, doch schon so blind

Danke schön
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 20.01.2013, 04:10    Titel: Antworten mit Zitat

es gibt uebrigens keine if-schleifen, gewoehn dir das bitte ganz schnell wieder ab.

es gibt do/while- und for-schleifen, if ist aber ein verzweigungskonstrukt und keine schleife (keine wiederholte ausfuehrung)

[/klugscheissmodus]
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 20.01.2013, 19:51    Titel: Antworten mit Zitat

Allerdings sind alle Schleifentypen äquivalent zu If und Sprung…
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 20.01.2013, 20:16    Titel: Antworten mit Zitat

28398 hat Folgendes geschrieben:
Allerdings sind alle Schleifentypen äquivalent zu If und Sprung…


Falsch, sie sind äquivalent zu Vergleich und Sprung; und nichtmal das, DO : LOOP ist äquivalent zu "nur Sprung", ohne Vergleich.

If ist allerdings auch Vergleich+Sprung.


Der Unterschied ist aber, dass If in jedem Fall vorwärts springt, und Schleifen entweder nicht oder aber rückwärts springen.

If ist keine Schleife!
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
braesident



Anmeldungsdatum: 15.04.2008
Beiträge: 189
Wohnort: Berlin

BeitragVerfasst am: 20.01.2013, 20:40    Titel: Antworten mit Zitat

Ja dank ich weiß grinsen
allerdings hörte sich IF Schleife besser an als einfach nur IF grinsen
ich werde Schleife nicht mehr in verbindung mit if benutzen, versprochen zwinkern

aber schön wenn man mit sonem blöden fehler zu einer diskusion anregen kann
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Jojo
alter Rang


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

BeitragVerfasst am: 20.01.2013, 21:28    Titel: Antworten mit Zitat

If-Konstrukt hört sich korrekter und besser an als If-Schleife oder If.

If-Schleife:
Code:

if bedingung then
do
' inhalt
loop until 1
end if

durchgeknallt
_________________
» 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
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