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: Text String vergleichen ?? Kategorie: Programmierung Basic (von Achim - 3.07.2004 10:57)
 Als Antwort auf Re: Text String vergleichen ?? von CC1 - 2.07.2004 20:02
noch ein paar Anmerkungen zu den Programmen selbst

> verschicke z.b. 12 Zeichen und schreibe sie mit diesem Prog ins eeprom:

> define length 12
>
> OPEN# FOR WRITE
>
> if FILEFREE >=length then gosub w_block
>
> #w_block

1) Du führst den w_block auf jeden Fall aus, denn selbst wenn das if nicht zieht, geht das Programm ja
 weiter.

2) Du springst mit gosub zum w_block, willst diesen also als "Unterprogramm" ausführen. Der w_block hat
aber kein return. Ein Unterprogramm, das mit gosub angesprungen wird, muss ein return am Ende haben.

3) Wenn Du das return einfügst, wird wegen 1) der w-Block zweimal ausgeführt, wenn die if-Bedingung
"wahr" ist. Du musst also (auch alleine schon wegen 1)) vor w_block ein "end" einfügen.

> for i = 0 to length

4) Du sagst, Du schickst 12 Zeichen. length ist als 12 definiert. Eine Schleife von 0 bis 12 wird aber
dreizehnmal ausgeführt. Beim ersten Durchlauf ist i 0, beim zweiten 1, usw. und beim dreizehnten Mal 12.
Das bedeutet wahrscheinlich, dass Dein Programm beim 13. get hängen bleibt. Wenn Du es dann mit
der Stop-Taste anhältst, wird das close# nicht ausgeführt - damit sind die Daten im Eprom sowieso
potentiell unvollständig.

Bye
 Achim

 Antwort schreiben

Bisherige Antworten: