![]() |
TOpenDialog: nur TXTs öffnen können
Hallo,
ich möchte erreichen, dass ich mit einem TOpenDialog nur *.txt Dateien öffnen kann. Die Filter-Eigenschaft habe ich schon probiert, bringt aber nichts, da man ja trotzdem mit "*" alles öffnen kann. Deshalb möchte ich nach opnDatei.execute mit If einen Stringvergleich durchführen, wo ich opnDatei.FileName mit '*.txt' Vergleiche und opnDatei.FileName verwerfe und eine MSG Box ausgebe, wenn es keine txt ist. Dies funktioniert aber irgendwie nicht, ich bekomme immer "Typen inkompatibel". Wie müsste dieser Stringvergleich aussehen? Ach ja: Wie kann ich eigentlich mein Arbeitsverzeichnis einstellen? Ich bekomme immer das Bin-Verzeichnis von Delphi angezeigt beim Speichern und öffnen, das nervt auf die Dauer etwas... Vielen Dank für eure Hilfe, bogomip :wink: |
Re: TOpenDialog: nur TXTs öffnen können
Delphi-Quellcode:
if ExtractfileExt(Opendialog1.Filename) = '.txt' then
machwasduwillst else ShowMessage('Es können nur Textdateien geöffnet werden !'); |
Re: TOpenDialog: nur TXTs öffnen können
Delphi-Quellcode:
müsste doch gehen...
OpenDialog1.Filter := 'Nur Text-Dateien|*.txt';
|
Re: TOpenDialog: nur TXTs öffnen können
Ja das geht, im Objectinspektor auf Filter klicken und dann bei Filter *.txt eingeben.
|
Re: TOpenDialog: nur TXTs öffnen können
Hab ich gemacht mit dem Filter, aber das bringt doch nichts.
Mann muss nur im Dateifeld * eingeben und schon kann man wieder alle Dateien öffnen. Jetzt habe ich es so:
Code:
Funktioniert auch soweit, das Problem ist bloß, dass der OpenDialog auch wieder kommt, wenn man auf Abbrechen klickt :lol:
repeat opnAdress.execute;
if ExtractFileExt(opnAdress.FileName) = '.txt' then begin FileName := extractfilename(opnAdress.FileName); FileDirectory := extractfilepath(opnAdress.FileName); end else begin showmessage('"'+ opnAdress.FileName + '"' + ' ist leider keine gültige txt-Datei!'); end until ExtractFileExt(opnAdress.FileName) = '.txt'; Und wie ist das mit dem Arbeitsverzeichnis? mfg bogomip |
Re: TOpenDialog: nur TXTs öffnen können
ABer der Filter gibt doch nur angezeigte Dateien (neben Ordnern) an.
Wenn man einen Dateinamen manuell eingibt, versucht er es trotzdem, oder? air |
Re: TOpenDialog: nur TXTs öffnen können
Delphi-Quellcode:
Allerdings mich würde ein immer wieder aufpoppende Dialog ziemlioch nerven. :?
repeat
if opnAdresse.execute then begin if ExtractFileExt(opnAdress.FileName) = '.txt' then begin FileName := extractfilename(opnAdress.FileName); FileDirectory := extractfilepath(opnAdress.FileName); end else begin showmessage('"'+ opnAdress.FileName + '"' + ' ist leider keine gültige txt-Datei!'); end; end; until ExtractFileExt(opnAdress.FileName) = '.txt'; |
Re: TOpenDialog: nur TXTs öffnen können
Danke!
Tja, wer nicht fähig ist, eine Textdatein auszuwählen, kann auch etwas genervt werden :lol: |
Re: TOpenDialog: nur TXTs öffnen können
Moin Zusammen,
irgenwie scheint jeder die Ereignisse der Dialoge zu ignorieren ;-) In diesem Falle käme das CanClose Ereignis in Frage:
Delphi-Quellcode:
procedure TForm1.OpenDialog1CanClose(Sender: TObject;var CanClose: Boolean);
begin CanClose := LowerCase(ExtractFileExt(OpenDialog1.FileName)) = '.txt'; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz