Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo, > > ich habe eigentlcih ein ganz simples Problem, dass ich ein array von strings nicht initilisieren läßt. Es macht sich so bemerkbar, > dass jeder initilisierter String im array[0] steht. Mein Programm im Anhang. > > Funktion : Hier soll eine Menueausgabe am externe LCD erscheinen !! > > 1. Schritt: Function initMenue() wird aufgerufen. Array wird initilisiert (Im Normalfall natürlcih alle 11 Einträge) > 2. Schritt: Aufruf function startMenue(): > Hier fängt schon das Problem an. Die Ausgabe > > lcdext.clear(); > lcdext.goto(0,0); > lcdext.print (Menue[0]); > > gibt immer den zu letzt in der init Routine eingetragenen String aus > (z.B. Menue[10] = step01const.sMCUZ0;) > > Mir scheint als ob die hardgecodeten Index immer auf den index 0 schreiben. Weil auch bein der Ausgabe > der anderen index nie etwas drinsteht (keine Anzeige ~ leer) > > Kennt einer dieses Problem. Eigentlich ist diese Programmierung sehr simpel !! > > Gruß Ralf > > > > > //Menueanzeige > > const sMCUMenue = "MCU Menue"; > const sMCUZ1 = "1: MCU Version"; > const sMCUZ2 = "2: offen"; > const sMCUZ3 = "3: offen"; > const sMCUZ4 = "4: offen"; > const sMCUZ5 = "5: offen"; > const sMCUZ6 = "6: offen"; > const sMCUZ7 = "7: offen"; > const sMCUZ8 = "8: offen"; > const sMCUZ9 = "9: offen"; > const sMCUZ0 = "0: offen"; > > > string Menue[11]; > > //----------------------------------------------------------------------------- > function initMenue () > //----------------------------------------------------------------------------- > { > //Menue[0] = step01const.sMCUMenue; > Menue[1] = step01const.sMCUZ1; > Menue[2] = step01const.sMCUZ2; > Menue[3] = step01const.sMCUZ3; > Menue[4] = step01const.sMCUZ4; > Menue[5] = step01const.sMCUZ5; > Menue[6] = step01const.sMCUZ6; > Menue[7] = step01const.sMCUZ7; > Menue[8] = step01const.sMCUZ8; > Menue[9] = step01const.sMCUZ9; > Menue[10] = step01const.sMCUZ0; > } > > //----------------------------------------------------------------------------- > function getAktMenueCnt(int a, int stellen, string s) > //----------------------------------------------------------------------------- > { > str.putintf (s, a, stellen); > } > > //----------------------------------------------------------------------------- > function startMenue() > //----------------------------------------------------------------------------- > { > string s; > lcdext.clear(); > lcdext.goto(0,0); > lcdext.print (Menue[0]); // !!! Hier erscheint immer der string mit dem höchsten initilisierten index > // Hier im Programm wäre es '0: offen', obwohl index 0 überhaupt nicht > // initilisiert wird in der init Routine ???????????????? > lcdext.goto(1,0); > lcdext.print (Menue[1]); > aktMenueCnt = 2; > lcdext.goto(0,14); > extlcd.getAktMenueCnt(aktMenueCnt,1,s); > lcdext.print (s); > } > > //----------------------------------------------------------------------------- > function scrolldownMenue() > //----------------------------------------------------------------------------- > { > if aktMenueCnt < sMCUCnt > { > string s; > lcdext.clear(); > lcdext.goto(0,0); > lcdext.print (Menue[aktMenueCnt-1]); > lcdext.goto(1,0); > lcdext.print (Menue[aktMenueCnt]); > aktMenueCnt = aktMenueCnt + 1; > lcdext.goto(0,14); > extlcd.getAktMenueCnt(aktMenueCnt,1,s); > lcdext.print (s); > } > } > > //----------------------------------------------------------------------------- > function scrollupMenue() > //----------------------------------------------------------------------------- > { > if aktMenueCnt > 2 > { > string s; > aktMenueCnt = aktMenueCnt - 1; > lcdext.clear(); > lcdext.goto(0,0); > lcdext.print (Menue[aktMenueCnt-2]); > lcdext.goto(1,0); > lcdext.print (Menue[aktMenueCnt-1]); > lcdext.goto(0,14); > extlcd.getAktMenueCnt(aktMenueCnt,1,s); > lcdext.print (s); > } > }