Unterabschnitte

Funktionen

Das API von BarVision stellt Ihnen folgende Funktionen zur Verfügung:

BarCodeType Prüft, ob der String als BarCode gedruckt werden kann und liefert den gewählten Strichcode-Typ Windows, Linux
BarCodeName Liefert den Namen eines Strichcode-Typs Windows, Linux
BarIsbnFromEan Rechnet eine EAN in eine ISBN um Windows, Linux
BarEanFromIsbn Rechnet eine ISBN in eine EAN um Windows, Linux
BarToHdc Zeichnet einen Strichcode in einen DC Windows
BarToClipboard Stellt einen Strichcode als Metafile in die Windows Zwischenablage. Windows
BarToWmf Erzeugt eine WMF (Windows MetaFile)-Datei mit dem Stichcode. Windows
BarToBmp Erzeugt eine BMP (Windows Bitmap)-Datei mit dem Strichcode. Windows
BarToBarDC Zeichnet einen Strichcode mittels anwendungsdefinierter Zeichenfunktionen Windows, Linux
BarParamsAlloc Fordert eine neue BARPARAMS -Struktur an. Windows
BarParamsFree BARPARAMS-Struktur von BarParamsAlloc freigeben Windows
BarParamsSetString String in BARPARMS-Struktur setzen Windows
BarParamsSetType Barcode-Typ in BARPARMS-Struktur setzen Windows
BarParamsAddCheckDigit Bool-Wert für automatisches Hinzufügen der Prüfsumme in der BARPARMS-Struktur setzen Windows


BarCodeType Funktion

Die Funktion BarCodeType prüft, ob der String in einem der zugelassenen Barcode-Typen dargestellt werden kann und liefert den Typcode des Barcodes zurück.

ETYPE WINAPI BarCodeType
(LPCSTR szString,
ETYPE eMask,
BOOL bAddCheckDigit);

Funktionsparameter

szString
Zeiger auf einen String, der später mit einem Aufruf von BarToHdc als Strichcode Dargestellt werden soll.
eMask
Maske aus BT_xxxxx Konstanten, die angibt, aus welchen Strichcodearten die Funktion einen Strichcode auswählen kann.
bAddCheckDigit
Definiert die Handhabung von Prüfziffern bei Codes mit optionalen Prüfziffern.
TRUE
BarVision darf Prüfziffern automatisch ergänzen.
FALSE
Die Anwendung stellt Prüfziffern selbst zur verfügung (oder verwendet keine Prüfziffer).

Rückgabewert

Der Rückgabewert ist BT_INVALID (0), wenn der String nicht als Strichcode dargestellt werden kann, oder eine der BT_xxxx - Konstanten, die den Strichcode-Typ spezifiziert, wobei nur genau ein Bit gesetzt ist.

Der Rückgabewert dieser Funktion kann unmittelbar als Parameter der Funktion BarCodeName verwendet werden.

Beispiel

ETYPE eCodeUsed;
char *szString = "BARVISION";
eCodeUsed = BarCodeType(szString, BT_39 | BT_25IL | BT_EAN8, TRUE);

if (eCodeUsed == BT_INVALID)
   MessageBox(hWindow, "Der Angegebene Code ist ungültig", "BarVision Beispiel", MB_OK);
else
   MessageBox(hWindow, BarCodeName(eCodeUsed), "Codedarstellung als", MB\_OK);


BarCodeName Funktion

Die Funktion BarCodeName gibt einen Benennungsstring für einen BT_xxxx Strichcode zurück.

LPCSTR WINAPI BarCodeName
( ETYPE eMask);

Rückgabewert

Der Rückgabewert ist ein Zeiger auf einen Puffer mit einem String, der den Namen des Strichcode-Typs angibt. Ist der Parameter ungültig, so wird der Wert NULL zurückgeliefert.

Diese Funktion wird gemeinsam mit der Funktion BarCodeType verwendet, um dem Anwender mitzuteilen, welchen BarCode-Typ BarVision als zur Darstellung geeignet ausgewählt hat.


BarToHdc Funktion

Die Funktion BarToHdc stellt den übergebenen String auf dem Windows-Device-Kontext als Strichcode dar.

