Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Prüfen ob string einen '.' enthält und somit Dateiname ist. (https://www.delphipraxis.net/113492-pruefen-ob-string-einen-enthaelt-und-somit-dateiname-ist.html)

Deltachaos 8. Mai 2008 16:05


Prüfen ob string einen '.' enthält und somit Dateiname ist.
 
Ja, ich denke der Titel sagt schon alles.
Ich habe in einer Item Box Dateien und Ordner gelistet. jetzt soll Delphi Prüfen ob es ein eine dateiendung vorhanden ist.

wie mach ich das?
Delphi-Quellcode:
if variable='.irgentwas' then ...
kanns ja nicht sein.

s-off 8. Mai 2008 16:09

Re: Prüfen ob string mit '.irgendwas' endet.
 
Gehe in einer Schleife Zeile für Zeile durch, und schaue mit der ExtractFileExt()-Funktion, ob die Dateiendung mit der gesuchten übereinstimmt. Sobald Du fündig geworden bist, brichst Du die Schleife ab und gibst die Zeilennummer zurück.

Fussball-Robby 8. Mai 2008 16:12

Re: Prüfen ob string mit '.irgendwas' endet.
 
Mit Delphi-Referenz durchsuchenExtractFileExt() komst du an die Endung der Datei.

FAlter 8. Mai 2008 16:32

Re: Prüfen ob string mit '.irgendwas' endet.
 
Hi,

meist ist es sinnvoll, ExtractFileExt im Zusammenhang mit Upper/Lowercase zu nehmen, z. B.

Delphi-Quellcode:
Ext := LowerCase(ExtractFileExt(FileName));

if Ext = '.txt' then
  ...
else
if Ext = '.mp3' then
else
  ...
Mfg
FAlter

Deltachaos 8. Mai 2008 16:34

Re: Prüfen ob string mit '.irgendwas' endet.
 
Zitat:

Zitat von Fussball-Robby
Mit Delphi-Referenz durchsuchenExtractFileExt() komst du an die Endung der Datei.

Nein es wird keine spetzielle gesucht sondern nur ob es eine Datei oder Ordner ist.

himitsu 8. Mai 2008 16:44

Re: Prüfen ob string einen '.' enthält und somit Dateiname i
 
auch ohne Punkt kann es ein Dateiname sein :stupid:

somit ist die Überschirft wohl mehr falsch :shock:
> "Prüfen ob string einen '.' enthält und somit Dateiname ist."


[dp]Dateiname auf Gültigkeit prüfen[/dp]
> z.B. http://www.delphipraxis.net/internal...ct.php?t=17470


[edit] :wall: ja stimmt ... siehe Alfi001

Ralf Kaiser 8. Mai 2008 16:44

Re: Prüfen ob string mit '.irgendwas' endet.
 
Zitat:

Zitat von Deltachaos
Nein es wird keine spetzielle gesucht sondern nur ob es eine Datei oder Ordner ist.

...was man aber nicht daran erkennen kann, dass der Name eine/keine Extension hat:

MeinOrdner.txt - gültiger Ordnername mit Extension
MeineDatei - gültiger Dateiname ohne Extension

Eventuell könntest du noch mit "FileExists()" bzw. mit "DirectoryExists()" prüfen ob der ermittelte Name wirklich ein Ordner oder eine Datei ist.

[edit: oops, da war himitsu schneller (gibts den roten Kasten nicht mehr??)]

DeddyH 8. Mai 2008 16:58

Re: Prüfen ob string einen '.' enthält und somit Dateiname i
 
Man könnte auch noch prüfen, ob die Datei/der Ordner existiert und wenn ja, ob faDirectory in den Attributen enthalten ist.

Matze 8. Mai 2008 17:05

Re: Prüfen ob string einen '.' enthält und somit Dateiname i
 
Zitat:

Zitat von Deltachaos
Ich habe in einer Item Box Dateien und Ordner gelistet.

Wenn du die Dateien selbst über FindFirst/-Next einfügst, dann kannst du an der Stelle schon parallel eine Liste mit den Zuordnungen Datei/Verzeichnis führen. Das wäre vermutlich das schnellste und auch das einfachste und obendrein noch zuverlässig.

Fussball-Robby 8. Mai 2008 17:10

Re: Prüfen ob string einen '.' enthält und somit Dateiname i
 
Fügst du sie allerdings nicht selbst hinzu und hast somit keine Möglichkeit, sie vorher schon zu überprüfen, könntest du folgenden Code benutzen:
Delphi-Quellcode:
type
  TMyResult = (mrFile, mrFolder, mrNone);
//...

function FileOrFolder(Path: String): TMyResult;
begin
  if FileExists(Path) then
    Result := mrFile
  else
  if DirectoryExists(Path) then
    Result := mrFolder
  else
    Result := mrNone;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  case FileOrFolder('D:\') of
    mrFolder: ShowMessage('Dies ist ein Ordner!');
    mrFile: ShowMessage('Dies ist eine Datei!');
    mrNone: ShowMessage('Weder Datei noch Ordner ;-)');
  end;
end;
Hab dafür jetzt 5 Minuten geopfert und wollte nicht, dass diese Arbeit umsonst gewesen ist :mrgreen:

Mfg


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:15 Uhr.
Seite 1 von 2  1 2      

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