Archiv verlassen und diese Seite im Standarddesign anzeigen : Bascom Probleme mit End if
maxmoritz
10.04.2024, 08:37
Hallo liebe Community,
ich stelle hier mal einen Ausschnitt aus meinem Bascom Programm ein.
If Durchlauf = 80 Then Gosub Tempeinlesen 'Alle 20 Sek. Temperaturen aktualisieren
End if
If Durchlauf < 40 Then Gosub Anzeigeblock1 'Alle 10 Sekunden erfolgt der Anzeigewechsel
End if
If Durchlauf >= 40 Then Gosub Anzeigeblock2
End if
If Durchlauf = 40 Or Durchlauf = 80 Then Gosub Uhrausgeben 'Alle 10 Sekunden Datum und Uhrzeit anzeigen
End if
Ich bekomme immer folgende Fehlermeldung:
line 107 Error 28 IF THEN expected
line 107 Error 7 IF THEN expected (END IF in source 107)
kann mir bitte jemand helfen?
ich bin absoluter Bascom Neuling
Hallo
welche Zeile ist denn Zeile 107?
Wie ist denn die Variable "Durchlauf" definiert? Als Bit?
Gruß
maxmoritz
10.04.2024, 10:02
Hallo gunzelg,
die Zeile 107 ist gleich bei dem ersten Enf if
If Durchlauf = 80 Then Gosub Tempeinlesen 'Alle 20 Sek. Temperaturen aktualisieren
End if
Durchlauf ist als Byte definiert
das Programm funktionierte einwandfrei, bis ich begann alle IF THEN Anweisungen mit einem End if abzuschliessen
die Fehlermeldung kommt bei allen Zeilen die nach einem IF THEN ein End if enthalten
Und Syntax Error ist das auch nicht? Dass es "endif" heissen muss? Oder dass das Case-sensitiv ist? Groß/Kleinbuchstaben? If -> End If
maxmoritz
10.04.2024, 11:15
nein Syntaxfehler ist es nicht, Ich habe alle End if herausgelöscht dann zeigt es mir keinen Fehler mehr an.
Ist mir unverständlich, denn ich habe mir sagen lassen jede IF THEN Anweisung muss mit einem END IF abgeschlossen werden
Trotzdem danke für Deine Bemühungen
Searcher
10.04.2024, 11:29
nein Syntaxfehler ist es nicht, Ich habe alle End if herausgelöscht dann zeigt es mir keinen Fehler mehr an.
Ist mir unverständlich, denn ich habe mir sagen lassen jede IF THEN Anweisung muss mit einem END IF abgeschlossen werden
Hallo,
Wenn auf das "then" nur eine Anweisung folgt, kann sie in die gleiche Zeile wie das "then" geschrieben werden. Das abschließende "end if" kann dann entfallen.
Die eine Anweisung nach dem "then" kann auch in die folgende Zeile geschrieben werden. Dann ist in der nächsten Zeile aber ein "end if" notwendig.
Die Doku von mcs dazu: https://avrhelp.mcselec.com/if_then_else_end_if.htm
Gruß
Seacher
maxmoritz
10.04.2024, 12:17
das war`s jetzt funktioniert es auch wieder, zumindest dieser Teil.
vielen Dank Seacher
Ich habe zwar noch ein anderes Problem, aber dazu müßte ich mein ganzes Programm einstellen und erklären.
Das würde zu weit führen.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.