Aktuelle Zeit: 12.12.2018 09:51

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 68 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5, 6, 7  Nächste
Autor Nachricht
 Betreff des Beitrags: Re: Barcode Modul
BeitragVerfasst: 31.03.2018 16:27 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
Hallo,

deine Änderungen sind ja ganz nett.

Es wird dadurch aber nichts am bestehenden Problem gelöst.

Diese Formel wirft doch trotzdem den Fehler bei den Schriftarten.

Text_width.d = VectorTextWidth(Text()\Text) ;Die Textgrößen bleiben doch trotzdem größer.
Text_height.d = VectorTextHeight(Text()\Text)

Text()\Text_PosX + Text_width.d > *Printer\Page_width - *Printer\Right_edge

.................
Was du machen könntest:

-> Wenn die Textgröße größer als die Barcodegröße ist sollte automatisch eine kleinere Schriftart gewählt werden.
(Bis die Textbreite den Barcode nicht mehr überschreitet. Die Texthöhe sollte dabei proportional angepasst werden.)

Alles andere ist zwar ganz nett, bringt aber hier überhaupt nichts.

.....

Code:
  ;********************************************************************************************************************
        ; Barcode Drucken Ende                                                                                              *
        ;********************************************************************************************************************
      Next
      ;********************************************************************************************************************
      ; Texte drucken                                                                                                     *
      ;********************************************************************************************************************
      ForEach Text()
        ;Zeichensatz für Text_Line laden und Text zeichnen
        If Text()\Font <> ""
          Text_Font.i = LoadFont(#PB_Any, Text()\Font, Text()\Font_Size, Text()\Text_Style) ;Hier sollte etwas geändert werden.
          If Text_Font.i = 0
            ProcedureReturn 17
          EndIf
          Text_FontID.i = FontID(Text_Font.i)
        EndIf


Text()\Font_Size ist hier nicht abgesichert und lässt nur Fehler zu.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Barcode Modul
BeitragVerfasst: 31.03.2018 17:57 
Offline

Registriert: 02.10.2011 14:45
Wohnort: Sinzig
ccode_new hat geschrieben:
Hallo,

deine Änderungen sind ja ganz nett.

Es wird dadurch aber nichts am bestehenden Problem gelöst.

Diese Formel wirft doch trotzdem den Fehler bei den Schriftarten.

Puuhhh, entweder liest Du meine Beiträge nicht, oder ich bin zu dumm das richtig rüber zu bringen. :oops:
Nochmals:
Die Textzeile unterhalb des Barcodes hat überhaupt nichts mit den frei definierbaren Textzeilen zutun.
Der Codeschnipsel den du gepostet hast ist für die frei definierbaren Textzeilen zuständig.
Es gibt keine Formel mehr. Du kannst 10 feste Größen vergeben!

ccode_new hat geschrieben:
Was du machen könntest:

-> Wenn die Textgröße größer als die Barcodegröße ist sollte automatisch eine kleinere Schriftart gewählt werden.
(Bis die Textbreite den Barcode nicht mehr überschreitet. Die Texthöhe sollte dabei proportional angepasst werden.)

Das ist eine Klasse Idee. :allright:
Werde ich mal versuchen zu realisiern.
Manchmal hat man eben so nen Tunnelblick und man macht es sich unnötig schwer. :oops:

Dies Frage hast Du leider noch nicht beantwortet:
Micha122 hat geschrieben:
Noch eine wichtige Frage?
Werden unter Linux denn zumindest die Linien richtig gezeichnet?
Drucke bitte mal einen Code ohne Font und miss nach!
Der Barcode-Font wird weggelassen, wenn Du bei Font einen leeren String einträgst ("").
Kannst auch einfach Beispiel4 ausdrucken und den untersten Barcode ausmessen.


:?: :?:

Grüße

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


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

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
Zitat:
Puuhhh, entweder liest Du meine Beiträge nicht, oder ich bin zu dumm das richtig rüber zu bringen. :oops:
Nochmals:
Die Textzeile unterhalb des Barcodes hat überhaupt nichts mit den frei definierbaren Textzeilen zutun.
Der Codeschnipsel den du gepostet hast ist für die frei definierbaren Textzeilen zuständig.
Es gibt keine Formel mehr. Du kannst 10 feste Größen vergeben!


Ja es hat nichts damit zu tun und deshalb ein bisschen unnötig.

Die Formel existiert genauso weiter in deinem Quellcode.
Und die Textbreite und Texthöhe wird eben bei Linux größer dargestellt und auch so ausgegeben.
Fontsize 22 hat halt unter Linux z.Bsp. eben nicht die Ausmaße wie unter Windows.
Die Millimeter-Dimensionen sind aber trotzdem korrekt.

Und das hier wirft eben dann einen Fehler 19.

Text()\Text_PosX + Text_width.d > *Printer\Page_width - *Printer\Right_edge

Man kann ja trotzdem eine freie Größe angeben: zum Beispiel: "Text()\Font_Size = 24"

-> Das würde aber zu einem unnötigen Fehler führen, der so unter Windows nicht bestehen würde.

Daher mein Anpassungstipp.

Text()\Font_Size sollte nie direkt bei LoadFont landen.

Sondern eben nach der echten Größe (VectorTextWidth() ) überprüft werden.

Außerdem habe ich die Frage mit der Barcodegröße schon beantwortet.

Ich zitiere mich:

Zitat:
Die Striche werden korrekt angezeigt.
Es ist nur die Schrift die immer größer ist.



Anbei:
Kleine Aussagenkorrektur von mir:

All diese Funktionen liefern auch unter Linux korrekte Werte.

TextWidth
TextHeight
VectorTextHeight
VectorTextWidth
VectorOutputHeight
VectorOutputWidth
.....

Aber die Zeichenausmaße unterscheiden sich bei Linux und Windows.
Dies führt zu Probleme.

Windows misst trotzdem etwas genauer.
Bei Linux wird nicht ganz so genau gemessen. (Es wird ein etwas größerer Rahmen um den Text mit einkalkuliert.)


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

Registriert: 02.10.2011 14:45
Wohnort: Sinzig
Hallo ccode_new,

ccode_new hat geschrieben:
Außerdem habe ich die Frage mit der Barcodegröße schon beantwortet.

Sorry, hatte ich echt überlesen.
Aber schön das zumindest das unter Linux identisch mit Windows ist. :D

ccode_new hat geschrieben:
Daher mein Anpassungstipp.

Text()\Font_Size sollte nie direkt bei LoadFont landen.

Sondern eben nach der echten Größe (VectorTextWidth() ) überprüft werden.

Da hast Du recht. Ich werde das auch beherzigen.

Die Sache ist die:
Ich muss/werde die Druckfunktion komplett neu schreiben müssen.
Die Buchstaben/Ziffern müssen gezeichnet werden während der Code gezeichnet wird.
Und ich werde jeden Barcode-Typ gesondert behandeln müssen. :cry:
Okay, werden dann eben statt 300 Zeilen geschätzt 2000. :oops:

Habe morgen mehr Zeit und werde dann genauer erklären warum.

Grüße und danke fürs testen.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Barcode Modul
BeitragVerfasst: 01.04.2018 08:45 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
Bild

Zitat:
Okay, werden dann eben statt 300 Zeilen geschätzt 2000. :oops:

Habe morgen mehr Zeit und werde dann genauer erklären warum.


Das "Warum" würde mich dann schon interessieren.

Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Barcode Modul
BeitragVerfasst: 01.04.2018 11:02 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Ich denke es nicht zu kompliziert zu machen.

Es reicht ja eine Compiler-Option für die Schriften einzufügen.
Code:
CompilerSelect #PB_Compiler_OS
  CompilerCase #PB_OS_Windows
    Macro FontHeight(Height)
      (Height)
    EndMacro 
  CompilerCase #PB_OS_Linux
    Macro FontHeight(Height)
      Int(0.8 * Height)
    EndMacro 
  CompilerCase #PB_OS_MacOS
    Macro FontHeight(Height)
      Int(1.1 * Height)
    EndMacro 
CompilerEndSelect

Debug FontHeight(11)

Somit ändert sich nur die Übergabe des Parameters bei Loadfont...
Die Faktoren müssen aber noch angepasst werden.

_________________
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: 01.04.2018 12:36 
Offline

Registriert: 02.10.2011 14:45
Wohnort: Sinzig
Zunächst wünsche ich allen frohe Ostern! :D

ccode_new hat geschrieben:
Das "Warum" würde mich dann schon interessieren.

Auf den ersten Blick sehen Barcodes ziemlich simpel aus.
Aber: Der Schein trügt und wenn man sich zumindest mal annähernd an DIN oder Norm
orientieren möchte trügt der Schein eben gewaltig.

mk-soft hat geschrieben:
Ich denke es nicht zu kompliziert zu machen.

Es reicht ja eine Compiler-Option für die Schriften einzufügen.

Ja so hatte ich das auch mal vor.
Ist aber eigentlich quatsch.
Das ganze ist/war ja kein Linux Problem, sonder einfach nur ein völlig falsches Code-Konzept :oops:


Hier ein GTIN-13 aus dem Laden:
Bild

Deutlich zu sehen:
Die Sequenzen Start, Center und End gehen deutlich in den Text Bereich.
Die ersten Ziffern befinden sich zwischen Start und Center die letzten zwischen Center und End.
Die Prüfziffer erscheint überhaupt nicht unter dem Code.

Hier eine GTIN-13 von einer Obstwaage gedruckt:
Bild

Obwohl dieser Code im Laden nur für interne Zwecke benutzt wird (zu erkennen an der vorangestellten 2), entspricht er der Norm
Entspricht er wirklich der Norm?
Deutlich zu sehen: Die Obstwaage druckt auch die Prüfziffer.

Fazit: Bei GTIN-8/13 muss ich gravierend nachbessern.

Wie ich den Code128 handeln werde weis ich noch nicht so wirklich.
Er hat keine feste Anzahl Linien. Ein funktionierender Code128 kann im Prinzip zu 100% auch nur Steuercodes enthalten.

Erstmal Danke für Eure Arbeit!

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


Zuletzt geändert von Micha122 am 03.06.2018 07:35, insgesamt 1-mal geändert.

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

Registriert: 01.04.2011 21:59
Hallo Micha,

prima Sache, dein Barcode-Modul! :allright:

Mich würde interessieren, warum Du nicht auf entsprechende TTF-Fonts zurück greifst? So habe ich das bisher gehandhabt und ganz gute Ergebnisse erzielt.
Kannst Du mir kurz erklären, welche Vorteile Deine Vorgehensweise hat (außer, dass man die entsprechenden Fonts nicht auf dem System installieren muss)?

Meine Frage ist nicht als Kritik zu verstehen, das Modul ist eine respektable Leistung, aber ich bin von Haus aus faul und frage mich, ob mir was entgangen ist. :mrgreen:


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

Registriert: 02.10.2011 14:45
Wohnort: Sinzig
Hallo fabulouspaul,
danke für Dein Feedback. :D

fabulouspaul hat geschrieben:
Mich würde interessieren, warum Du nicht auf entsprechende TTF-Fonts zurück greifst? So habe ich das bisher gehandhabt und ganz gute Ergebnisse erzielt.
Kannst Du mir kurz erklären, welche Vorteile Deine Vorgehensweise hat (außer, dass man die entsprechenden Fonts nicht auf dem System installieren muss)?

Die Sache ist die:
Ich programmiere zwar schon seit einigen Jahren aber leider monoton fast immer das gleiche.
Mal ne kleine Retouren-Software, dann mal wieder ein kleines Datenbank Frontend ..........
Kaum zu glauben aber ich habe mit diesem Modul das erste mal eine Linie gezeichnet. :oops:
Ich habe auch immer nur die Standard System Fonts benutzt. :oops:

fabulouspaul hat geschrieben:
Meine Frage ist nicht als Kritik zu verstehen, das Modul ist eine respektable Leistung, aber ich bin von Haus aus faul und frage mich, ob mir was entgangen ist.

Kritik, egal ob positiv oder negativ ist immer willkommen. Hilft ungemein ein Projekt zu verbessern und Fehler zu erkennen.
Okay, das TTFs Vektor basierend sind und somit besser skalierbar sind, soviel weis ich zumindest.
Kann ich die so ohne weiteres mit PB benutzen? :?:

Grüße, Micha

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


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

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
Ich denke "fabulouspaul" meint eher spezielle Barcode- TrueType - Schriftarten.

Wie hier:
http://www.1001fonts.com/barcode-fonts.html
oder hier
http://www.millstone.de/Barcode_Fonts/barcode_fonts.html
,etc.


Zuletzt geändert von ccode_new am 01.04.2018 15:05, insgesamt 1-mal geändert.

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 Vorherige  1, 2, 3, 4, 5, 6, 7  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 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