Autor |
Beitrag |
bjoern_bs
Hält's aus hier
Beiträge: 4
Delphi 6 Personal
|
Verfasst: Mo 02.05.05 12:20
Hallo Zusammen!
Habe mal eine Frage zum Thema Integer/String....
Ich schreibe gerade an einem Programm, das mir eine ganze Reihe von html Dateien generiert.
Dazu wird eine Schleife mit dem Zählindex (vom Typ Integer) mehrmals durchlaufen und eine Datei mit:
Quelltext 1:
| dateiname:=('Seite_'+IntToStr(i)+'.htm'); |
erstellt.
Das Ergebnis sind dann Dateien, die wie folgt aussehen:
Seite_1.htm, Seite_2.htm ... Seite_9.htm, Seite_10.htm, ... Seite_n.htm
Ich hätte allerdings lieber Dateinamen, bei denen Die Zahl am Ende immer gleich viele Stellen hat, also z.B.:
Seite_001.htm, Seite_002.htm usw.
Gibt es hierfür eine einfache Lösung?
Vielen Dank für Eure Hilfe,
Viele Grüße Björn
|
|
retnyg
      
Beiträge: 2754
SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
|
Verfasst: Mo 02.05.05 12:24
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| function zweistellen(x:integer):string; begin result := inttostr(x); if x < 10 then result := '0'+result; end;
dateiname:=('Seite_'+zweistellen(i)+'.htm'); |
_________________ es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Mo 02.05.05 12:26
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
bjoern_bs 
Hält's aus hier
Beiträge: 4
Delphi 6 Personal
|
Verfasst: Mo 02.05.05 13:03
Vielen Dank für die superschnellen Antworten!
Habe mich für die Version mit der zusätzlichen Funktion entschieden, da sich diese einfacher und schneller in mein Programm integrieren lässt!
Hab das ganze dann noch auf einen Zahlenbereich bis 999 (also auch mit zwei führenden Nullen) erweitert! Funktioniert prima!
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| function dreistelligeZahl(x:integer):string; begin result := inttostr(x); if x < 10 then result:= '00'+result; if x >= 10 then if x < 100 then result := '0'+result; end; |
Nochmal vielen Dank!
Grüße aus dem noch sonnigen Lipperland, Björn
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Mo 02.05.05 13:24
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
delfiphan
      
Beiträge: 2684
Erhaltene Danke: 32
|
Verfasst: Mo 02.05.05 14:12
Kommentar zu dreistelligeZahl: Die negativen Zahlen sollte man nicht vergessen. Sonst DWord nehmen, Assertion bzw. kleine Notiz anbringen. Ist hier vielleicht etwas pedantisch, aber wenn man eine Funktion / Prozedur einfach so "veröffentlicht", dann ist das sicher kein Nachteil...
Aber wie wär's mit dem hier:
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| var i: Integer; begin i := 9; ShowMessage(Format('%.3d', [i])); end; |
Edit: BenBE, hatte zwar deinen Beitrag gelesen aber irgendwie nicht realisiert, dass es schon die Lösung war, sorry 
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Mo 02.05.05 18:59
NP. Das passiert im Gedränge
BTW: Wenn Du statt %.3 d %.3 x schreibst, gibt er dir dreistellige Hexzahlen aus. 
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
|