Unterabschnitte

Programmieren mit BarVision unter Microsoft Windows

DLL-Dateinamen

Damit BarVision in Ihrem Anwendungprogramm benutzt werden kann, muß die BARVIS16.DLL bzw. BARVISD.DLL auf dem Anwendungsrechner verfügbar sein. Es wird empfohlen, die DLL-Datei ins Windows-Systemverzeichnis des Anwendungsrechners zu kopieren. Ihr Programm muß diese DLL laden.

Die Version der BarVision für Windows NT und Windows 9x heißt BARVISD.DLL, falls Ihr Programmtext beide Betriebssysteme unterstützen soll, so müssen Sie eine entsprechende Fallunterscheidung vorsehen.

C/C++

Generieren Sie mit dem IMPLIB-Werkzeug Ihres Compiler eine Importbibliothek zu BARVIS16.DLL bzw. BARVISD.DLL. Importbibliotheken für Borland C++ Version 4.5 und Microsoft Visual C++ sind im Archiv enthalten.

Nehmen Sie die Importbibliothek BARVIS.LIB bzw. BARVISD.LIB in Ihr Projekt auf, bzw. wenn sie MAKE-Dateien verwenden, listen Sie sie beim Aufruf des Linkers mit auf.

Aufnahme der Header-Datei

Nehmen sie Die Datei BARVIS.H in jene C bzw. CPP - Quelldateien auf, in denen Sie mit Strichcodes arbeiten möchten. Die include-Anweisung ist unabhängig davon, ob sie 32-Bit-Code erzeugen möchten oder nicht immer BARVIS.H:

#include 1#1windows.h2#2
#include ``BarVis.h''

Pfade

Falls Sie nicht einfach das gesamte Projekt in einem einzigen Verzeichnis pflegen, achten Sie darauf, daß BARVIS16.DLL bzw. BARVISD.DLL in einem Verzeichnis stehen, das im System-Pfad (PATH in Autoexec.Bat) gelistet ist.

BARVIS16.LIB bzw. BARVISD.LIB einem Verzeichnis steht, das im Bibliotheken-Pfad ihres Compilers (PATH in Autoexec.Bat) gelistet ist.

BARVIS.H in einem Verzeichnis steht, das im Include-Pfad ihres Compilers gelistet ist.

BarVision im Pascal-Anwendungsprogramm

Borland Pascal/Delphi:

Benutzen Sie die mitgelieferte Unit BarVis:

Program MeinProgramm;
uses BarVis;            { Unit-Definition für die BarVision }

Begin
        { Hauptteil Ihrer Anwendung }
End.


BarVision in Microsoft Word verwenden

Sie können BarVision auf unterschiedliche Weise mit Standardanwendungen wie Microsoft Word gemeinsam anwenden:

Makroprogrammierung mit DLLs

Während ActiveX komponenten eine Entwicklungsumgebung voraussetzen, die ActiveX einsetzen, können Sie die DLL-Technologie auch auf älteren Makroanwendungen wie Microsoft Word 6.0 einsetzen. Sie ist darüberhinaus flexibler und robuster.

Für Microsoft Word 6.0 und Microsoft Word 95 (Word Basic)

Für die Verwendung mit 32-Bit Word Versionen müssen Sie den DLL-Namen von BARVIS16.DLL auf BARVISD.DLL ändern. Ein Beispiel für die

Ein Beispiel für die Verwendung dieser Technik finden Sie in der Dokumentvorlage BARVIS60.DOT.

' BarParamsAlloc --------- Deklaration
Declare Function BarParamsAlloc Lib "BARVIS16.DLL"() As Long

' BarParamsFree  --------- Deklaration
Declare Sub      BarParamsFree Lib "BARVIS16.DLL"(BarParamsHandle As Long)

' BarParamsSetString ----- Deklaration
Declare Sub      BarParamsSetString Lib "BARVIS16.DLL"\
                (BarParamsHandle As Long, \
                 CodeString As String)

' BarParamsSetType ------- Deklaration
Declare Sub      BarParamsSetType Lib "BARVIS16.DLL"\
                (BarParamsHandle As Long, \
                 CodeType As Long)

' BarParamsSetAddCheckDigit ------- Deklaration
Declare Sub      BarParamsAddCheckDigit Lib "BARVIS16.DLL"\
                (BarParamsHandle As Long, \
                 AddCheckDigit As Long)


' BarToClipboard --------- Deklaration
Declare Sub      BarToClipboard Lib "BARVIS16.DLL"\
                (xExt As Integer,\
                 yExt As Integer,\
                 DPI As Integer,\
                BarParamsHandle As Long)

' BarToBmp --------------- Deklaration
Declare Sub      BarToBmp Lib "BARVIS16.DLL"\
                (FileName As String,\
                 xExt As Integer,\
                 yExt As Integer,\
                 DPI As Integer,\
                 BarParamsHandle As Long)

