Ich denke, das Beispiel von Union funktioniert nicht. Die Indexierung von Strings (auch bei der Copy-Funktion) beginnt bei 1.
Nein und Ja ... in den neuen mobilen Delphi-Compilern ist man auf die grandiose Idee gekommen und lässt die Indizierung nun bei 0 beginnen.
Ansonsten gibt es tausende Wege, welche man gehen könnte.
Delphi-Quellcode:
// Wenn das wirklich eine "Zahl" mit führenden Nullen ist
i := FindDelimiter('123456789', ArtNr); // oder statt FindDelimiter irgendwas Anderes, welches das erste Zeichen sucht, das keine "0" ist
if i > 1 then
Insert(' ', ArtNr, i);
// oder
ArtNr := Trim(StringOfChar('0', Length(ArtNr) - Length(IntToStr(StrToInt(ArtNr)))) + ' ' + IntToStr(StrToInt(ArtNr)));
Zitat:
, wobei Integer mit führenden Nullen wären nicht einfach darstellbar
Mit dem passenden FormatString oder den passenden Formatierungsparametern schon.