Hallo Leute,
ich habe eine große Zahl von Dateien mit den Namen:
1-Liga00.fus, ... 2-Liga25, 3-Liga25.fus usw., wobei die Zahl das Jahr angibt.
Das Jahr 3??? interessiert hier nicht. Ich will jetzt nur die aktuellen Dateien auswählen können. Der Dateiname wird bei der Anlage so festgelegt.
Ich habe mir Folgendes gedacht:
Delphi-Quellcode:
function FindFootballFiles(const Path: string): TStringDynArray;
var
FileFilter : TDirectory.TFilterPredicate;
s: string;
J, Lj: Word;
Po: Integer;
begin
FileFilter :=
function(const Path: String; const SearchRec: TSearchRec): Boolean
begin
po := Pos('.',SearchRec.Name)-3;
s := string(SearchRec.Name).SubString(Po,2);
try
Lj := s.ToInteger + 2000;
except
Exit(false);
end;
J := YearOf(Today);
Result := (J = Lj) or (J = Pred(Lj));
end;
Result := TDirectory.GetFiles(Path, '*.fus', TSearchOption.soAllDirectories, FileFilter);
end;
Wie findet ihr diesen Ansatz? Ist mir klar, wenn der Anwender den Dateinamen ändert, funktioniert die Sache nicht mehr.
Gruß Willie.