Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi SaveDialog auswerten? (https://www.delphipraxis.net/52805-savedialog-auswerten.html)

Christian Seehase 4. Sep 2005 13:51

Re: SaveDialog auswerten?
 
Moin Marabu,

:gruebel:

also ich habe jetzt einmal ganz von Vorne begonnen.
Ein TSaveDialog, ein Button und Deine beiden Routinen (Copy&Paste)
Als "Kirsche auf der Sahne" habe ich dann auch noch Deine Benennungen übernommen. ;-)

Programmstart (F9)

Als erstes bin ich dann in C:\temp gegangen, und habe als Dateinamen test3 eingegeben, sowie den Filter für Text-Dateien ausgewählt.
ShowMessage liefert mir:

---------------------------
Project2
---------------------------
(2) C:\temp\test3
---------------------------
OK
---------------------------

bei dem anderen Filter sieht es dann, abgesehen von der (3) dann genauso aus.

Und das, wo wir auch noch beide mit D7 arbeiten :?


[EDIT]
Zitat:

Zitat von marabu
dann schaltet man den internen Mechanismus aus. Bei vorhandenem .txt wird diese Erweiterung verwendet, auch wenn der User per FilterIndex .csv ausgewählt hat.

Im Allgemeinen aber nur dann, wenn eine bereits im System registrierte Erweiterung vorgegeben wird.
[/EDIT]

marabu 4. Sep 2005 14:32

Re: SaveDialog auswerten?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Chris,

habe mir eben meine letzten Haare ausgerissen und ein wenig auf den Nägeln gekaut, aber die Ausgabe meines Programmes bestätigt mir meine Erfahrungen. Hier mein Code. Die Auflösung des Rätsels würde mich interessieren.

Freundliche Grüße vom marabu


Sorry Heike, aber das fällt doch noch nicht unter thread hijacking - oder?

Christian Seehase 4. Sep 2005 14:51

Re: SaveDialog auswerten?
 
Moin Marabu,

Du hast geschummelt ;-)

Ursprünglich fehlte die Zuweisung an TSaveDialog.Filename (siehe oben).
Ist beim Aufruf von SaveDialog Filename nicht leer, funktioniert es mit der Endung.
Sobald man aber "vergisst" einen Wert vorzugeben, oder das eventuell auch nicht will klappt es nicht mehr.
Wenn kein Filter ausgewählt wird (Alle Dateien bleibt stehen) erhält man sogar einen ungültigen Dateinamen (Endung: .*.txt)

marabu 4. Sep 2005 15:24

Re: SaveDialog auswerten?
 
Hi Chris,

ich habe nicht bewusst geschummelt, sondern nur versucht die Intention von smart umzusetzen. Letzten Endes wollte ich nur auf die internen Funktionen hinweisen.
Mit allem, was dieser thread jetzt an Informationen enthält, sollte smart in der Lage sein ein bombensicheres und benutzerfreundliches Save-Command für ihr Projekt zu basteln.

Zufriedene Grüße vom marabu

smart 6. Sep 2005 08:39

Re: SaveDialog auswerten?
 
Vielen Dank für Eure umfangreiche Hilfe. Ich hatte gedacht, dass man den Dateiname mit Endung in der Dialogbox sehen könnte. Das scheint wohl nicht zu gehen.:-(
Vielen Dank nochmal.

smart 6. Sep 2005 10:38

Re: SaveDialog auswerten?
 
Also, irgendwie bin ich zu dumm dafür. Habe jetzt den Code auf meine Verhältnisse angepasst. Klapp aber nicht. Die Endungen werden nicht hinzugefügt.
Delphi-Quellcode:
SaveDialog1.Title := 'Exportieren';
SaveDialog1.Filter := 'Alle Dateien (*.*)|*.*'
    + '|Text-Dateien (*.txt)|*.txt'
    + '|CSV-Dateien (*.csv)|*.csv';
  with SaveDialog1 do begin
    FilterIndex := 1;
    FileName := 'NamenLos';
    if Execute then
      Memo1.Lines.SaveToFile(FileName);
  end;
Es wird immer nur NamenLos gespeichert. Was mache ich da falsch? Hat Einer von Euch einen Tipp?

marabu 6. Sep 2005 10:55

Re: SaveDialog auswerten?
 
Hast du denn den FilterIndex interaktiv verändert? Bleibt er auf 1 stehen, dann wird natürlich keine Endung beigesteuert.

Grüße vom marabu

smart 6. Sep 2005 11:20

Re: SaveDialog auswerten?
 
Zitat:

Zitat von marabu
Hast du denn den FilterIndex interaktiv verändert? Bleibt er auf 1 stehen, dann wird natürlich keine Endung beigesteuert.
Grüße vom marabu

Ja klar. Klappt aber nicht. Ich habe es mal mit Delphi 2005 versucht. Gleicher Fehler. Der Fehler muss am Code liegen.

marabu 6. Sep 2005 12:01

Re: SaveDialog auswerten?
 
Delphi-Quellcode:
begin
  SaveDialog1.Title := 'Exportieren';
  SaveDialog1.Filter := 'Alle Dateien (*.*)|*.*'
    + '|Text-Dateien (*.txt)|*.txt'
    + '|CSV-Dateien (*.csv)|*.csv';
  with SaveDialog1 do begin
    FilterIndex := 1;
    FileName := 'NamenLos';
    DefaultExt := 'txt'; // schau mal hier
    if Execute then
      Memo1.Lines.SaveToFile(FileName);
  end;
end;
Nu geht das...

marabu

smart 6. Sep 2005 12:35

Re: SaveDialog auswerten?
 
Das hätte ich mir auch nie träumen lassen, dass man an so ein dummen SaveDialog Stunden verbringen kann. Hab vielen Dank @marabu, für die Hilfe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:23 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz