Delphi-PRAXiS

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

Tommy1988 6. Okt 2007 23:05


Dateiendung prüfen
 
Hallo Dler..

Also, mit folgendem Code pflücke ich einen Pfad auseinander:
Delphi-Quellcode:
Path := ShellTreeView1.Path;
ProcessPath(Path, lw, dir, file);
So, dann dachte ich gucke ich mit folgender Zeile, ob die ausgewählte Datei
eine bestimmte Dateiendung hat (hab nicht nachgedacht =) )

Delphi-Quellcode:
if datei = '*.txt' then // ...
Klappt wohl nicht (dürfte klar sein warum :wall: )

Kann mir wer sagen, wie ich die Dateiendung von "file" prüfen kann?

Gehstock 6. Okt 2007 23:08

Re: Dateiendung prüfen
 
mit


Delphi-Quellcode:
S := ExtractFileExt(ansilowercase(frmmain.OpenTextFileDialog1.FileName));
GetExt(s);

Delphi-Quellcode:
procedure GetExt(s : String);
begin
    if S = '.pas' then SetHigh(0); //Delphi
  if S = '.dpr' then SetHigh(0); //Delphi Project
  if S = '.dproi' then SetHigh(0); //Delphi Project
  if S = '.bdsproi' then SetHigh(0); //Delphi Project
  if S = '.bdsgroup' then SetHigh(0); //Delphi Project group
  if S = '.pp' then SetHigh(0); //Delphi
  if S = '.dpk' then SetHigh(0); //Delphi
  if S = '.dfm' then SetHigh(98); //Delphi Form
  if S = '.dfx' then SetHigh(98); //Delphi Form
  if S = '.txt' then SetHigh(99); //text
  if S = '.bas' then SetHigh(5); //VB 6
  if S = '.frm' then SetHigh(5); //VB 6  Form
  if S = '.vb' then SetHigh(5); //VB 2005
  if S = '.c' then SetHigh(2); //C++
  if S = '.cpp' then SetHigh(2); //C++
  if S = '.h' then SetHigh(2); //C++
  if S = '.hpp' then SetHigh(2); //C++
  if S = '.cs' then SetHigh(9); //C#
  if S = '.asm' then SetHigh(8); //ASM
  if S = '.bat' then SetHigh(13); //Bat
  if S = '.cmd' then SetHigh(13); //Bat
  if S = '.py' then SetHigh(14); //Python
  if S = '.ini' then SetHigh(15); //ini
  if S = '.java' then SetHigh(11); //java
  if S = '.iss' then SetHigh(16); //inno
  if S = '.pl' then SetHigh(17); //perl
  if S = '.pm' then SetHigh(17); //perl
  if S = '.prl' then SetHigh(17); //perl
  if S = '.cgi' then SetHigh(17); //perl
  if S = '.htm' then SetHigh(18); //HTML
  if S = '.html' then SetHigh(18); //HTML
  if S = '.php' then SetHigh(19); //PHP
  if S = '.php3' then SetHigh(19); //PHP
  if S = '.phtml' then SetHigh(19); //PHP
  if S = '.php3' then SetHigh(19); //PHP
  if S = '.rbw' then SetHigh(20); //Ruby
  if S = '.rb' then SetHigh(20); //Ruby
  if S = '.css' then SetHigh(21); //C# Script
  if S = '.xml' then SetHigh(22); //xml
  if S = '.xsd' then SetHigh(22); //xml
  if S = '.xsl' then SetHigh(22); //xml
  if S = '.xslt' then SetHigh(22); //xml
  if S = '.dtd' then SetHigh(22); //xml
end;

Tommy1988 6. Okt 2007 23:13

Re: Dateiendung prüfen
 
Leider kann ich damit so nix anfangen, ihne Kommentar ohne nix :?

Z.B. ist SetHigh nicht deklariert (als was denn?)

Wofür ist SetHigh?
Brauch ich das überhaupt?

Muetze1 6. Okt 2007 23:16

Re: Dateiendung prüfen
 
Zitat:

Zitat von Tommy1988
Leider kann ich damit so nix anfangen, ihne Kommentar ohne nix :?

Ich wüsste nicht, was man an den einfachen Anweisungen kommentieren sollte...

Zitat:

Zitat von Tommy1988
Z.B. ist SetHigh nicht deklariert (als was denn?)

Ist zur Beantwortung deiner Frage irrelevant

Zitat:

Zitat von Tommy1988
Wofür ist SetHigh?

Ist zur Beantwortung deiner Frage irrelevant

Zitat:

Zitat von Tommy1988
Brauch ich das überhaupt?

Definitiv nicht.

Zitat:

Zitat von Tommy1988
(hab nicht nachgedacht =) )

Sorry, aber das können wir dir nicht immer abnehmen. Diesmal musste dies doch mal tun. Schau dir den geposteten Quelltext an und versteh ihn, dann weisste was du machen musst.

Gehstock 6. Okt 2007 23:45

Re: Dateiendung prüfen
 
Delphi-Quellcode:
S := ExtractFileExt(ansilowercase(frmmain.OpenTextFileDialog1.FileName));
if S = '*.txt' then ...

ExtractFileExt holt sich die Dateiendung
ansilowercase sorgt dafür das auch ,*.TxT,*.TXT usw. erkannt werden indem alle buchstaben in kleinbuchstaben gewandelt werden
frmmain.OpenTextFileDialog1.FileName ist der dateiname

Tommy1988 6. Okt 2007 23:50

Re: Dateiendung prüfen
 
Zitat:

Zitat von Gehstock
ExtractFileExt holt sich die Dateiendung
ansilowercase sorgt dafür das auch ,*.TxT,*.TXT usw. erkannt werden indem alle buchstaben in kleinbuchstaben gewandelt werden
frmmain.OpenTextFileDialog1.FileName ist der dateiname

Sowas nenn ich Hilfestellung! Ok gut..

Ich habe das jetzt alles verstanden, und auch verstanden habe ich, dass ich die Prozedur da oebn garnicht erst brauche.

Muetze1 7. Okt 2007 02:10

Re: Dateiendung prüfen
 
Zitat:

Zitat von Tommy1988
Sowas nenn ich Hilfestellung!

Ich sehe nicht ein hier irgendwas banales zu erklären, was du durch drücken von F1 in Delphi nicht selber heraus finden kannst. Vor allem ist es dort deutlich umfangreicher und besser beschrieben als ich es hier dir jemals vermitteln könnte. Vor allem klärt die Hilfe deutlich mehr Dinge und mit den Querverweisen ist sie deutlich nützlicher als irgendeine Erklärung hier.

Nichts gegen Erklärungen hier im Forum, aber dann bitte vorher die Hilfe gelesen haben und nicht verstandenes direkt anfragen, aber sich nicht alles vorkauen lassen. Auf die 3 oben genannten Befehle kann man den gesamten gelieferten Code zusammenfassen, da alles andere nur Wiederholungen waren oder einfachste Vergleiche. Ich sehe (Achtung: persönliche Meinung) den oben zitierten Satz von dir schon _fast_ als Frechheit...


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