' BarToWmf --------------- Deklaration
Declare Sub      BarToWmf Lib "BARVIS16.DLL"
                (FileName As String,\
                 xExt As Integer,\
                 yExt As Integer,\
                 DPI As Integer,\
                 BarParamsHandle As Long)

Für Microsoft Word 97 und neuer (Visual Basic for Applications)

Ein Beispiel für die Verwendung dieser Technik finden Sie in der Dokumentvorlage BARVIS97.DOT.

' BarParamsAlloc --------- Deklaration
Private Declare Function BarParamsAlloc Lib "BARVISD.DLL" () As Long

' BarParamsFree  --------- Deklaration
Private Declare Sub BarParamsFree Lib "BARVISD.DLL" (ByVal BarParamsHandle As Long)

' BarParamsSetString ----- Deklaration
Private Declare Sub BarParamsSetString Lib "BARVISD.DLL" _
            (ByVal BarParamsHandle As Long, _
             ByVal CodeString As String)}

' BarParamsSetType ------- Deklaration}
Private Declare Sub BarParamsSetType Lib "BARVISD.DLL" _
            (ByVal BarParamsHandle As Long, _
             ByVal CodeType As Long)

' BarParamsSetAddCheckDigit ------- Deklaration
Private Declare Sub BarParamsAddCheckDigit Lib "BARVISD.DLL" _
                (ByVal BarParamsHandle As Long, _
                 ByVal AddCheckDigit As Long)

' BarToClipboard --------- Deklaration
Private Declare Sub BarToClipboard Lib "BARVISD.DLL" _
               (ByVal xExt As Integer, _
                ByVal yExt As Integer, _
                ByVal DPI As Integer, _
                ByVal BarParamsHandle As Long)

' BarToBmp --------------- Deklaration
Private Declare Sub BarToBmp Lib "BARVISD.DLL"_
               (ByVal FileName As String, _
                ByVal xExt As Integer, _
                ByVal yExt As Integer, _
                ByVal DPI As Integer, _
                ByVal BarParamsHandle As Long)

' BarToWmf --------------- Deklaration
Private Declare Sub BarToWmf Lib "BARVIS16.DLL" _
               (ByVal FileName As String, _
                ByVal xExt As Integer, _
                ByVal yExt As Integer, _
                ByVal DPI As Integer, _
                ByVal BarParamsHandle As Long)

Deklaration der BT_xxxx Konstanten

 BT_EAN13=1
 BT_EAN8 =2
 BT_EAN5 =4
 BT_EAN2 =8
 BT_UPCA =16
 BT_CODABAR =32
 BT_25IL=64
 BT_25ID=128
 BT_39=256
 BT_39EXT =512
 BT_93=1024
 BT_93EXT=2048
 BT_128=4096
 BT_EAN128=8192
 BT_RM4SCC=16384
 BT_POSTNET=32768
 BT_MSI=65536
 BT_UPCE=131072
 BT_11=262144
 BT_25MA=524288
 BT_TELEPENA=1048576
 BT_ISBN=16777216
 BT_IDENTCODE=33554432
 BT_LEITCODE =67108864
 BT_PZN=134217728

Beispielmakro: Strichcode in Zwischenablage kopieren

     'Zunächst kopieren wir den Strichdode in eine Basic Stringvariable
     BarCode$ = "12345"

     'Wir legen den Typ des zu erzeugenden Strichcodes fest:
     BT_EAN13= 1
     BT_EAN8 = 2
     BarType = BT_EAN13 + BT_EAN8

     'Ein neues Strichcode-Handle anfordern, an das dann die ausgzugebenden
     'Daten übergeben werden.
     BarParamsHandle = BarParamsAlloc
     If BarParamsHandle <> 0 Then
         'Die Daten des auszugebenden Strichcodes angeben
         BarParamsSetString(BarParamsHandle, BarCode$)
         BarParamsSetType(BarParamsHandle, BarType)

         'Nun den Strichcode erzeugen, mit 4,5 cm Breite und 2 cm Höhe und
         'einer Druckerauflösung von 300 Dot Per Inch.
         BarToClipboard(4500, 2000, 300, BarParamsHandle)

         'Abschließend das Handle freigeben um den Speicher nicht zu vergeuden
         BarParamsFree(BarParamsHandle)
     End If

Strichcodes mit ActiveX

Microsoft Word 97 unterstützt als Alternative zur Makroprogrammierung auch die ActiveX-Technologie. Um Strichcodes auf diese Weise einzufügen muß die Installation des BarVision OCX bei der Installation ausgewählt worden sein.

Schritte zum Einfügen eines ActiveX

Bernd Herd, Herd Software Entwicklung, 17. Februar 2007

Firmenlogo

Letzte News