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: GOSUB Verschachtelung Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Olaf, Homepage - 24.05.2011 16:55)
 Als Antwort auf GOSUB Verschachtelung von GeKue - 16.05.2011 17:18
Olaf nutzt:  Open-Micro, Open-Mini, Open-Midi, Open-Macro
Hallo GeKü

so war das bei mir am Anfang auch...

> bei umfangreichen Programmen kann es (zumindest bei mir....) leicht zur unsauberen Programmierung der erlaubten GOSUB-Verschachtelungstiefe kommen. Das Auffinden solcher Fehler ist dann ziemlich lästig/zeitaufwendig.

.. irgendwann hatte ich alles so verschaltelt das eine Fehlersuche so ziemlich unmöglich wurde!! ;-)

Um den ganzen Durcheinander abzuhelfen nutze ich eigentlich fast gar keine GOSUB's oder GOTO's mehr!
Das ganze geht einfacher (jedenfalls für mich ), wenn man FUNKTIONEN benutzt (habe ich von der SPS-Programmierung übernommen), also quasi kleine Unterprogramme die je nach Bedarf aufgerufen werden! Wird auch übersichtlicher und Du kannst die einmal geschriebenen Unterprogramme einfach für andere Programme nutzen!

Hier mal ein Beispiel:

DEFINE a,b,c BYTE

a=10
b=1

#hauptprogramm

print a

if a>0 then
   FC_a_plus_b(22)
end if

print a
....

goto hauptprogramm

'Funktion a+b und Vergleich mit c (=Übergabewert)
FUNCTION FC_a_plus_b (c)
  a=a+b
  if a>=c then
     a=0
  end if

RETURN
END FUNCTION


So habe ich jetzt mehrere Funktionen mit oder ohne Übergabe geschrieben z.B.:
Daten  speichern, Printfunktionen, Berechnungen, Daten mit Zeigern bearbeiten usw. !

So läst sich auch der "Fehlerteufel" besser beseitigen!


Ich hoffe ich konnte Dir eine kleine Hilfe geben??

Viele Grüsse
Olaf

Meine Homepage: http://ollis-modellbau.de

 Antwort schreiben

Bisherige Antworten:

Re: GOSUB Verschachtelung (von GeKue - 24.05.2011 23:55)