Aktuelle Zeit: 20.11.2018 13:37

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 68 Beiträge ]  Gehe zu Seite 1, 2, 3, 4, 5 ... 7  Nächste
Autor Nachricht
 Betreff des Beitrags: Barcode Modul
BeitragVerfasst: 18.02.2018 10:54 
Offline

Registriert: 02.10.2011 14:45
Wohnort: Sinzig
Ursprünglich hatte ich nur vor aus einer PB Anwendung heraus Palettenscheine zu drucken.
Also einen Barcode und ein bis zwei Textzeilen.
Nun gut, die Ansprüche stiegen, ist dann doch etwas umfangreicher geworden.

Features:
- Aktuell wird EAN8 , EAN13 und Code128 unterstützt. Weitere folgen.
- Beliebig viele Barcodes und Barcode- Typen auf eine Seite drucken.
- Beliebig viele Textzeilen auf einer Seite
- Barcode- und Textgröße frei definierbar.
- Farben und Zeichensätze frei definierbar.
- SVG-Export. Aktuell aber nur für den Code128
- Barcode Image-Export

Die Version 1.3.0 - 14/04/2018 sowie Beispiele und Dokumentation findet Ihr auf folgender Seite.
http://micha122.bplaced.net

Getestet habe ich die Barcodes mit dem Handy sowie einem echten Barcode- Scanner.

Getestet auf Windows x86 x64
Linux und macOS sollte aber auch klappen.

_________________
Barcodes for PureBasic - http://micha122.bplaced.net/


Zuletzt geändert von Micha122 am 14.04.2018 14:30, insgesamt 8-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Barcode Modul
BeitragVerfasst: 20.02.2018 17:33 
Offline
Benutzeravatar

Registriert: 27.02.2006 22:30
Wohnort: Neumünster
:allright: :allright: :allright:

vielen Dank fürs teilen, funktioniert wunderbar, verstehe zwar wenig aber das macht nix.

9109276043214 <-- Zahlen gedruckt und gescannt
2109876543210
35689140

nur die Fehlerseite beim Download läßt sich nicht drucken. 400 kb für etwas Text ist auch merkwürdig.

EDIT: habe den Download Button oben rechts übersehen, wollte die Webseite speichern.

_________________
Purebasic 5.60 X 64 - Windows 10

Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer


Zuletzt geändert von hjbremer am 20.02.2018 19:56, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Barcode Modul
BeitragVerfasst: 20.02.2018 19:20 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Lief erst nicht unter macOS ...

Musste folgendes ändern

1. Im Beispiel
Code:
;IncludeFile "..\Source\Barcode_Module.pbi"
IncludeFile "../Source/Barcode_Module.pbi"


