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

Re: Array füllen Kategorie: Programmierung (von Dietmar Weickert - 5.02.2004 19:31)
Als Antwort auf Re: Array füllen von TN - 5.02.2004 17:43

> > Hallo TN!
> >
> > Schreibe uns doch mal, was du wirklich erreichen möchtest. Aus deinem Programm kann ich das
> > nämlich nicht erkennen. Daher wäre etwas erklärende Prosa gut.
> >
> > Beste Grü�e,
> > Dietmar.
>
> Hallo Dietmar,
>
> ich möchte über die Folientastatur dreistellige Zahlen eingeben um
> damit z.B. Ports eines PCF`s anzusteuern.
>
> Dazu soll aus dem laufendem Programm die eingegebene Zahl
> ausgewertet werden, und eine entsprechend gestartete Funktion diese Aktionen
> ausführen.
>
> Ich dachte dieses Problem über das schreiben in ein Array zu lösen.
> Aber ich weiÃ? nicht, wie ich die einzelnen Zahlen einer bestimmten Stelle
> im Array zuordne. Ich dachte das geht so:
> zahl[0]=keycode;  
> zahl[1]=keycode;
> zahl[2]=keycode;
>
> aber selbst mit einem sleep wird die Zahl in Pos.0-2 eingetragen.
>
> Ã?ber die Summe kann ich ja dann eine Variable
> errechnen und damit Funktionen starten:
> a = zahl[0];
>  b = zahl[1];
> c = zahl[2];
>  v = a*100 + b*10 + c;     //Variable berechnen
>
> So z.B.:
> if v==456 {pcf.set(8,1);plm.beep(8);sleep 50; plm.beep(-1);}
>
> Wir bekomme ich es aber nun hin, dass die erste gedrückte Zahl nur in
> Pos. 0, die zweite Zahl nur in Pos.1, usw. eingetragen wird?
>
> Ich hoffe, dass ich mich verständlicher ausgedrückt habe.
>
> Für die Hilfe und die Zeit ein gro�es Dankeschön.
>
>
>

Hallo TN!

Zunächst einmal trenne die Eingabefunktion von der Verwertung der Tastendrücke:

function NumTaste returns byte {

byte myCode;

do { myCode=rbkeyb.get(); } while (myCode & 0xF0) != 0x30;  // Alles nicht-numerische überlesen

return myCode & 0x0F;  // Wert der getippten Zahl zurück geben

}

Um jetzt dein v als Ergebnis dreier eingetippter Ziffern zu berechnen genügt eine einfache Zuweisung:

v = NumTaste() * 100 + NumTaste() * 10 + NumTaste();  // Drei Tasten lesen und verwerten

Das Ganze ist jetzt sehr rasch hinein getippt und ohne Test. Sorry für allfällige Fehler. Aber vom
Prinzip kannst du es so verwenden.

Beste Grü�e,
Dietmar.


    Antwort schreiben


Antworten:

Re: Array füllen (von TN - 5.02.2004 21:39)
    Re: Array füllen (von Dietmar Weickert - 6.02.2004 10:26)
        Re: Array füllen (von TN - 6.02.2004 13:55)