Texteingabe über 4-5 Tasten ?!

Gast #235156
Lesenswert?
• ▲
▼
hallo forianer,

ich muss in einer schaltung die möglichkeit haben, namen für bestimmte
datensätze einzugeben. nun stehen mir max. 5 tasten für die eingabe zur
verfügung (und natürlich ein lcd). vom ablauf her würde man das ja
vermutlich mit "durchklickern" eines strings machen (a-z und 0-9) und
dann mit links/rechts im lcd den corsor bewegen. so zumindest meine
vorstellung. hat da jemand schonmal ähnliches gemacht oder tips dazu ?
Gast #235161
Lesenswert?
• ▲
▼
jo, so oder ähnlich hatte ich das gedacht:
+/- für zeichen
-> zeichen bestätigen
<- zeichen löschen
[enter] eingabe fertig

ergo 5 tasten.

softwaretechnisch habe ich das noch nicht gemacht. ich würde mal
tippen, man macht eine feste variable als string*36
"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" in welcher ich dann mit +/-
hin- und herbewege. das aktuelle zeichen übernehme ich dann in eine
weitere stringvariable als nächstes zeichen, diese variable ist dann
dem datensatz zugeordnet. korrekt ?
Gast #235162
Lesenswert?
• ▲
▼
@peter: hatte ich falsch formuliert, 5 tasten sind auf dem interface
vorhanden, mit denen muss ich mir etwas ausdenken. vom prinzip her ist
das so wie ihr schon geschrieben habt, nun fehlt mir nur der richtige
ansatz, das in bascom zu machen.

nochmal zur aufgabe: ich muss ein array aus verschiedenen variablen
erstellen, welche zusammengehören:

[array #] [name] [byte1] [byte2] [bit1] [bit2] [word] [byte]

dieser datensatz wird programmiert. dann kann der benutzer sozusagen
die "arraynummer" wählen und die software setzt entsprechend die
betriebswerte. der name muss 10 Zeichen haben.
Gast #235164
Lesenswert?
• ▲
▼
jo, struct kenne ich auch noch. bei bascom gibt es das imho nicht, was
aber nicht schlimm ist: ich erstelle einfach jede variable als array
und greife dann mit der "spaltennummer" auf den zusammenhängenden
datensatz zu.

aber wer gibt mir nen tip, ob die o.a. idee mit den string etc zur
textauswahl ok ist oder nicht ?
Gast #235165
Lesenswert?
• ▲
▼
Ist wahrscheinlich schon ok.

Die Alternative wäre, die Grenzen mit if-Abfragen zu definieren z.B.:
[C]
if (plus) auswahl++;
if (minus) auswahl--;

if (plus & (auswahl=='Z')) auswahl = '0';
if (minus & (auswahl=='0')) auswahl ='Z';
[\C]

Rick

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.