Autor Beitrag
nepleurepas
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 164

Win XP

BeitragVerfasst: Mo 16.04.07 14:37 
Hallo,
mein Programm soll nacheinander versch. Datenein gleichen typs öffnen können, die sich alle im gleich ordner befinde und aufsteigend nummeriert sind. Bsp.: c:\test\1.txt; c:\test\2.txt usw.
Hab das bis jetzt so gemacht, dass eine integer variable pro schleifendurchlauf hochgezählt wird, dann eine string variable mit inttostr diese Zahl von der integer variable übernimmt, und dann der filename mit der string variable aktualisiert wird.
Bsp: filename[length(filename)-4]:= string[1]
Habe nun das Problem, dass ich den filename nur von 0-9 verändern kann, da man ja mit string[] nur ein zeichen ersetzen kann, nicht aber eine 2 stellige zahl(zwei zeichen).

Vielleicht gibt es ja eine völlig andere Möglichkeit so einen variablen filename zu realisieren, ansonsten bräuchte ich einfach nur eine Möglichkeit, um in einem string an einer bestimmten stelle eine bestimmte zahl einfügen zu können. Ich hoffe ihr versteht was ich mein.

danke im voraus

Gruß Stefan
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mo 16.04.07 14:42 
Hallo,

Ich schmeiß einfach mal die schöne Funktion IntToStr in die Runde ;-)

ausblenden Delphi-Quelltext
1:
2:
for i := 0 to 42 do
  meinString := 'c:\text\' + IntToStr(i) + '.txt';

_________________
We are, we were and will not be.
nepleurepas Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 164

Win XP

BeitragVerfasst: Mo 16.04.07 14:50 
user profile iconGausi hat folgendes geschrieben:
Hallo,

Ich schmeiß einfach mal die schöne Funktion IntToStr in die Runde ;-)

ausblenden Delphi-Quelltext
1:
2:
for i := 0 to 42 do
  meinString := 'c:\text\' + IntToStr(i) + '.txt';


Das hilft jetzt leider nicht komplett weiter. der string filename kommt von opendialog.filename, d.h. ich weiß noch gar nicht wie er vor der datei aussieht. Ich weiß nur das die letzten 4 zeichen des strings filename ".txt" sein werden. Müsste also irgendwie die letzten 4 Zeichen abschneiden, um dann inttostr(i) und .txt wieder anhängen zu können.

gruß Stefan
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mo 16.04.07 14:55 
Generell hilft bei sowas Copy weiter. Hier würde ich dann aber auch Funktionen wie ExtractFilename, ExtractFilePath, ExtractFileExt etc. ausprobieren und das ggf. miteinander zu kombinieren.

_________________
We are, we were and will not be.
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Mo 16.04.07 18:06 
Hallo,

in dem Zusammenhang ist ChangeFileExt auch ganz praktisch.

ausblenden Delphi-Quelltext
1:
DateiNeu := ChangeFileExt(ExtractFileName(aFile),'')+IntToStr(i)+'.txt');					

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )