* Ein
MatchText, direkt auf's Array, geht ja nicht, für TeilStrings.
* Am Einfachsten mit
EndsText, aber ich würde noch ein '\' davor hängen, weil
Delphi-Quellcode:
EndsText('FileX.exe', 'C:\dir\FileX.exe') = True
EndsText('FileX.exe', 'C:\dir\absadsadFileX.exe') = True
EndsText('\' + 'FileX.exe', 'C:\dir\absadsadFileX.exe') = False
wobei hier natürlich wäre direkt
if ExtractFilenName('C:\dir\FileX.exe') = 'FileX.exe'
besser
bzw.
if MatchText(ExtractFilenName('C:\dir\FileX.exe'), ['FileX.exe', Xyz.exe])
aber
Delphi-Quellcode:
EndsText('dir\FileX.exe', 'C:\dir\FileX.exe') = True
EndsText('dir\FileX.exe', 'C:\absadsaddir\FileX.exe') = True
EndsText('\' + 'dir\FileX.exe', 'C:\absadsaddir\FileX.exe') = False
Delphi-Quellcode:
FileNamenArray := TDirectory.GetFiles('C:\dir', '*.*', TSearchOption.soAllDirectories,
procedure (const Path: string; const SearchRec: TSearchRec): Boolean
begin
// SearchRec.Name = nur der Dateiname
// TPath.Combine(Path, SearchRec.Name) = vollsändiger Pfad
Result := True wenn Pfad im ergebnis sein soll.
// es geht auch Result := False; und selbst irgendwo in einer externen Liste speichern oder direkt verarbeiten
end);