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.038 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren [email protected]! - 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. |
Neu! sevEingabe 3.0 ![]() Einfach stark! Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Tipp des Monats ![]() Dieter Otter PopUp-Menü wird nicht angezeigt :-( In diesem Tipp verraten wir Ihnen, wie Sie Probleme mit PopUp-Menüs umgehen können, wenn diese unter bestimmten Umständen einfach nicht angezeigt werden. TOP Entwickler-Paket ![]() TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR... |
||||||||||||||||
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. |