Scream
Zeichenfolge verarbeiten
Hallo,
hätte da auch ne Frage :
Wie bekomme ich den ganzen Text auf einmal ausgelesen ?
So wie jetzt unten im Code wird ja Zeichen für Zeichen
gelesen. In der Listbox stehen dann 1. Zeichen, 1. + 2. Zeichen,
1., 2. + 3. Zeichen usw. also wie eine Pyramide.
Ich will es gerne mit #PB_EventType_Change machen, da
alles automatisch gehen soll. Ansonsten müßte ich noch
einen Button zum Abfragen machen.
			
			
									
									hätte da auch ne Frage :
Wie bekomme ich den ganzen Text auf einmal ausgelesen ?
So wie jetzt unten im Code wird ja Zeichen für Zeichen
gelesen. In der Listbox stehen dann 1. Zeichen, 1. + 2. Zeichen,
1., 2. + 3. Zeichen usw. also wie eine Pyramide.
Ich will es gerne mit #PB_EventType_Change machen, da
alles automatisch gehen soll. Ansonsten müßte ich noch
einen Button zum Abfragen machen.
Code: Alles auswählen
Global Quit.l
 
If OpenWindow(0, 10, 10, 400, 250, "Barcode", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
   If CreateGadgetList(WindowID(0))
       ButtonGadget(1,5, 10,100, 20, "Ende")
       ButtonGadget(2,120, 10, 100, 20, "Info")
       StringGadget(3,5, 50, 240, 20, "")
       ListViewGadget(10, 5, 100, 380, 120, #PB_ListView_Clickselect)
   EndIf
   Quit = 0
   Repeat
    EventID.l = WaitWindowEvent()
    Select EventID
       Case #PB_Event_CloseWindow
          Quit = 1
       Case #PB_Event_Gadget 
         Select EventGadget()    
            Case 1
               Quit = 1
            Case 2
             MessageRequester("Info", "Hallo !", #PB_MessageRequester_Ok) 
            Case 3
                Select EventType()
                  Case #PB_EventType_Change
                        AddGadgetItem(10, -1, GetGadgetText(3))
                EndSelect 
                ;SetGadgetText(3, "")      
       EndSelect
    EndSelect
   Until Quit = 1
EndIf
End
PB 6.10
						Warum immer so kompliziert. Barcodeleser werden über Serial, Netzwerk oder USB angeschlossen. Die meisten Geräte liefert ein ASCII Protokoll. Also ein String der ausgewerte werden muss.
Mit den Ergebnisstring kann man dann ganz normal weiterarbeiten.
			
			
									
									Mit den Ergebnisstring kann man dann ganz normal weiterarbeiten.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
						Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
- 
				Kaeru Gaman
 - Beiträge: 17389
 - Registriert: 10.11.2004 03:22
 
würd' ich auch so sehen... 
das in tastatureingabe umzuwandeln,
damit es in gadgets auftauchen kann,
ist wohl ne leistung von zusatzsoftware.
schau mal in die anleitung von dem barcodeleser,
da sollte ein kommunikationsprotokoll drinstehen.
			
			
									
									das in tastatureingabe umzuwandeln,
damit es in gadgets auftauchen kann,
ist wohl ne leistung von zusatzsoftware.
schau mal in die anleitung von dem barcodeleser,
da sollte ein kommunikationsprotokoll drinstehen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
						Der Weise weiß, dass er ein Narr ist.
Nö, ist keine Zusatzsoftware notwendig bzw. dabei.
Es ist ein Scanner mit Tastaturweiche. Einfach reinstecken
und sich wohlfühlen.
Siehste ja auch oben, daß es mit nem simplen StringGadget
geht. Die Frage war ja nur wegen der Automatisierung beim
Einlesen ohne Zutun des Anwenders.
Also Scannen, den EAN Code vom Stringgadget lesen und ab
in die Listbox, halt nur voll automatisch.
			
			
									
									Es ist ein Scanner mit Tastaturweiche. Einfach reinstecken
und sich wohlfühlen.
Siehste ja auch oben, daß es mit nem simplen StringGadget
geht. Die Frage war ja nur wegen der Automatisierung beim
Einlesen ohne Zutun des Anwenders.
Also Scannen, den EAN Code vom Stringgadget lesen und ab
in die Listbox, halt nur voll automatisch.
PB 6.10
						- 
				Kaeru Gaman
 - Beiträge: 17389
 - Registriert: 10.11.2004 03:22
 
> Die Frage war ja nur wegen der Automatisierung beim
> Einlesen ohne Zutun des Anwenders.
anderes gerät kaufen.
das was du hast ist eben ein ganz spezielles mit seiner tastaturweiche.
andere stecken an USB oder COM und kommunizieren über vernünftige protokolle.
solche lassen sich dann als stationärgeräte an nem fließband anbringen und sowas.
			
			
									
									> Einlesen ohne Zutun des Anwenders.
anderes gerät kaufen.
das was du hast ist eben ein ganz spezielles mit seiner tastaturweiche.
andere stecken an USB oder COM und kommunizieren über vernünftige protokolle.
solche lassen sich dann als stationärgeräte an nem fließband anbringen und sowas.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
						Der Weise weiß, dass er ein Narr ist.
Habs ja deswegen gekauft, damit es einfach zu
handhaben ist und ich nicht noch über ser. oder
usb - Schnittstellen kommunizieren muß.
Mittlerweile hab ich es selber rausbekommen.
Ich muß halt nur nen Zähler mitführen, der die
Anzahl der vom Scanner gelieferten Zeichen zählt.
So funktioniert es nach meinen Vorstellungen :
			
			
									
									handhaben ist und ich nicht noch über ser. oder
usb - Schnittstellen kommunizieren muß.
Mittlerweile hab ich es selber rausbekommen.
Ich muß halt nur nen Zähler mitführen, der die
Anzahl der vom Scanner gelieferten Zeichen zählt.
So funktioniert es nach meinen Vorstellungen :
Code: Alles auswählen
Global Quit.l, x.l
 
If OpenWindow(0, 10, 10, 400, 250, "Barcode", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
   If CreateGadgetList(WindowID(0))
       ButtonGadget(1,5, 10,100, 20, "Ende")
       ButtonGadget(2,120, 10, 100, 20, "Info")
       StringGadget(3,5, 50, 240, 20, "")
       ListViewGadget(10, 5, 100, 380, 120, #PB_ListView_Clickselect)
   EndIf
   Quit = 0
   x = 0
   Repeat
    EventID.l = WaitWindowEvent()
    Select EventID
       Case #PB_Event_CloseWindow
          Quit = 1
       Case #PB_Event_Gadget 
         Select EventGadget()    
            Case 1
               Quit = 1
            Case 2
             MessageRequester("Info", "Hallo !", #PB_MessageRequester_Ok) 
            Case 3
                Select EventType()
                  Case #PB_EventType_Change
                        x = x + 1
                  EndSelect 
                If x = 13  ; 13 Zeichen EAN - Code
                   AddGadgetItem(10, -1, GetGadgetText(3)) 
                   SetGadgetText(3, "") 
                   x = 0
                EndIf        
       EndSelect
    EndSelect
   Until Quit = 1
EndIf
End
PB 6.10
						- Tafkadasom2k5
 - Beiträge: 1578
 - Registriert: 13.08.2005 14:31
 - Kontaktdaten:
 
In diesem Fall fragste die Länge der EANs ab- ist natürlich praktikabel. Wäre es aber nicht günstiger, das #CRLF abzufangen? Somit wären auch EAN128 etc kein Problem mehr für deine Software 
Edit:
Viele Scanner mit Tastaturweichen bieten sogar eine Art Konfiguration an- da lassen sich die interessantesten Kombinationen von "untipparen" Zeichen als Terminator des Strings einstellen. Damit bist du dann auf ner relativ sicheren und skalierbareren Seite.
			
			
									
									Edit:
Viele Scanner mit Tastaturweichen bieten sogar eine Art Konfiguration an- da lassen sich die interessantesten Kombinationen von "untipparen" Zeichen als Terminator des Strings einstellen. Damit bist du dann auf ner relativ sicheren und skalierbareren Seite.
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!