Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - XXX+OpenDialog1.FileName | wie?
UserOhneName - Fr 06.02.04 17:32
Titel: XXX+OpenDialog1.FileName | wie?
falls es aus der Überschrift nicht eindeutig hervorgeht:
Ich möchte das meine Datei, die ich in meinem kleinen Prog lade, beim abspeichern den selben Namen wie die geöffnete Datei hat, nur dass davor noch einen Zusatzwort steht.
Das die Datei beim Abspeichern die selben Namen hat, wie die Datei auch heißt, habe ich mit dieser Anweisung realisiert:
Delphi-Quelltext
1:
| SaveDialog1.Filename := OpenDialog1.FileName; |
Wenn ich nun die Datei test.txt öffne (mein Programm sortiert eine TStringList alphabetisch) und wieder speicher möchte, zeigt der SaveDialog auch test.txt automatisch an. Soweit so gut.
Ich möchte nur das er beim abspeichern noch ein Wort davor schreibt.
Beispielsweise sortiert_text.txt
Hat jmd dazu ne brauchbare Lösung?
Die Delphi Hilfe und die Suchfunktion haben mich leider nicht weitergebracht.
Ciao
U.o.N.
Delete - Fr 06.02.04 17:38
Strings kannst du mit dem Operator "+" zusammensetzten.
UserOhneName - Fr 06.02.04 17:43
ja das weiß ich, nur wenn ich das in diesem fall mache, also:
Delphi-Quelltext
1:
| SaveDialog1.Filename := 'sortiert' + OpenDialog1.FileName; |
öffnet sich der savedialog 1 nicht mehr.
Delete - Fr 06.02.04 17:59
Hä? Wie rufst du ihn denn auf? Alos ich mache das immer so:
Delphi-Quelltext
1:
| if OpenDialog1.Execute then |
Aber wenn du sie einmal geöffnet hast, dann kennst du doch den Dateinamen. Merk ihn dir und pack beim Speichern einfach deinen String davor.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| var Filename: String; sl: TStringList; begin if OpenDialog1.Execute then begin sl := TStringList.Create; try Filename := OpenDialog1.Filename; sl.LoadFromFile(Filename); SaveDialog1.Filename := Filename; if SaveDialog1.Execute then begin sl.SaveToFile('Sortiert_'+SaveDialog1.Filename); end; finally FreeAndNil(sl); end; end; |
So ungefähr, gerade mal schnell hier reingehackt. ;)
cbs - Fr 06.02.04 19:50
hi
das geht so einfach nicht
FileName enthält in dem fall den ganzen pfad + dateinamen
mit
FileName:= 'sortiert_' + FileName;
lautet FileName dann beispielsweise
Delphi-Quelltext
1:
| 'sortiert_C:\irgendeinedatei' |
du musst erst mit extractfilepath und extractfilename den pfad und den dateinamen rausfiltern und entsprechend mit dem 'sortiert' dazwischen wieder zusammensezten
Delete - Fr 06.02.04 22:05
Mist. Das hab eich vergessen. :?
Delete - Mo 09.02.04 13:30
dann nimm es doch einfach so:
Delphi-Quelltext
1:
| sl.savetofile(ExtractFilePath(SaveDialog1.Filename) + 'sortiert'+ ExtractFileName(SaveDialog1.Filename)); |
ist zwar ned soooo schoen, aber es erfuellt seinen Zweck ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!