Mit
StringOfChar würde ich es nicht unbedingt machen. Klar, es mag gehen. Aber noch eleganter ist
IMHO der Weg über den
Format-Befehl. Der lässt sich vielseitig verwenden, etwa um einen Integerwert zu formatieren:
ShowMessage(Format('%d',[1234]));
Das Gute dabei ist die optionale Breitenangabe, die man nutzen kann:
ShowMessage(Format('%.8d',[1234]));
Durch das
.8 wird aus dem "1234" eben ein "00001234".
Theoretisch reicht es also aus, den Wert des Editfeldes zu benutzen, um den Formatstring zusammenzusetzen:
szFmtStr := '%.' + Edit1.Text + 'd';
Ich persönlich würde aber den Weg über die Integerkonvertierung gehen um sicherzustellen, dass das Edit tatsächlich eine Zahl enthält:
Delphi-Quellcode:
szFmtStr := '%.' + inttostr(StrToIntDef(Edit1.Text,4)) + 'd';
ShowMessage(Format(szFmtStr,[1234]));