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: 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 29.540 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
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. |
sevGraph (VB/VBA) Grafische Auswertungen Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 Access-Tools Vol.1 Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
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. |