BOOL WINAPI BarToHdc
( HDC hDC, LPRECT lprcApplication, LPBARPARAMS lpBarParams);

Funktionsparameter

hDC
Windows GDI Zeichenkontexthandle (Handle Device Context), erzeugt von Windows API-Funktionen wie CreateDC, GetDC, GetWindowDC, CreateMetaFile, CreateCompatibleDC usw.
lprcApplication
Zeiger auf eine RECT-Struktur mit den logischen Koordinaten eines Rechtecks, innerhalb dessen der Strichcode (incl. Schrift) dargestellt werden soll.
lpBarParams
Zeiger auf eine Struktur vom Typ BARPARAMS mit Detailangaben zum auszugebenden Strichcode.

Rückgabewert

Der Rückgabewert dieser Funktion ist TRUE, wenn die Darstellung erfolgreich durchgeführt werden konnte und FALSE, wenn ein Fehler, z.B. ein Prüfsummenfehler oder eine unzureichende Anzahl von Pixeln für die Ausgabe, auftrat.


BarToClipboard Funktion

Die Funktion stellt eine Strichcode-Darstellung des übergebenen Strings als Grafik in der Zwischenablage zur Verfügung. Sie eignet sich damit besonders zur Benutzung in High-Level-Applikationen.

BOOL WINAPI BarToClipboard
( int xExt, int yExt, UINT uDPI, LPBARPARAMS lpBarParams);

Funktionsparameter

xExt
Breite des gewünschten Strichcodes in 1/100 mm. D.h. 4500 für 4,5 Zentimeter.

yExt
Höhe des gewünschten Strichcodes in 1/100 mm. D.h. 2000 für 2,0 Zentimeter.

uDPI
Anzahl der Pixel je Inch für die der Strichcode erstellt werden soll. Diese Angabe sollte der Auflösung des zum Drucken verwendeten Druckers entsprechen. Lesen Sie dazu auch die Hinweise zur Druckqualität .

lpBarParams
Zeiger auf eine Struktur vom Typ BARPARAMS mit Detailangaben zum auszugebenden Strichcode.


BarToWmf Funktion

Die Funktion BarToWmf erzeugt eine Windows Meta File (WMF) Datei mit dem darzustellenden Strichcode. Diese Dateien können von vielen grafikfähigen Programmen, wie etwa Microsoft Word etc. dargestellt werden.

int WINAPI BarToWmf
( LPCSTR lpcszFileName, int xExt, int yExt, UINT uDPI, LPBARPARAMS lpBarParams);

Funktionsparameter

lpcszFileName
Zeiger auf einen String, der den Dateinamen der zu erstellenden Bitmapdatei angibt. Die Dateierweiterung sollte normalerweise .WMF lauten, .z.B. ``barcode.wmf''.

xExt
Breite des gewünschten Strichcodes in 1/100 mm. D.h. 4500 für 4,5 Zentimeter.

yExt
Höhe des gewünschten Strichcodes in 1/100 mm. D.h. 2000 für 2,0 Zentimeter.

uDPI
Anzahl der Pixel je Inch für die der Strichcode erstellt werden soll. Diese Angabe sollte der Auflösung des zum Drucken verwendeten Druckers entsprechen. Lesen Sie dazu auch die Hinweise zur Druckqualität.

lpBarParams
Zeiger auf eine Struktur vom Typ BARPARAMS mit Detailangaben zum auszugebenden Strichcode.

Rückgabewert

0
Fehlerfreie Verarbeitung
1
Fehler beim Aufruf der Funktion Bar2Hdc erkannt. Wahrscheinlich liegt ein Prüfsummenfehler vor oder das angegebene Rechteck umfaßt nicht genügend Pixel um den Strichcode darzustellen
2
Datei kann nicht erstellt werden. Es ist kein Plattenplatz mehr verfügbar, es fehlen Berechtigungen, der Dateiname ist ungültig oder die Datei wird bereits benutzt.
3
Nicht genügend Arbeitsspeicher.

Hinweise

Die Dateigröße der WMF-Datei in Bytes ist unabhängig von der Angegebenen xExt, yExt und uDPI-Abmessung. Diese Abmessungen dienen dazu, die Größenverhältnisse der WMF-Datei bei der Einbindung in Standard-Applikationen festzulegen.

