Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Problem bei Programm Kategorie: Programmierung (von krassos - 4.09.2005 21:39)
Als Antwort auf Re: Problem bei Programm von krassos - 4.09.2005 21:26
Ich nutze:
C-Control II Unit, CC2-ReglerBoard, OSOPT V3.0
> > Hallo
> > Ich habe folgendes Programm geschrieben:
> >
> >
> > thread main//Kleine Spielerei: ;-)
> > {byte i,x,a;
> >  string s;
> >  byte t[24];
> >  int r;
> >  hwcom.setspeed(8);
> >   loop
> >   {
> >    r=edip.receiveframe(0,Display1);
> >    if r==1
> >    {
> >     break;
> >    }
> >   }
> >
> > <b>Stelle2</b>
> >
> >  edip.setFont(0,5);
> >  edip.setFontZoom(0,2,2);
> >  edip.text(0,0,50,0,"Hauptmenü");
> >  edip.setFontZoom(0,0,0);
> >
> >  edip.setTouchFrame(0,17);
> >  edip.setTouchFont(0,5);
> >  edip.setTouchKeyAction(0,1,1);
> >  edip.touchKey(0,15,50,85,90,100,0,"Menü 1");
> >  edip.touchKey(0,85,50,155,90,101,0,"Menü 2");
> >  edip.touchKey(0,155,50,225,90,102,0,"Menü 3");
> >
> >   loop
> >   {
> >    r=edip.receiveframe(0,Display1);
> >    a=edip.getRxData(Display1,t);
> >    if t[2]==100
> >    {
> >     edip.clrScreen(0);
> >     edip.removeTouch(0,100,1);
> >     edip.removeTouch(0,101,1);
> >     edip.removeTouch(0,102,1);
> >     edip.setFontZoom(0,2,2);
> >     edip.text(0,0,50,0,"Menü1");
> >     edip.setFontZoom(0,0,0);
> >     edip.touchKey(0,175,110,239,175,103,0,"Zurück");
> >     loop
> >     {
> >       r=edip.receiveframe(0,Display1);
> >       a=edip.getRxData(Display1,t);
> >       if t[2]==103
> >       {
> >         <b>Stelle1</b>
> >         break;
> >       }
> >     }
> >     break;
> >    }
> >   }
> > }
> >

> >
> > In diesem Code möchte ich, einen Sprung machen von Stelle 1 zur Stelle 2,
> > wenn die IF Bedingung ausgeführt wird. Wie mach ich das am besten??
>
> Hallo,
>
> das geht ganz einfach:
>
> Vorab- Sprünge sind in C2 nicht vorgesehen und eigentlich auch nicht notwendig.
>
> Du muÃ?t nur den Code von Stelle 2 als externe Funktion definieren.
> Diese Funktion -nennen wir sie mal reset() rufst Du dann einmal auf, bevor Du in die loop gehst.
> Als nächstes kannst Du diese Funktion an jeder beliebigen Stelle aus dem Programm aufrufen.
>
> GruÃ? krassos

�brigens: Ein stupider Sprung in Deinem Programm in der beschriebenen Art wäre
eine Rekursion und würde irgendwann zum Stacküberlauf führen.

Krassos


    Antwort schreiben


Antworten:

Re: Problem bei Programm (von BlackBroom - 4.09.2005 22:14)
    Re: Problem bei Programm (von krassos - 5.09.2005 15:23)
        Re: Problem bei Programm (von BlackBroom - 5.09.2005 15:37)
            Re: Problem bei Programm (von krassos - 5.09.2005 19:50)
                Re: Problem bei Programm (von Sascha - 21.02.2006 6:43)