
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
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 |