3 Felder, Barcode, reinschreiben in die DB

micha2233

Aktives Mitglied
Hallo Zusammen,

ich hab folgendes Problem: Ich hab einen Scanner mit Windows CE 5.0 Betriebssystem. Jetzt soll ich ein Programm programmieren, welches die Eingabe des Artikels, wird wohl über das Einscannen erkannt, die Eingabe der Menge und des Platzes erlaubt. Die Eingabe soll, dann in die DB reingeschrieben werden. Hat jemand schon soetwas gemacht? Könntet ihr eventuell helfen? Wäre euch wirklich dankbar.

Viele Grüße

Micha
 
das hört sich doch garnicht so kompliziert an. habe sowas vor kurzem gemacht, allerdings nicht in java. aber die vorgänge sollten die gleichen sein. der scanner "simuliert" dann wohl die tastureingaben.

d.h. du brauchst eine oberfläche für dein programm, ein browser sollte genügen. dort erzeugst du ein feld, das automatisch den focus bekommen muss. der scanner "schreibt" beim scannen den string dann automatisch in das eingabefeld mit dem focus. der rest ist eigentlich trivial, bzw hat nix mit dem scannen zu tun.
den string ggf. validieren und dann in die db schreiben.

oder was genau bereitet dir schwierigkeiten? ist jetzt sehr allgemein deine problembeschreibung. :/
 
was ein focus ist weißt du? also wenn du bspw einen browser benutzt, gibt es ja meistens ein feld, in dem der cursor blinkt und in dem du schreiben kannst. also das eingabefeld, das aktiv ist. dieses feld hat dann den focus.

dein scanner liest (vermutlich) auch den barcode und schreib ihn sofort wieder raus, also dahin wo der cursor blinkt. auf diese "eingabe" musst du dann reagieren. wenn kein feld den focus hat, schreibt er halt auch nirgendwo rein 🙂
 
ich hab gerade was zu String Validierug gefunden:
Java:
    String bookID = "ABCDE5"; //hier würde ich gerne alle Buchstaben und Zahlen abfangen
     
    int number = 10;   // kann ich ihm hier sagen 100000000000???
     
    NumberFormatException e = null; // the exception variable that is thrown by the try-catch, you declare it as null
     
     
    // here you test whether
    try
    {
    number = Integer.parseInt(bookID.substring(bookID.length() - 1, bookID.length())); // you try to parse the LAST character as an integer
    } catch (NumberFormatException e1) {
    e = e1; //if that didn't work, it throws an exception
    }
     
     
     
    if (
    bookID.length() == 6
    && e == null
    && number <10
    )
    { // if the exception does NOT null and the string is 6 characters long
    System.out.println("Valid ID: " + number);
     
    //you can do the testingg with regular expressions also
     
    } else {
    System.out.println("Not a valid ID...");
    }

oder wie sieht dein Skript zur Validierung des Strings aus?
 
und die nächste Frage ist wie schreibe ich die Eingaben in die DB und danach das Leeren der Felder z.B. nach Betätigen nach der Enter Taste?
 
wie gesagt, mehr infos! 🙂 die validierung ist ja deine sache, auf was du den string prüfst. ob er leer ist, was es für zeichen sind, anzahl, bestimmte muster (regex). das kann dir hier ja keiner vorschreiben. du hast doch sicher irgendwelche vorgaben, oder?
soll die validierung denn in java geschehen? nach dem absenden (des formulars!? du hast uns noch nicht verraten wie die oberfläche aussieht. html? swing?)

in die db kannst du es bspw mit JDBC über einen connector schreiben, dazu reichen wohl sql grundlagen. was für eine db benutzt du?
 
ich hab selbst ziemlich wenig inputs. es ist keine sql db. Es ist eine DB Verbindung zu abas (ERP Software). Felder: Artikel, Platznr. und Menge
 
ich hab den Scanner gerade mal getestet. Ich komme mit dem Scanner ins netz zu hause. Leider wird er von Windows 7 nicht erkannt. Was hst Du gemacht, damit dein Scanner erkannt wird?
 
was heißt denn nicht erkannt? und es kommt auch auf den scanner an, du stellst fragen ... 😀

musst du deinen scanner vielleicht erst auf einen zeichensatz einstellen? ist da ein handbuch bei? schonmal reingeschaut? 😉
 
