![]() |
AW: Dateinamen mit einem File Filter vergleichen
gegenfrage an euch??? würde euch da ggf eine LCL-Routine ausreichen?
Wenn ja schaut mal bitte bei ![]() |
AW: Dateinamen mit einem File Filter vergleichen
Delphi-Quellcode:
uses Masks;
function MatchesFilter(const Filename, Filter: String): Boolean; var SL: TStringList; i: Integer; begin SL := TStringList.Create; try SL.StrictDelimiter := True; SL.Delimiter := '|'; SL.DelimitedText := Filter; for i := 0 to SL.Count div 2 - 1 do SL.Delete(i); SL.DelimitedText := ';'; SL.Text := SL.Text; for i := SL.Count - 1 downto 0 do if MatchesMask(Filename, SL[i]) then Exit(True); finally SL.Free; end; Result := False; end; // oder um nocheine Zeile kürzer function MatchesFilter(const Filename, Filter: String): Boolean; var SL: TStringList; i: Integer; begin SL := TStringList.Create; try SL.LineBreak := '|'; SL.Text := Filter; for i := 0 to SL.Count div 2 - 1 do SL.Delete(i); SL.LineBreak := ';'; SL.Text := SL.Text; for i := SL.Count - 1 downto 0 do if MatchesMask(Filename, SL[i]) then Exit(True); finally SL.Free; end; Result := False; end; Statt
Delphi-Quellcode:
kann man auch (für ältere Delphis) auf Folgendes ausweichen.
Exit(True);
Delphi-Quellcode:
PS: nicht getestet ... sollte aber gehn :oops:
begin
Result := True; Exit; end; PPS: In der CodeLb sollte von mir eine MaskMatch-Version rumliegen, welche speziell für Dateinamen vorgesehen ist, denn "*.*" findet eigentlich auch "DateiOhneEndung", was Masks.MatchesMask nicht macht. |
AW: Dateinamen mit einem File Filter vergleichen
Um jetzt nochmal auf die Frage mit dem Try und dem Exit zurückzukommen:
Ich bin die Sache Step by Step via F8 durchgegangen. In der konkreten Funktion wird Finally tatsächlich NICHT angesprungen, in anderen Routinen meiner Programme bei ähnlicher Konstellation dagegen schon. Ich konnte noch nicht herausfinden wo es im konkreten Fall klemmt. Evtl. ist das auch ein Bug im Linker? Nichtsdestotrotz ist Break die bessere Lösung anstelle von Exit. "Exit(x)" ähnelt mehr dem C-Konstrukt "return x" und wurde von mir bisher nie verwendet. Ich weise immer Result das Ergebnis zu, der Übersicht wegen. |
AW: Dateinamen mit einem File Filter vergleichen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:34 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