Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: IF..THEN..ELSE Kategorie: Programmierung Basic (von Dietmar, Homepage - 12.09.2005 16:12)
 Als Antwort auf Re: Programm hängt sich beim speichern in voller datei auf von Achim - 9.09.2005 12:17
Dietmar nutzt:  CC1-M-Unit V1.1, Advanced CC1-Unit, Open-Micro, Open-Mini

Hallo miteinander

> > if filefree then goto printer else goto filefull

> Du interpretierst die Antwort als boolean, was, wenn Du Glück hast, einem if filefree > 0 entspricht.

diese Art der Abfrage von FILEFREE innerhalb IF..THEN ist vollkommen korrekt. Bei "IF ausdruck THEN" sollte der Ausdruck auf ungleich 0 überprüft werden. Es ist also die Kurzform von "IF ausdruck<>0 THEN". Nur bei den neuen Conrad-C-Control-Kontrollern ist das dummerweise anders: Entgegen der üblichen Vorgehensweise in anderen Systemen wird das Lowbyte vom Ausdruck auf gleich 255 ($ff) abgefragt. Das sollte auf http://c-control-support.de dokumentiert sein.

Folgendes steht in der Hilfe von CCBASIC zu IF..THEN:

Die IF...THEN...ELSE-Konstruktion ermöglicht die Anpassung des Programmflusses an Bedingungen zur Laufzeit des Programms. Als Bedingung ist ein beliebiger Term einzusetzen. Ergibt dessen Berechnung einen Wert ungleich 0, dann gilt die Bedingung als erfüllt, und die Anweisung1 wird ausgeführt. Werden zusätzlich ein ELSE und eine zweite Anweisung angegeben, so wird diese Anweisung alternativ ausgeführt, wenn der berechnete Term einen Wert gleich 0 ergibt.

Außerdem steht in der Hilfe unter FILEFREE:

Vor dem Schreiben von Daten mit PRINT# sollte mit der FILEFREE-Funktion geprüft werden, ob noch genügend Platz zur Datenaufzeichnung vorhanden ist. Anderenfalls kommt es zum Überlauf des Dateizeigers auf den Anfang des seriellen EEPROMs und zum Überschreiben des Anwenderprogramms, was zum Absturz des C-Control-Systems führt.

 Syntax:

   FILEFREE

 Beispiel:

   IF FILEFREE THEN PRINT# value ELSE GOTO filefull


Gruß
Dietmar

Meine Homepage: http://ccintern.dharlos.de

 Antwort schreiben

Bisherige Antworten:

Re: IF..THEN..ELSE (von Achim - 12.09.2005 17:40)