Also ich denke mit Java bist Du hier falsch bedient.
Diese MDE-Geräte mit Windows CE bringen immer eine api für das .Net Framework mit, um mit dem Scanner direkt zu arbeiten. Zumindest kenne ich dies von diversen Motorola Geäten so.
Also sollte C/C++ oder C# erstmal die Sprache der Wahl sein!
Wenn doch unbedingt mit Java anscheinend ein Picklisten Programm erstellt werden soll,
Würde ich mir erstmal das Gerät ganz genau anschauen, auf das Programmiert werden soll!
Das Gerät braucht trotz Verbindung zu einer DB, trotzdem noch eine interne Datenbank,
falls die Verbindung abbricht als Backup-System um Datenverluste zu meiden!
 
Das Gerät braucht trotz Verbindung zu einer DB, trotzdem noch eine interne Datenbank,
falls die Verbindung abbricht als Backup-System um Datenverluste zu meiden!

OK, thx! D.H. Die Daten sollen zuerst auf die interne Datenbank gepackt werden und dann auf die externe? Die interne muss,aber nach einer bestimmten Zeit bzw. Anzahl an Eingaben geleert werden, denn ich hab ja nur 128 MB Speicher.
 
es gibt aber auch scanner mit internem browser, auch von motorola. dort wäre dann eine java-anbindung wieder möglich (jsp, etc)
 
Der begrenzte Speicher ist auch ganz gut.
Erfahrungsgemäß sollten auch nicht mehr als 250 Artikel erfasst werden,
um spätere eventuell auftretende Fehler zu minimieren.

Die Daten kann man auch direkt Senden, aber dann ist eine Überprüfung ob die Daten auch angekommen sind notwendig und ebenfals eine Frage der Netzwerklast. Trotzdem sollte eine DB bestehen, um auch offline weiter Artikel aufnehmen zu können bestehen. Schon alleine, dass der Mitarbeiter der damit Arbeitet nicht dumm darsteht und wartet bis mal einer den z.B. Serverfehler behoben hat.
 
handbuch war leider nicht dabei, habe mir vor 3h von der Herrstellerseite runtergeladen. Da steht nur, dass ich Microsoft Windows Mobile Device Center runterladen soll und istallieren. Es wurde jedoch nicht erkannt. Es gibt auch keinen win7 64 bit treiber. Ich hab den 32bit Treiber installiert und als admin laufen im Kompatabilitätsmodus lassen.
 
So, bevor wir hier weiter machen, Skeye Forum &bull; Index page
sollte erstmal deine Anlaufstelle sein. Dort gibt es anscheinend auch ein Framework für Java.
Und empfehlen würde ich dir auch das Thema SysBackup und Hardreset in der Bedienungsanleitung um deine Installation zu schützen, die nach einem Hardreset nämlich weg ist!
 
Nein, die JRE muss natürlich dahin, wo auch der Bytecode ausgeführt werden soll.
Also auf das MDE.
 
ok, dann werde ich das wohl machen müssen. Danke für Deine Tipps. WIRKLICH. Ich stehe morgen früh auf und mache da weiter, wo wir heute aufgehört haben. Falls ich morgen ne Frage hab kann ich Dir irgenwie schreiben?

Gruß

Micha
 
Bei konkreten Jave Problemen, kannst du dich sicher weiterhin hier deine Fragen stellen 🙂
Aber gleich vorweg, wir kennen das Framework hier nicht, daher kann warscheinlich auch niemand explizit auf solche Fragen, die mit dem Framework zu tun haben hier antworten!
 
Es soll so aussehen, dass ich eine Teilenummer einscanne, mein Programm soll es dem Benutzer sagen, dass diese Teilenummer zu einer bestimmten Baugruppe gehört und ihm gleichzeitig sagen, wo der Platz im Lager der Baugruppe liegt. Wenn noch kein Platz im Lager dafür vorgesehen ist, soll der Benutzer einen neuen Platz anlegen können. Wenn er fertig mit dem Auftrag ist bspw. 15 Teilenummer zu dem Platz 15 gelegt hat, soll er denn Auftrag als fertig bzw. löschen können.

Muss ich auf meinem Scanner die JRE Embedded haben? Ich komme an die von Oracle nicht dran.
 

Zurück
Oben