Autor |
Beitrag |
DiamondDog
      
Beiträge: 460
|
Verfasst: Mi 17.11.10 11:48
Hallo Leute,
hab eine kurze Frage zum SaveDialog. Ich habe mir schon die Hilfe von Delphi dazu durchgelesen, aber die konnte meine Frage auch nicht beantworten. Mein Problem ist wenn ich mit dem SaveDialog eine Datei speichern möchte, zb auf dem Desktop und die Datei heißt genau so wie ein Ordner auf dem Desktop. Dann ist das Problem, wenn ich auf speichern klicke, dann wird immer der Ordner mit dem Namen geöffnet und ich kann die Datei nur in dem Ordner oder unter einem andern Namen speichern. Es wäre super wenn mir jemand sagen könnte wie ich ich das beheben kann das nicht der Ordner geöffnet wird, sondern die Datei dann auf dem Desktop gespeichert wird.
Danke schon mal an alle.
Mfg Dog
Edit:
Eintrag wurde von Rechtschreibfehlern usw. verbessert.
Zuletzt bearbeitet von DiamondDog am Mi 17.11.10 12:30, insgesamt 2-mal bearbeitet
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 17.11.10 12:15
Bitte tue uns alle einen Gefallen und lies deinen Beitrag noch mal durch und beseitige mal die gröbsten Rechtschreibfehler. Übrigens außer dem Komma gibt es auch noch den Punkt als Satzzeichen.
Du erwartest ja schließlich Hilfe von uns, da können wir wohl auch erwarten, dass du deinen Beitrag mit etwas mehr Sorgfalt verfasst.
|
|
Dude566
      
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Mi 17.11.10 12:34
Vielleicht würde es helfen, die Dateiendung festzulegen.
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
|
|
DiamondDog 
      
Beiträge: 460
|
Verfasst: Mi 17.11.10 12:37
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 17.11.10 12:44
Nein, er meint die Standarddateiendung die automatisch angehangen wird.
Aber habe ich das richtig verstanden, du willst eine Datei speichern, die den gleichen Namen wie der übergeordnete Order hat? Also so: "C:\test\test" wobei letzteres eine Datei ohne Endung ist?
|
|
Dude566
      
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Mi 17.11.10 12:45
Nein, man kann doch auch eine Dateiendung vorgeben bevor ein Name eingegeben wird, habe gerade kein Delphi zur Hand, meine aber es ginge.
Edit: Ja Luckie, das meinte ich. 
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
|
|
DiamondDog 
      
Beiträge: 460
|
Verfasst: Mi 17.11.10 12:50
Luckie hat folgendes geschrieben : | Nein, er meint die Standarddateiendung die automatisch angehangen wird.
Aber habe ich das richtig verstanden, du willst eine Datei speichern, die den gleichen Namen wie der übergeordnete Order hat? Also so: "C:\test\test" wobei letzteres eine Datei ohne Endung ist? |
Nein nicht ganz.
Kleines Beispiel, der Pfad existiert:
C:\test\
Die Datei soll jetzt heißen Test.m3u
Wenn ich jetzt auf speichern klicke, wird die Datei nicht auf C:\ erstellt sondern er geht in den Ordner C:\test\ und dort könnte ich die Datei dann speichern.
Zuletzt bearbeitet von DiamondDog am Mi 17.11.10 12:52, insgesamt 1-mal bearbeitet
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 17.11.10 12:51
Mach mal ein Demoprojekt. Das Verhalten kann ich mir nicht vorstellen.
|
|
DiamondDog 
      
Beiträge: 460
|
Verfasst: Mi 17.11.10 12:58
Luckie hat folgendes geschrieben : | Mach mal ein Demoprojekt. Das Verhalten kann ich mir nicht vorstellen. |
Demo im Anhang.
Einloggen, um Attachments anzusehen!
|
|
Martok
      
Beiträge: 3661
Erhaltene Danke: 604
Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
|
Verfasst: Mi 17.11.10 13:04
Das hat wenig mit Delphi zu tun, das ist in Windows einfach so.
Woher soll der OpenDialog auch wissen, ob du jetzt "Ordner öffnen" oder "Speichern und Default-Endung anhängen" meinst, wenn du einen Namen ohne Endung eingibst? Er nimmt also das an, was schon da ist.
Womit Dude566 Recht hat. Einfach das .m3u im Dialog mit eintippen, fertig.
_________________ "The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
Für diesen Beitrag haben gedankt: DiamondDog
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 17.11.10 13:07
So sieht ein funktionierendes Beispiel aus:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure TForm1.Button1Click(Sender: TObject); var sl:TStringList; begin sl := TStringList.Create; try sl.Text := 'Test'; SaveDialog1.FileName := 'neu'; if SaveDialog1.Execute then begin sl.SaveToFile(SaveDialog1.FileName+'.m3u'); end; finally sl.Free; end; end; |
In der Tat befremdlich. Wenn die Datei genauso heißt wie ein Ordner in der angezeigten Ordnerliste, kann man die Datei nicht speichern, obwohl eine Endung an den Dateinamen angehangen wird und so die Datei nicht den gleichen Namen bekommt, wie der Ordner.
Für diesen Beitrag haben gedankt: DiamondDog
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 17.11.10 13:10
Martok hat folgendes geschrieben : | Woher soll der OpenDialog auch wissen, ob du jetzt "Ordner öffnen" oder "Speichern und Default-Endung anhängen" meinst |
Die Schaltfläche ist mit "Speichern" beschriftet. Also sollte man erwarten, dass Windows die Datei speichert und die Default-Endung hängt. Ist keine Default-Endung angegeben und es kommt zu einem Nameskonflikt, sollte einer Fehlermeldung erscheinen.
|
|
Martok
      
Beiträge: 3661
Erhaltene Danke: 604
Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
|
Verfasst: Mi 17.11.10 13:13
Luckie hat folgendes geschrieben : | Die Schaltfläche ist mit "Speichern" beschriftet. Also sollte man erwarten, dass Windows die Datei speichert und die Default-Endung hängt. Ist keine Default-Endung angegeben und es kommt zu einem Nameskonflikt, sollte einer Fehlermeldung erscheinen. |
Die Schaltfläche wird im OnExit des Dateinamensfeldes überprüft und ggf. geändert in "Ordner öffnen". Meistens sieht man das aber nicht, weil man da nicht exited, sondern entweder den Button oder direkt Return drückt. Das war schon immer so seltsam...
EDIT: Sorry. So war es bis einschließlich W2k. Ab XP wird die Beschriftung nicht mehr geändert  Hier hat MS also eindeutig verschlimmbessert.
_________________ "The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
Zuletzt bearbeitet von Martok am Mi 17.11.10 13:14, insgesamt 2-mal bearbeitet
|
|
DiamondDog 
      
Beiträge: 460
|
Verfasst: Mi 17.11.10 13:14
Super wenn ich die Dateiendung mit anhänge, funktioniert es wie gewüscht. Danke an euch alle für die Super Hilfe.
|
|