Re: Programmdurchlauf funktioniert nicht richtig!! Kategorie: Programmierung (von André H. - 4.09.2004 9:44) | ||
Als Antwort auf Programmdurchlauf funktioniert nicht richtig!! von Peter - 2.09.2004 22:12 | ||
| ||
Hallo Peter, > kann mal jemand bitte meinen Code checken. Ich glaube ich habe ein Problem mit einem ordentlichen > Programmdurchlauf. Womöglich arbeit mein thread falsch und ich komme nie zu einer Stelle im Code. > Oder kann ich das Problem irgendwie mit capture und release lösen. Zuerst ein paar grundlegende Dinge: 1. Benutze immer das Code-Tag für Quellcode. Ansonsten kann man diesen nur schwer lesen und wird meistens auch falsch dargestellt, da einzelne Sonderzeichen ganze Passagen als HTML-Tag interpretiert werden können. 2. Poste bitte keine so langen Codes als Text direkt ins Posting !! Packe sich bitte als ZIP, lade diese auf einen WEB-Space Deiner Wahl und verlinke diese Datei dann im Text. Ansonsten wird sich kaum jemand die Mühe machen, sich mit Deinem Programm zu beschäftigen. 3. Wenn Du das Programm schon als Text postest, dann poste bitte nur das wesentliche und mit genauer Fehlerbeschreibung. Denn so wie ich es kurz überflogen habe, werden einige selbstdefnierte Module bzw. Erweiterungen benutzt, die keiner au�er Dir kennen kann. 4. Optimiere das Programm etwas, um zeilen (und somit Code) zu sparen. Als Bsp.: Dies kann man auch einfacher schreiben: a2_var.y[1].port = 0;// Taster 0 a2_var.y[2].port = 1; // Taster 1 a2_var.y[3].port = 2; // Taster 2 a2_var.y[4].port = 3; // Taster 3 a2_var.y[5].port = 4; // Taster 4 a2_var.y[6].port = 5; // Taster 5 a2_var.y[7].port = 6; // Taster 6 a2_var.y[8].port = 7; // Taster 7 a2_var.y[9].port = 0; // Taster 8 a2_var.y[10].port = 1; // Taster 9 a2_var.y[11].port = 2; // Taster 10 a2_var.y[12].port = 3; // Taster 11 a2_var.y[13].port = 4; // Taster 12 a2_var.y[14].port = 5; // Taster 13 a2_var.y[15].port = 6; // Taster 14 a2_var.y[16].port = 7; // Taster 15 a2_var.y[17].port = 0;// Taster 0 a2_var.y[18].port = 1; // Taster 1 a2_var.y[19].port = 2; // Taster 2 a2_var.y[20].port = 3; // Taster 3 a2_var.y[21].port = 4; // Taster 4 a2_var.y[22].port = 5; // Taster 5 a2_var.y[23].port = 6; // Taster 6 a2_var.y[24].port = 7; // Taster 7 a2_var.y[25].port = 0; // Taster 8 a2_var.y[26].port = 1; // Taster 9 a2_var.y[27].port = 2; // Taster 10 a2_var.y[28].port = 3; // Taster 11 a2_var.y[29].port = 4; // Taster 12 a2_var.y[30].port = 5; // Taster 13 a2_var.y[31].port = 6; // Taster 14 a2_var.y[32].port = 7; // Taster 15 Und zwar so: for i=0 ... 31 a2_var.y[i+1].port = 7t = i % 8; Und schon spart man sich 31 Zeilen ... Auch soetwas ist viel zu umständlich und unübersichtlich: a2_var.textoutput[0] = 'V'; a2_var.textoutput[1] = 'e'; a2_var.textoutput[2] = 'n'; a2_var.textoutput[3] = 't'; a2_var.textoutput[4] = 'i'; a2_var.textoutput[5] = 'l'; a2_var.textoutput[6] = '0'; a2_var.textoutput[7] = '1'; a2_var.textoutput[8] = 0; //touchlcd.textmode(3); touchlcd.touch_schalter(5,7,1,a2_var.textoutput,9); Warum benutzt Du keine Strings? In etwas so: string text; ... text="Ventil010"; touchlcd.touch_schalter(5,7,1,text,9); Auch die Art mit den If-Abfragen als Switch kann man übersichlticher darstellen: Also Ausschnitt: if menue == 3 { a8_func.a3(); } if menue == 4 { a8_func.a4(); } if menue == 5 { a8_func.a5(); } if menue == 6 { a8_func.a6(); } if menue == 7 { a8_func.a7(); } if menue == 8 { a8_func.a8(); } if menue == 9 { a8_func.a9(); } Dies lässt sich so viel übersichlticher Schreiben: ... if menue == 3 a8_func.a3(); else if menue == 4 a8_func.a4(); else if menue == 5 a8_func.a5(); else if menue == 6 a8_func.a6(); else if menue == 7 a8_func.a7(); else if menue == 8 a8_func.a8(); else if menue == 9 a8_func.a9(); ... Das sind alles Kleinigkeiten, die ein Programm übersichlticher machen und auch die Fehlersuche erleichtern. So habe ich auf jeden Fall keine Lust und Zeit die Routinen nach Fehlern zu durchforsten. MfG André H. Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | ||
Antwort schreiben Antworten: |