Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Datei prüfen (https://www.delphipraxis.net/113767-datei-pruefen.html)

condor 14. Mai 2008 12:46


Datei prüfen
 
Hallo,

ich habe folgenden Code:
Delphi-Quellcode:
if OpenDialog1.Execute then
Edit1.Text:=(OpenDialog1.Filename);
dateiname:=ExtractFileName(edit1.text);
endung:=ExtractFileExt(edit1.text);
Wie prüfe ich, ob wirklich eine Datei ausgewählt wurde? Es kann ja sein, dass da nur "C:\" steht oder was Ähnliches.

dominikkv 14. Mai 2008 12:51

Re: Datei prüfen
 
Delphi-Quellcode:
if FileExists() then

RavenIV 14. Mai 2008 12:56

Re: Datei prüfen
 
Bemühe mal die Suche mit den Begriffen "Datei Verzeichnis".
Es wird immer mal wieder gefragt, wie man eine Datei von einem Verzeichnis unterscheiden kann.

Luckie 14. Mai 2008 13:37

Re: Datei prüfen
 
Mit einem OpenFile-Dialog kannst du nur Dateien auswählen.

Die Muhkuh 14. Mai 2008 13:42

Re: Datei prüfen
 
Und in Verbindung mit der Option FileMustExist sollte das ganze kein Problem mehr darstellen.

TeronG 14. Mai 2008 13:51

Re: Datei prüfen
 
Hast du in deinem Code wirklich kein Begin & End (beim If then) oder haste das nur nicht mitkopiert?
Bei Abbruch wird sonst überflüssiger Code ausgeführt.
(OH OpenDialog?)

condor 14. Mai 2008 13:57

Re: Datei prüfen
 
Delphi-Quellcode:
if FileExists() then
damit hat's geklappt. aber aus Neugier, wie nutzt man die Option FileMustExist? Hab in der Delphi-Referenz keine Hilfe gefunden.

Delphi-Quellcode:
if OpenDialog1.Execute then
  Edit1.Text:=(OpenDialog1.Filename);
  if FileExists(edit1.Text) then begin...
so sieht mein aktueller Code aus.

shmia 14. Mai 2008 14:10

Re: Datei prüfen
 
Wenn OpenDialog.Execute den Wert True zurückliefert, dann hat der Benutzer den OK-Button gedrückt
und damit auch eine Datei ausgewählt.
Wie Muhkuh schon gesagt hat, sollte zusätzlich die Option ofFileMustExist aktiviert werden.
(Im Objektinspektor property Options aufklappen)

Damit ist dann jede nachträgliche Prüfung mit FileExists völlig überflüssig,
weil der Benutzer nur mit OK aus dem Dialog rauskommt, wenn er eine existierende Datei gewählt hat.

TeronG 14. Mai 2008 14:15

Re: Datei prüfen
 
*HinKlatsch* ^^
Delphi-Quellcode:
if OpenDialog1.Execute then //nur wenn true also existierende Datei ausgewählt wurde wir Rest ausgeführt
begin
  Edit1.Text :=(OpenDialog1.Filename);
  dateiname :=ExtractFileName(edit1.text);
  endung    :=ExtractFileExt(edit1.text);
end;

himitsu 16. Mai 2008 14:10

Re: Datei prüfen
 
Zitat:

Zitat von TeronG
//nur wenn true also existierende Datei ausgewählt wurde wir Rest ausgeführt

Das stimmt aber nur, wenn dem OpenDialog befphlen wurde zu prüfen, ob die eingegebene Datei existiert.
(siehe OI)

ansonsten gibt True dort nur an, daß der Dialog mit dem "Öffnen"-Button geschlossen, also auf "öffnen" geklickt (oder Enter gedrückt) wurde.

TeronG 19. Mai 2008 09:04

Re: Datei prüfen
 
Zitat:

Zitat von himitsu

Das stimmt aber nur, wenn dem OpenDialog befphlen wurde zu prüfen, ob die eingegebene Datei existiert.
(siehe OI)

ansonsten gibt True dort nur an, daß der Dialog mit dem "Öffnen"-Button geschlossen, also auf "öffnen" geklickt (oder Enter gedrückt) wurde.

Wusste ehrlich gesagt nicht, daß man auf OK klicken kann wenn nix ausgewählt ist ... :gruebel:
Da muss ich in Zukunft wohl drauf aufpassen. (hab zuvor wohl noch nie Schmarrn eingetippt ^^)
Aber so n ofFileMustExist is ja schnell gesetzt :mrgreen:

himitsu 19. Mai 2008 23:02

Re: Datei prüfen
 
Zitat:

Zitat von TeronG
daß man auf OK klicken kann wenn nix ausgewählt ist

ausgewählt nuß nichts sein ... es muß nur irgendetwas im DateinameEditFeld drinsteht und wenn man diesen Dateinamen nicht prüfen läßt (z.B. ofFileMustExist), dann kann man da alles eintragen.

kann man z.B. zum anlegen einer neuen Datei mißbrauchen :stupid:

TeronG 20. Mai 2008 08:59

Re: Datei prüfen
 
Zitat:

Zitat von himitsu
kann man z.B. zum anlegen einer neuen Datei mißbrauchen :stupid:

Jo .. im nachhinein gesehen sollte ich das wissen/kennen. Habe ein Programm, daß bei nicht existierender Datei nach frägt, ob es nicht eine mit dem von mir eingegebenen (nicht existierenden) Dateinamen anlegen soll. :oops: :roll:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:50 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