AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Savedialoge und Endungen

Ein Thema von Delphi Star · begonnen am 20. Mai 2005 · letzter Beitrag vom 21. Mai 2005
Antwort Antwort
Delphi Star

Registriert seit: 4. Apr 2004
432 Beiträge
 
Delphi 2005 Personal
 
#1

Savedialoge und Endungen

  Alt 20. Mai 2005, 22:36
Kann man in einem Savedialog irgendwie eintellen, dass z.B. wenn als Dateityp Textdatei angegeben ist, der eingegebene Dateiname aber gar kein *.txt als Endung hat, dies automatsich hinzugefügt wird, sobald man auf Speichern klickt
Real programmers code in binary
SwapIt: Punkte
  Mit Zitat antworten Zitat
Gentleman

Registriert seit: 29. Sep 2004
302 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Savedialoge und Endungen

  Alt 20. Mai 2005, 22:50
Hi!

Das müsste etwa so gehen:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if SaveDialog1.Execute then
    begin
      if pos('.txt', SaveDialog1.FileName)> Length(SaveDialog1.FileName) - 4 then
        begin
          SaveDialog1.FileName:= SaveDialog1.FileName + '.txt';
        end;
    end;
end;
-> nicht getestet

[EDIT]Da musst du dann halt noch unterscheiden, welches Format ausgewählt ist.[/EDIT]

Lennard
Der Vorteil der Klugheit besteht darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger. (Kurt Tucholsky)
  Mit Zitat antworten Zitat
Delphi Star

Registriert seit: 4. Apr 2004
432 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Savedialoge und Endungen

  Alt 20. Mai 2005, 22:53
Nein, das meine ich nicht. Es soll vom Dialog aus geändert werden, damit die Überprüfungen, z.B. ob die Datei schreibgschützt ist, auch auf den Namen mit der Endung angewendet werden.
Real programmers code in binary
SwapIt: Punkte
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Savedialoge und Endungen

  Alt 20. Mai 2005, 23:02
Moin Delphi Star,

dann müsstest Du die Überprüfung im OnCanClose-Ereignis durchführen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Delphi Star

Registriert seit: 4. Apr 2004
432 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Savedialoge und Endungen

  Alt 20. Mai 2005, 23:08
Das funktioniert auch nicht, das "OnCanClose"-Ereignis wird ausgeführt, nachdem die Überprüfungen gemacht worden sind. Anscheinend ist die einzige Möglichkeit alle Prüfungen, z.B. ob die Datei existiert, manuell im "OnCanClose"-Ereignis durchzuführen. Das ist mir aber zu umständlich, da muss es doch einen einfacheren Weg geben.
Real programmers code in binary
SwapIt: Punkte
  Mit Zitat antworten Zitat
Benutzerbild von sECuRE
sECuRE

Registriert seit: 10. Apr 2003
Ort: Heidelberg
360 Beiträge
 
Delphi 7 Professional
 
#6

Re: Savedialoge und Endungen

  Alt 21. Mai 2005, 08:07
Hi,

ist dafür nicht die Eigenschaft "DefaultExt" gut?

cu
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Savedialoge und Endungen

  Alt 21. Mai 2005, 08:23
Zitat von Delphi Star:
Das funktioniert auch nicht, das "OnCanClose"-Ereignis wird ausgeführt,....
Hai Delphi Star,

wenn ich dich richtig verstehe möchtest Du nicht nach dem SaveDialog die Endung wissen sondern bevor er geschlossen wird?

Im OnCanClose wird zwar die Endung der Filter noch nicht an den Dateinamen gehängt aber der Delphi-Referenz durchsuchen.FilterIndex hat den Wert des ausgewählten Filters.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.334 Beiträge
 
Delphi XE5 Professional
 
#8

Re: Savedialoge und Endungen

  Alt 21. Mai 2005, 12:14
Zitat von Gentleman:
if pos('.txt', SaveDialog1.FileName)> Length(SaveDialog1.FileName) - 4
Das funktioniert nur, wenn die Dateierweiterung '.txt' ist. Ist nur ein Buchstabe groß geschrieben, ist das Ergebnis FALSE. Ich würde
if lowercase(ExtractFileExt (SaveDialog1.FileName)) = '.txt' nehmen.
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:42 Uhr.
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