Die erstellte Datei ist eine Placeable Metafile-Datei wie sie von der mehrzahl der Anwendungen verarbeitet werden kann. Sie kann nicht mit der Windows-Funktion GetMetaFile bearbeitet werden.

Der Parameter uDPI sollte die Auflösung des Druckers angeben, der später zum Druck der Grafik benutzt werden soll. Weitere Hinweise hierzu finden Sie im Thema Druckqualität.


BarToBmp Funktion

Die Funktion BarToBmp erzeugt eine Windows Bitmap (BMP) Datei mit dem darzustellenden Strichcode. Diese Dateien können von vielen grafikfähigen Programmen, wie etwa Microsoft Word oder Paintbrush etc. dargestellt werden.

int WINAPI BarToBmp
( LPCSTR lpcszFileName, int xExt, int yExt, UINT uDPI, LPBARPARAMS lpBarParams);

Funktionsparameter

lpcszFileName
Zeiger auf einen String, der den Dateinamen der zu erstellenden Bitmapdatei angibt. Die Dateierweiterung sollte normalerweise .BMP lauten, .z.B. ``barcode.bmp''

xExt
Breite des gewünschten Strichcodes in 1/100 mm. D.h. 4500 für 4,5 Zentimeter.

yExt
Höhe des gewünschten Strichcodes in 1/100 mm. D.h. 2000 für 2,0 Zentimeter.

uDPI
Anzahl der Pixel je Inch für die der Strichcode erstellt werden soll. Diese Angabe sollte der Auflösung des zum Drucken verwendeten Druckers entsprechen. Lesen Sie dazu auch die Hinweise zur Druckqualität.

lpBarParams
Zeiger auf eine Struktur vom Typ BARPARAMS mit Detailangaben zum auszugebenden Strichcode

Rückgabewert

0
Fehlerfreie Verarbeitung
1
Fehler beim Aufruf der Funktion Bar2Hdc erkannt. Wahrscheinlich liegt ein Prüfsummenfehler vor oder das angegebene Rechteck umfaßt nicht genügend Pixel um den Strichcode darzustellen
2
Datei kann nicht erstellt werden. Es ist kein Plattenplatz mehr verfügbar, es fehlen Berechtigungen, der Dateiname ist ungültig oder die Datei wird bereits benutzt
3
Nicht genügend Arbeitsspeicher

Hinweise

Die Dateigröße der BMP-Datei in Bytes ist abhängig von den angegebenen xExt und yExt-Abmessung und der Auflösung uDPI.

Die Dateigröße ist ca.:

50 + xExt * uDpi / 2540 * yExt *uDpi / 2540 / 8 Bytes.

Der Parameter uDPI sollte die Auflösung des Druckers angeben, der später zum Druck der Grafik benutzt werden soll. Weitere Hinweise hierzu finden Sie im Thema Druckqualität.

Beispiel

BARPARAMS par;

/* Alle Strukturelemente mit 0 initialisieren */
memset(&par, 0, sizeof(par));

/* Ausfüllen der wichtigsten Strukturelemente */
par.dwStructSize   = sizeof(par);
par.lpcszString    = "123456789012";
par.eType          = BT_EAN13;
par.bAddCheckDigit = TRUE;

/* Barcode in die BMP-Datei speichern */
BarToBmp("barcode.bmp", 4500, 2000, 300, &par);


BarToBarDC Funktion

Die Funktion BarToBarDC stellt den übergebenen String als Strichcode dar. Die Zeichenanweisungen werden durch Zeichenfunktionen ausgeführt, die vom Anwendungsprogramm als Callback-Funktionen zur Verfügung gestellt werden. Zeiger auf die Callback-Funktionen stellt die Anwendung durch die BARDC-Struktur zur Verfügung.

BOOL WINAPI BarToBarDC
( LPBARDC bdc, LPRECT lprcApplication, LPBARPARAMS lpBarParams);

Funktionsparameter

bdc
Zeiger auf eine BARDC-Struktur mit Zeigern auf anwendungsdefinierte Funktionen zum Zeichnen von Rechtecken und Text.
lprcApplication
Zeiger auf eine RECT-Struktur mit den logischen Koordinaten eines Rechtecks, innerhalb dessen der Strichcode (incl. Schrift) dargestellt werden soll.
lpBarParams
Zeiger auf eine Struktur vom Typ BARPARAMS mit Detailangaben zum auszugebenden Strichcode.