2. Include Reihenfolge geändert. Erst StartPrinting...
Code:
; Drucken starten
    Init_Printer.i = StartPrinting("EAN")
    If Init_Printer.i = 0
      ProcedureReturn 15
    EndIf
    VektorID = PrinterVectorOutput(#PB_Unit_Millimeter)
    StartVectorDrawing(VektorID)
...


Noch nicht Barcodeleser getestet. Aber Tolle Arbeit :allright:

P.S. Getestet nicht Handscanner und Smartfon :wink:

_________________
Alles ist möglich, fragt sich nur wie...
Projekte EventDesigner v1.x / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Barcode Modul
BeitragVerfasst: 20.02.2018 19:47 
Offline

Registriert: 02.10.2011 14:45
Wohnort: Sinzig
@hjbremer
Zitat:
vielen Dank fürs teilen, funktioniert wunderbar,

Danke für das positive Feedback.

Zitat:
verstehe zwar wenig aber das macht nix.

Bin aktuell dabei den Code128 bzw. EAN128 zu implantieren. Dieser Code ist recht komplex, weshalb ich dann wohl oder über auch ein kleines Manual schreiben werde.

Zitat:
nur die Fehlerseite beim Download läßt sich nicht drucken. 400 kb für etwas Text ist auch merkwürdig.

Ich habe das mal auf zwei anderen Rechnern als nicht angemeldeter User ausprobiert.....kein Problem. Das rtf ist 4kb groß.
Wäre schön wenn du das noch mal testen könntest.



@mk-soft

Zitat:
Lief erst nicht unter macOS ...

Musste folgendes ändern

Werde versuchen das in nächster Version zu berücksichtigen. Wenn ich nicht klar komme melde ich mich noch mal.

Zitat:
Noch nicht Barcodeleser getestet. Aber Tolle Arbeit :allright:

Danke, du hast ja gewissermaßen mitgeholfen. :wink:

Grüße!

_________________
Barcodes for PureBasic - http://micha122.bplaced.net/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Barcode Modul
BeitragVerfasst: 22.03.2018 20:50 
Offline

Registriert: 02.10.2011 14:45
Wohnort: Sinzig
Hallo Leute!
Ich habe mein Barcode Modul um den Code128 erweitert.
Es werden alle drei Codepages (A, B und C) unterstützt.

Leider ist der Code128 für den Benutzer nicht so einfach zu handhaben wie beispielsweise der EAN8 oder EAN13.
Das heißt: Man kann nicht einfach irgendwas eintippen und hoffen das klappt schon. Man muss die Steuercodes kennen.

Hier ein kurzes Beispiel welches "Hallo PB-GEMEINDE 2018" ausgibt:
Code:
IncludeFile "C:\Users\Micha\Desktop\Barcode_Module\Source\Barcode_Module.pbi"

EnableExplicit
UseModule Common
UseModule Barcode

Define Checksum = Generate_Code128_Checksum("<START B>Hallo;<CODE A> PB-GEMEINDE ;<CODE C>2018")
If Checksum > 99
  Debug "Fehler: " + Checksum
  End
EndIf

Define Code128.s, Code128_Sequence.s, Checksum.i, Result.i

Code128_Sequence.s = Generate_Code128_Sequence("<START B>Hallo;<CODE A> PB-GEMEINDE ;<CODE C>2018;<P>" + Str(Checksum) + ";<STOP>")
If Code128_Sequence.s = "26" Or Code128_Sequence.s = "27" Or Code128_Sequence.s = "28" Or Code128_Sequence.s = "29" Or Code128_Sequence.s = "30"
  Debug "Fehler: " + Code128_Sequence.s
  End
EndIf

NewList Barcode.Barcode_Parameter() ;Alle Barcodes die gedruckt werden sollen
NewList Text.Text_Line()            ;Alle Textzeilen gedruckt werden sollen
Define Printer.Print_Parameter      ;Druckparameter

;Papiergrösse/Druckparameter. Alle Größenangaben in Millimeter!
Printer\Page_width = 210            ;A4
Printer\Page_height = 297           ;A4
Printer\Left_edge = 20              ;20mm Rand
Printer\Right_edge = 20             ;20mm Rand
Printer\Top_edge = 20               ;20mm Rand
Printer\Upper_edge = 20             ;20mm Rand
Printer\Pages = 1                   ;Anzahl zu druckender Seiten
Printer\Print_Requester = #True     ;#False für Standarddrucker, #True für Drucker Auswahl

;Einen Code128 hinzufügen. Alle Größenangaben in Millimeter!
AddElement(Barcode())
Barcode()\Type = "CODE128"                    ;Aktuell wird "EAN8", "EAN13" und "Code128" unterstützt
Barcode()\Barcode = "Hallo PB-GEMEINDE 2018"  ;Die Barcodeziffern inkl. Prüfziffer
Barcode()\Font = "Arial"                      ;Zeichensatz für Ziffern. Leer lassen wenn keine Ziffern erzeugt werden sollen
Barcode()\Sequence = Code128_Sequence.s       ;Wurde von <Generate_Code128_Sequence()> erzeugt
Barcode()\Width = 70                          ;Die Barcode Breite
Barcode()\Height = 20                         ;Die Barcode Höhe
Barcode()\PosX = 90                           ;Position
Barcode()\PosY = 50                           ;Position
Barcode()\Color0_RGB = "255,255,255"          ;Linienfarbe1 als RGB getrennt durch Komma
Barcode()\Color1_RGB = "0,0,0"                ;Linienfarbe1 als RGB getrennt durch Komma
Barcode()\ColorDigits_RGB = "0,0,0"           ;Farbe der Ziffern als RGB getrennt durch Komma


Result.i = Print_Barcode(Barcode(), Printer, Text())
If Result.i <> 1
  Debug "Fehler :" + Result.i
EndIf


Dieses Beispiel benutzt alle drei Codepages.

"<START B>Hallo;<CODE A> PB-GEMEINDE ;<CODE C>2018;<P>" + Str(Checksum) + ";<STOP>"

Dieser Code startet mit Codepage B. Für "Hallo" wird also Codepage B benutzt.
Dann wird auf Code A umgeschaltet und für "PB-GEMEINDE" benutzt.
Als nächstes wird für "2018" auf Code C umgeschaltet.
Nun folgt ein <P> für Prüfziffer gefolgt von der vorher errechneten Prüfziffer.
Als letztes folgt der Stop-Code.

Wie Ihr vielleicht schon gesehen habt, sind die einzelnen Codebereiche durch ein Semikolon zu trennen.

Hier die Schreibweise der Code- Funktionen:

Codepage A:
Code:
"<NUL>","<SOH>","<STX>","<ETX>","<EOT>","<ENQ>","<ACK>","<BEL>","<BS>","<HT>","<LF>","<VT>","<FF>","<CR>","<SO>","<SI>","<DLE>",
"<DC1>","<DC2>","<DC3>","<DC4>","<NAK>","<SYN>","<ETB>","<CAN>","<EM>","<SUB>","<ESC>","<FS>","<GS>","<RS>","<US>","<FNC 3>","<FNC 2>","<SHIFT>","<CODE C>",
 "<CODE B>","<FNC 4>","<FNC 1>","<START A>","<START B>","<START C>","<STOP>"


Codepage B:
Code:
"<DEL>","<FNC 3>","<FNC 2>","<SHIFT>","<CODE C>","<FNC 4>","<CODE A>","<FNC 1>","<START A>","<START B>","<START C>","<STOP>"


Codepage C:
Code:
<CODE B>","<CODE A>","<FNC 1>","<START A>","<START B>","<START C>","<STOP>"


Auf dieser Seite http://www.adams1.com/128table.html ist sehr schön zu sehen, welche Codepage welche Zeichen darstellen kann.

Ich weis, ist nicht so einfach, beantworte aber gerne Fragen. :wink:

Noch eine Info zum Drucken und Scannen:
Der Code128 hat eine recht hohe Informationsdichte.
Damit möchte ich sagen, je kleiner gedruckt werden soll, desto besser müssen Drucker und Barcodeleser sein.

Grüße

_________________
Barcodes for PureBasic - http://micha122.bplaced.net/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Barcode Modul
BeitragVerfasst: 23.03.2018 00:34 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Vielen Dank fürs teilen :wink:

Kann ich bestimmt mal gut gebrauchen :allright:

P.S.
Lesen von Code128 ist auch blöd... Vor allem wenn man Groß- Kleinschreibung hat, oder Sonderzeichen verwendet.
Die einfachen Scanner liefern die Steuerzeichen wie '<Shift>' oder '<Sonderzeichen>' und wandeln den Text nicht selber um.

_________________
Alles ist möglich, fragt sich nur wie...
Projekte EventDesigner v1.x / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Barcode Modul
BeitragVerfasst: 23.03.2018 14:20 
Offline

Registriert: 02.10.2011 14:45
Wohnort: Sinzig
Danke für das Feedback mk-soft. :D

Zitat:
Lesen von Code128 ist auch blöd... Vor allem wenn man Groß- Kleinschreibung hat, oder Sonderzeichen verwendet.
Die einfachen Scanner liefern die Steuerzeichen wie '<Shift>' oder '<Sonderzeichen>' und wandeln den Text nicht selber um.

Also ich verwende ausschließlich Scanner unter 100€. Ich konnte dieses Problem mit einer richtigen Scanner- Konfiguration lösen.

Was ich generell mal vergessen habe zu schreiben, ist, das man die mitgelieferte Druckroutine nicht unbedingt benutzen muss.
Mit den erzeugten Sequenzen ist es ein Kinderspiel den Barcode selber zu zeichnen.

Die Code128 Sequenz für "Hallo PB-GEMEINDE 2018" (<START B>Hallo;<CODE A> PB-GEMEINDE ;<CODE C>2018;<P>" + Str(Checksum) + ";<STOP>) sieht zum Beispiel so aus:
Code:
11010010000110001010001001011000011001010000110010100001000111101011101 01111011011001100111011101101000101100010011011100110100010001000110100010111 011000100011010001100010001010111000110101100010001000110100011011001100101110 111101100100111011001110010100011010001100011101011

(ohne Leerzeichen) - RSBasic

Die 1 steht für eine dunkle Linie, die 0 für eine helle Linie.

Grüße, Micha

__________________________________________________
Leerzeichen hinzugefügt
23.03.2018
RSBasic

_________________
Barcodes for PureBasic - http://micha122.bplaced.net/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Barcode Modul
BeitragVerfasst: 30.03.2018 12:27 
Offline

Registriert: 02.10.2011 14:45
Wohnort: Sinzig
Wünsche zunächst mal allen schöne Ostertage. Wetter spielt ja einigermaßen mit, zumindest bei uns. :D

Da für die Zukunft noch einiges geplant ist, habe ich das vorhandene erst einmal dokumentiert.

Source Code, Beispiele und Dokumentation sind nun zentral an einem Ort zu finden.
http://micha122.bplaced.net

Ich denke das ist auch für Euch einfacher. :D

Zwar nur Free-hoster, aber zumindest ohne Werbung.

Grüße, Michael

_________________
Barcodes for PureBasic - http://micha122.bplaced.net/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Barcode Modul
BeitragVerfasst: 30.03.2018 14:15 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Vielen Dank für das Modul.

Die Web-Seite sieht doch sehr gut aus :allright:

_________________
Alles ist möglich, fragt sich nur wie...
Projekte EventDesigner v1.x / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Barcode Modul
BeitragVerfasst: 30.03.2018 15:16 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
Hallo Suther Michael ,

Zitat:
Linux: Leider bisher noch keine Rückmeldung. Tester gesucht!


Also unter Linux Mint 18.3 funktioniert es.

Ich bekomme lediglich bei den Beispielen 3 und 4 einen Fehlercode 19 geliefert.

19 = Ein Text geht über den rechten Druckrand hinaus

Anbei: Bei:

Zitat:
Mehrere Bracodes, Textzeilen und Styles auf einer Seite.


ist ein kleiner Buchstabendreher versteckt.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 68 Beiträge ]  Gehe zu Seite 1, 2, 3, 4, 5 ... 7  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 6 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye