Auswahl in XbpListbox()

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Auswahl in XbpListbox()

Beitrag von Jan »

Ich habe folgendes Problem: Bei meinem Kunden habe ich eine Artikelauswahl in einer XbpListbox. Wenn der Kunde nun einen Artikel auswählt kommt er direkt in ein XbpSle zur Eingabe der Anzahl.

Da Artikel über einen numerischen Barcode auch gescannt werden können gibt es einen Artikel, der bei Auswahl in ein XbpSle mit der Entgegennahme der Scancodes führt. Ein Scan wird dabei immer mit einem [Enter] abgeschlossen.

Beides funktioniert ganz sauber und zuverlässig.

Aber wie so oft finden die Mitarbeiter Wege, das Ganze auszuhebeln. Die scannen, obwohl noch die XbpListbox aktiv ist. Und dann passiert folgendes: Es wird ein Artikel aus der Listbox ausgewählt, das Programm springt folgerichtig in die Anzahl, und dann wird da weiter erfasst. Bei bis zu 12stelligen Barcodes kommt da eine heftige Anzahl zusammen ...

Wie schaffe ich es nun, das abzufangen? Mir fallen dazu zwei Optionen ein:
  • Zahlenwerte, die höher sind als die Anzahl der Listenelemente, werden einfach zurückgewiesen
  • Eleganter wäre natürlich, wenn der in dem Fall eines Scanns in der Artikelauswahl automatisch den Scan-Artikel wählen würde und den Scancode in das passende SLE eintragen würde.
In beiden Fällen muß ich aber natürlich abfangen, das der Scancode einen ungewollten Artikel auswählt.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Auswahl in XbpListbox()

Beitrag von Tom »

Wäre es nicht am einfachsten, wenn die Listbox immer nach einem ItemSelected den Fokus auf das SLE setzt?
Herzlich,
Tom
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Auswahl in XbpListbox()

Beitrag von Jan »

Hallo Tom,

nun ja, es soll ja in Abhängigkeit des ausgewählten Artikels auf ein bestimmtes SLE gehen. Eines von beiden soll es immer werden, nur eben welches?

Ich hab mal ein wenig probiert. Und bin dann dahinter gekommen, das ich mit Lastkey() weiter kommen könnte. Denn der gibt mir die letzte Stelle des Barcodes zurück. Eine Auswahl in der Listbox, egal ob mit Enter oder Maus-Doppelklick, gibt mir aber immer eine 13. Das Enter also.

Damit könnte ich wenigstens schon mal den Scan in der Listbox abfangen - alles was mir einen Lastkey() <> 13 gibt, wird zurückgewiesen. Das ich diese alten Funktionen für ein GUI-Programm nochmal ausgraben würde ...

Jetzt wäre es natürlich noch schon auslesen zu können, was die gesamte gescannte Zeichenfolge gewesen ist.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Auswahl in XbpListbox()

Beitrag von AUGE_OHR »

hi,

eine Listbox hat (leider) das Problem das du nicht "erkennen" kannst ob der User da drin was macht ...
wie wäre eine Combobox ... da kannst du o:listBoxFocus() abfragen ob die "aufgeklappt" ist.
gruss by OHR
Jimmy
Antworten