Rückgabewert

Der Rückgabewert dieser Funktion ist TRUE, wenn die Darstellung erfolgreich durchgeführt werden konnte und FALSE, wenn ein Fehler, z.B. ein Prüfsummenfehler oder eine unzureichende Anzahl von Pixeln für die Ausgabe, auftrat.

Anmerkungen

Diese Funktion erlaubt eine Betriebssystem und -geräteunhabhängige Erzeugung von Strichcodes. Sie ist Ausgangsbasis für das Beispielprogramm bar2eps , das Strichcodes auf Windows und Linux-Rechnern als Encapsulated PostScript-Dateien erzeugen kann.


BarParamsAlloc Funktion

Die Funktion gibt einen Zeiger auf eine neu erstellte leere BARPARAMS-Struktur zurück.

LPBARPARAMS WINAPI BarParamsAlloc
(void);

Rückgabewert

Der Rückgabewert ist ein Zeiger auf eine neu zugeordnete BARPARAMS - Struktur. Er ist NULL; wenn kein weiterer Hauptspeicher mehr verfügbar war.

Anmerkungen

Die neu zugeordnete Struktur kann für eine beliebige Anzahl von BarVision API Funktionsaufrufen benutzt werden. Wird sie nicht mehr gebraucht, so muß sie durch Aufrufen der Funktion BarParamsFree freigegeben werden. Mit jedem Aufruf der Funktion BarParamsAlloc wird eine weitere neue Struktur angelegt. Die Vorgehensweise erlaubt Multithreading.

Diese Funktion ist nützlich für Entwicklungsumgebungen, bei denen die Benutzung von Strukturen nur umständlich möglich ist. In diesem Falle wird der Rückgabewert der Funktion BarParamsAlloc einfach als ein LONG-Wert angesehen, der später durch Aufrufen der Funktionen BarParamsSetString, BarParamsSetType, usw. mit den Daten des auszugebenden Codes gefüllt wird und dann als Parameter im Aufruf der Funktionen BarToHdc , BarToWmf , BarToBmp oder BarToClipboard den auszugebenden Strichcode definiert.

Als Beispiel für diese Vorgehensweise können Sie das Thema Strichcodes in Microsoft Word einsehen.


BarParamsFree Funktion

Gibt eine mit der Funktion BarParamsAlloc zugeordnete BARPARAMS - Struktur wieder frei. Es dürfen danach keine weiteren Zugriffe auf die Struktur mehr erfolgen.

void WINAPI BarParamsFree
(LPBARPARAMS lpBarParams);


BarParamsSetString Funktion

Trägt den als Parameter übergebenen String als Strichcode zur Ausgabe in die BARPARAMS-Struktur ein.

void WINAPI BarParamsSetString
(
LPBARPARAMS lpBarParams,
LPCSTR lpcszString);

Funktionsparameter

lpBarParams
Zeiger auf eine Struktur vom Typ BARPARAMS mit Detailangaben zum auszugebenden Strichcode. Dieser Speicherblock sollte von der Funktion BarParamsAlloc zugeordnet worden sein.
lpcszString
Zeiger auf einen String, der in das lpcszString- Element der BARPARAMS-Struktur eingetragen werden soll.

Rückgabewert

Keiner.


BarParamsSetType Funktion

Trägt den als Parameter übergebenen Strichcode-Typ zur Ausgabe in die BARPARAMS-Struktur ein.

void WINAPI BarParamsSetString
(
LPBARPARAMS lpBarParams,
ETYPE eType);

Funktionsparameter

lpBarParams
Zeiger auf eine Struktur vom Typ BARPARAMS mit Detailangaben zum auszugebenden Strichcode. Dieser Speicherblock sollte von der Funktion BarParamsAlloc zugeordnet worden sein.
eType
Angaben über den Strichcode-Typ als Verknüpfung von BT_xxxx konstanten, z,B. BT_EAN13 28#28 BT_EAN5

Rückgabewert

Keiner.

Bernd Herd, Herd Software Entwicklung, 17. Februar 2007

Firmenlogo

Letzte News