vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2019
 
zurück
Rubrik: Verschiedenes / Sonstiges   |   VB-Versionen: VB5, VB610.01.05
Beliebige Zeichenfolge als Barcode drucken (Code39)

Dieser Tipp zeigt, wie sich eine beliebige Zeichenfolge als Barcode (Code39) ausgeben lässt, ohne externe Controls einzusetzen.

Autor:   Bernd LucasBewertung:     [ Jetzt bewerten ]Views:  26.646 
www.lucas-software.deSystem:  Win9x, WinNT, Win2k, WinXP, Vista, Win7, Win8, Win10 Beispielprojekt auf CD 

Nach Aufforderung von Mabry ein Update zu fahren, welches ich prompt gemacht habe (März 2003) lief das Mabry Barcode.ocx nicht mehr (Registrierung nicht möglich). Auch nach längeren EMail-Kontakten mit immer anderen Updateversionen wurde das Problem nicht behoben (ein Schelm wer böses dabei denkt).

Sämtliche Programme liefen nicht mehr - also hab ich selbst ein TrueType-Font geschrieben: code39ls.ttf

Diese "Barcode-Schrift" möchte ich allen Usern zur freien Nutzung zur Verfügung stellen.

Kopieren Sie hierzu die Datei code39LS.TTF in den Schriftarten-Ordner von Windows.

Nachfolgend eine Prozedur, mit der sich ab sofort beliebige Zeichenfolgend als Barcode (Code39) drucken lassen. Die Prozedur erwartet im ersten Parameter das Ausgabeobjekt. Hier kann entweder eine PictureBox oder ein Printer-Objekt angegeben werden. Der zweite Parameter beinhaltet die Zeichenfolge. Der Barcode selbst muss mit dem ~-Zeichen eingeschlossen werden (Bsp.: Text links ~barcode~ Text rechts). Über die weiteren optionalen Parameter kann die Schriftgröße des Barcodes, sowie die Ausgabeposition selbst festgelegt werden. Erfolgt keine Angabe der Ausgangsposition erfolgt die Druckausgabe an der aktuellen Position.

' Beliebige Zeichenfolge als Barcode (Code39) drucken
Public Sub PrintBarcode(oOutput As Object, _
  ByVal sText As String, _
  Optional ByVal nSize As Long = 20, _
  Optional ByVal nXPos As Long = 0, _
  Optional ByVal nYPos As Long = 0, _
  Optional ByVal bAutoCR As Boolean = True)
 
  Dim nPos As Long
  Dim sTemp As String
  Dim sBarcode As String
  Dim sLeft As String
  Dim sRight As String
  Dim sFontName As String
  Dim nFontSize As Variant
  Dim bFontBold As Boolean
 
  With oOutput
    If nXPos > 0 Or nYPos > 0 Then
      ' Ausgabeposition
      .ScaleMode = vbMillimeters
      If nXPos > 0 Then .CurrentX = nXPos
      If nYPos > 0 Then .CurrentY = nYPos
    End If
 
    ' aktuelle Schrift "merken"
    sFontName = .FontName
    nFontSize = .FontSize
    bFontBold = .FontBold
 
    ' Suche nach der Zeichenfolge, die als Barcode gedruckt werden soll
    ' zb ~HTB10045~
    nPos = InStr(sText, "~")
    If nPos Then
      sTemp = Mid(sText, nPos + 1)
      sLeft = Left$(sText, nPos - 1)
 
      nPos = InStr(sTemp, "~")
      If nPos <= 17 And nPos > 1 Then  ' sicher ist sicher
        ' Barcode-String ermitteln
        sBarcode = Left$(sTemp, nPos - 1) ' z.B.: Barcode = "HTB10045"
        sRight = Mid$(sTemp, nPos + 1)
 
        ' jetzt den Text vor der Zeichenfolge drucken
        If Len(sLeft) > 0 Then oOutput.Print sLeft;
 
        ' Barcode drucken
        .FontName = "Code39"
        .FontSize = nSize
        .FontBold = True
        oOutput.Print "*" & sBarcode & "*";
 
        ' ursprüngliche Schrifteinstellung wiederherstellen
        .FontName = sFontName
        .FontSize = nFontSize
        .FontBold = bFontBold
 
        ' jetzt den Text nach der Barcode-Zeichenfolge drucken
        If Len(sRight) > 0 Then oOutput.Print sRight;
 
        ' autom. Zeilenvorschub?
        If bAutoCR Then oOutput.Print
      End If
    End If
  End With
End Sub

Anwendungsbeispiel:
Erstellen Sie ein neues Projekt und platzieren eine PictureBox und einen CommandButton auf die Form. Beim Klick auf den CommandButton soll der Barcode dann in der PictureBox ausgegeben werden.

Private Sub Command1_Click()
  ' Text + Barcode an der Position 10, 20 (mm) ausgeben
  PrintBarcode Picture1, "Links ~HTB145~ Rechts", , 10, 20
End Sub

Dieser Tipp wurde bereits 26.646 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2019 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel