![]() |
Überprüfen, ob Dateiname eine bestimmte Endung hat
Hallo,
ich habe da mal wieder ein Problem. Ich habe zwar hier im Forum schon gesucht, aber leider nich das richtige gefunden. Und zwar habe ich einer INI-Datei mehrere Dateiendung definiert, die durch ein Komma getrennt sind. In der INI-Datei sieht das wie folgt aus: [Section] FileExt=exe,zip,pdf Nun lasse ich bei Form.Create die Dateiendungen in einen String (String: TheFileExt) laden. Nun möchte ich eine Prozedur erstellen, die überprüft, ob der Dateiname (den ich der Prozedur übergebe) eine der sich im String befindenen Dateiendungen besitzt. Es sollte so sein, dass ich die Prozedur (ich hab sie jetzt einfach mal 'IsFileExt' genannt) später wie folgt aufrufen kann:
Delphi-Quellcode:
if IsFileExt('C:\Autorun.bat') = True then
begin //hier passiert was end else begin //hier passiert was anderes end; Vielen Dank schon mal für eure Hilfe! |
Re: Überprüfen, ob Dateiname eine bestimmte Endung hat
Schau dir in der Hilfe mal die Funktion ExtractFileExt an!
Chris |
Re: Überprüfen, ob Dateiname eine bestimmte Endung hat
Ja schon, aber wie bekomme ich es hin, dass der String mit den Dateiendungen zerteilt wird. Hast du da vielleicht ein Beispiel?
|
Re: Überprüfen, ob Dateiname eine bestimmte Endung hat
Was verstehst du unter "zerteilt"?
|
Re: Überprüfen, ob Dateiname eine bestimmte Endung hat
So müsste es eigentlich funktionieren (habe ich nicht getestet)
Delphi-Quellcode:
function IsFileExt(s: string): boolean;
var ext: string; begin result := false; ext := ExtractFileExt(s) if FileExt = ext then begin result := true; end else begin if (pos(ext + ',', FileExt) = 1) or (pos(ext + ',', FileExt) = length(FileExt)-length(ext)) then begin result := true; end else begin if pos(',' + ext + ',', FileExt) > 0 then begin result := true; end; end; end; end; edit: einen klienen fehler verbessert |
Re: Überprüfen, ob Dateiname eine bestimmte Endung hat
Delphi-Quellcode:
while pos(',', endungen) > 0 do begin
Endungsliste.Hinzufügen(copy(endungen, 1, pos(',')-1)); delete(endungen, 1, pos(',')); end; |
Re: Überprüfen, ob Dateiname eine bestimmte Endung hat
@Luckie:
Ich habe einen String mit folgendem Inhalt: exe,pdf,zip Diese möchte ich eine StringList bekommen. @moin339 & Illuminator-23-5: Vielen Dank. Ich werde gleich mal ausprobieren. |
Re: Überprüfen, ob Dateiname eine bestimmte Endung hat
CommaText oder
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:09 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