jetzt bin wieder an einem Punkt wo ich nicht weiterkomme.
Ich möchte einen Barcode mit folgendem Code generieren. Das scheint auch zu funktionieren, solange der Wert einer Zahl entspricht.
Buchstaben nimmt er nicht an..
Muss man die Funktion anders deklarieren ?
Code: Alles auswählen
function Barcode128_generieren(Barcode: String): String;
var
x, y, fehlzeichen, checksumme : Integer;
XBarcode : String;
Zeichensatz: array[0..106] of string = (' ', '!', Chr(34), '#', '$', '%', '&', '''', '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\', ']', '^', '_', '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~', 'Ã', 'Ä', 'Å', 'Æ', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î');
begin
// Barcode GENERIEREN -------------------------------------------------------------------------------------------------------------------------------------------------LKW_Barcode
If (length(Barcode) > 40) Then
begin
XBarcode := IntToStr(length(Barcode) - 40);
ShowMessage('Der zu codierende Text ist um ' + XBarcode + ' Zeichen zu lang. Um Fehler beim Scannen des Barcodes zu vermeiden, ist dieses auf 40 Zeichen begrenzt.');
Exit;
End;
If (length(Barcode) = 0) Or (Barcode = '') Then
begin
Exit;
End;
If pos ('ß',Barcode) > 0 then
begin
ShowMessage('Das Zeichen ß kann nicht dargestellt werden.');
Exit;
End;
checksumme := 104;
//Prüfziffer berechnen
For x := 1 To Length(Barcode) do
fehlzeichen := 1;
For y := 0 To 106 do
If StrtoInt(MidStr(Barcode, x, 1)) = y Then
begin
fehlzeichen := 0;
checksumme := checksumme + (x * y);
end;
If fehlzeichen = 1 Then
begin
ShowMessage('Das Zeichen ' + MidStr(Barcode, x, 1) + ' kann nicht dargestellt werden.');
Exit;
End;
checksumme := checksumme Mod 103;
result := 'Ì' + Barcode + Zeichensatz[checksumme] + 'Î';
end;

Vorab danke für eure Hilfe. Lg Bernie