c't

c't-Projekte - Mailinglisten


[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

AW: [ct-bot] Ziffern Tasten mehrfach nutzen

Absender: Carsten Giesen
Datum: Di, 21.03.2006 21:26:40


Hi,

Sorry, aber das finde ich nun unübersichtlich.
Und verstehen tue ich nur Bahnhof, oder leigt es daran ?!!?

Cu

Carsten 

-----Ursprüngliche Nachricht-----
Von: ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx
[mailto:ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx] Im Auftrag von Timo
Sandmann
Gesendet: Dienstag, 21. März 2006 21:22
An: 'Entwicklung rund um den c't-bot'
Betreff: RE: [ct-bot] Ziffern Tasten mehrfach nutzen

Hallo, 

> Ich habe einen Patch eingereicht, mit dem man die Zifferntasten 
> mehrfach nutzen kann.
> 
> Herr Benz bat nun darum das bevor er aufgenommen wird, dieses hier zu 
> diskutieren.
> 
> Meine Idee, ist abhängig vom Screen den Tsten unterschiedliche 
> Funktionen geben zu können.

die Idee gefällt mir sehr gut, nur finde ich den Code mit den
verschachtelten switches etwas unübersichtlich. Was vielleicht auch eine
(IMHO übersichtlichere) Möglichkeit wäre:

- Es gibt für jeden Screen eine Funktion void actual_display_action(uint8
key), in der steht, was bei den Tasten 0-9 zu tun ist.
- Es gibt einen Zeiger auf diesen Funktionstyp, der immer auf die Funktion
zeigt, "deren" Display gerade angezeigt wird. 
- Es gibt eine weitere Konstante wie DISPLAY_SCREEN_TOGGLE, z.B.
DISPLAY_ACTION, die benutzt wird, um der Funktion rc5_screen_set()
mitzuteilen, dass eine Zifferntaste, die displayspezifisch verwendet werden
soll, gedrückt wurde.
- RC5_CODE_X wird jeweils rc5_screen_set, {DISPLAY_ACTION, X } zugewiesen. 
- Der zweite Parameter (bei rc5_screen_set() bisher ungenutzt) ist die
gedrückte Taste. 
- In rc5_screen_set() setze ich im Fall von !DISPLAY_ACTION den o.a. Zeiger
auf die Funktion für's "neue" Display.
- Im Fall von DISPLAY_ACTION rufe ich actual_display_action(par->value2)
auf.

So das wäre mein erster Einfall dazu. Das ganze ist vielleicht ein bisschen
mehr Code, aber ich fände es strukturierter / übersichtlicher. 

Mit freundlichen Grüßen
Timo Sandmann

_______________________________________________
ct-bot-entwickler Mailingliste
ct-bot-entwickler@xxxxxxxxxxxxxxxxx
http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler