So....
Ich hab diese Seite hier gefunden
guckst du ?
Da kann man sich ein
SDK downloaden, mit dem man alle möglichen barcodes aus Bitmaps lesen kann.
So es hat zwar beispiele für Delphi aber nicht die die ich brauche.
Der Code den ich brauche, gibts nur in C
deshalb wollte ich fragen, ob ihr mir helfen könntet den zu übersetzen
Hier der C Code aus dem Beispiel
Code:
myBarcode.iBC_Type = BC_DATAMATRIX;
myBarcode.iBC_Length = 0;
myBarcode.iBC_Checksum = BC_NONE;
myBarcode.iBC_Orientation = BC_0 | BC_90 | BC_180 | BC_270;
myBarcode.iBC_ReadMultiple = BC_MULTI;
myBarcode.iBC_LightMargin = DM_DEFAULT_LIGHT_MARGIN;
myBarcode.iBC_ScanDistance = DM_DEFAULT_SEARCH_DISTANCE;
myBarcode.iBC_ScanDistBarcode = 10;
myBarcode.iBC_Percent = BC_PERCENT;
myBarcode.iBC_MaxHeight = DM_DEFAULT_MAX_HEIGHT;
myBarcode.iBC_MinHeight = DM_DEFAULT_MIN_HEIGHT;
myBarcode.iBC_MaxNoVal = BC_MAX_NO_VAL;
myBarcode.iBC_Tolerance = DM_DEFAULT_TOLERANCE;
myBarcode.iBC_StartX = 0;
myBarcode.iBC_StartY = 0;
myBarcode.iBC_SizeX = 0;
myBarcode.iBC_SizeY = 0;
myBarcode.iLaengeVon = 0;
myBarcode.iLaengeBis = 0;
So sieht der original Delphi Code aus, welcher allerdings nur Strichcodes erkennt und keine DataMatrix oder PDF417
Delphi-Quellcode:
myBarcode.iBC_Type := BC_ALL;
myBarcode.iBC_Length := 0;
myBarcode.iBC_Checksum := BC_CHECKNONE;
myBarcode.iBC_Orientation := BC_0 or BC_90 or BC_180 or BC_270;
myBarcode.iBC_ReadMultiple := BC_MULTI;
myBarcode.iBC_LightMargin := BC_LIGHTMARGIN;
myBarcode.iBC_ScanDistance := BC_SCANDISTANCE;
myBarcode.iBC_Percent := BC_PERCENT;
myBarcode.iBC_ScanDistBarcode := 1;
myBarcode.iBC_MaxHeight := 0;
myBarcode.iBC_MinHeight := 0;
myBarcode.iBC_MaxNoVal := BC_MAXNOVAL;
myBarcode.iBC_Tolerance := BC_TOLERANCE;
myBarcode.iBC_StartX := 0;
myBarcode.iBC_StartY := 0;
myBarcode.iBC_SizeX := 0;
myBarcode.iBC_SizeY := 0;
myBarcode.iLaengeVon := 4;
myBarcode.iLaengeBis := 100;
Ich hab dan mal alles so geändert:
Delphi-Quellcode:
myBarcode.iBC_Type := BC_DATAMATRIX;
myBarcode.iBC_Length := 0;
myBarcode.iBC_Checksum := BC_CHECKNONE;
myBarcode.iBC_Orientation := BC_0 or BC_90 or BC_180 or BC_270;
myBarcode.iBC_ReadMultiple := BC_MULTI;
myBarcode.iBC_LightMargin := DM_DEFAULT_LIGHT_MARGIN;
myBarcode.iBC_ScanDistance := DM_DEFAULT_SEARCH_DISTANCE;
myBarcode.iBC_Percent := BC_PERCENT;
myBarcode.iBC_ScanDistBarcode := 10;
myBarcode.iBC_MaxHeight := DM_DEFAULT_MAX_HEIGHT;
myBarcode.iBC_MinHeight := DM_DEFAULT_MIN_HEIGHT;
myBarcode.iBC_MaxNoVal := BC_MAXNOVAL;
myBarcode.iBC_Tolerance := BC_TOLERANCE;
myBarcode.iBC_StartX := 0;
myBarcode.iBC_StartY := 0;
myBarcode.iBC_SizeX := 0;
myBarcode.iBC_SizeY := 0;
myBarcode.iLaengeVon := 0;
myBarcode.iLaengeBis := 0;
Jedoch kommt dann beim ausführen des Codes die Meldung
Invalid floating point Oparation
Mit dem Code für nur Strichcodes hat die erkennung einwandfrei geklappt
ich hoffe ihr könnt mir helfen