Aus diesem Block solltest Du eigentlich
Delphi-Quellcode:
if (AusFeld[i].iFach >= 0) and (AusFeld[i].iFach < 10) then
sHelp1 := '000' + IntToStr(AusFeld[i].iFach);
if (AusFeld[i].iFach > 9) and (AusFeld[i].iFach < 100) then
sHelp1 := '00' + IntToStr(AusFeld[i].iFach);
if (AusFeld[i].iFach > 99) and (AusFeld[i].iFach < 1000) then
sHelp1 := '0' + IntToStr(AusFeld[i].iFach);
if AusFeld[i].iFach > 999 then
sHelp1 := IntToStr(AusFeld[i].iFach);
if (AusFeld[i].iTuete >= 0) and (AusFeld[i].iTuete < 10) then
sHelp2 := '0000' + IntToStr(AusFeld[i].iTuete);
if (AusFeld[i].iTuete > 9) and (AusFeld[i].iTuete < 100) then
sHelp2 := '000' + IntToStr(AusFeld[i].iTuete);
if (AusFeld[i].iTuete > 99) and (AusFeld[i].iTuete < 1000) then
sHelp2 := '00' + IntToStr(AusFeld[i].iTuete);
if AusFeld[i].iTuete > 9999 then
sHelp2 := IntToStr(AusFeld[i].iTuete);
AusFeld[i].Barcode := sHelp1 + sHelp2;
AusFeld[i].Barcode := Format('%0.5d%0.5d',[AusFeld[i].iFach,AusFeld[i].iTuete]);
machen können.
Ein String der Länge 10 sollte damit ausreichen.
Mit Strings nicht fester Länge habe ich in Arrays schon häufiger Schwierigkeiten gehabt. Das funktioniert nicht immer sauber, da im Array fester Größe ja dann letztlich irgendwo ein Feld ist, dessen Größe nicht fest ist.