Bestimmte Dateien in Ordner finden //GELÖST

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
jonas_rotter1234
Beiträge: 14
Registriert: Sa 7. Nov 2015, 21:49

Bestimmte Dateien in Ordner finden //GELÖST

Beitrag von jonas_rotter1234 »

Liebe Lazarus Community,

so kurz vor Weihnachten möchte ich noch eine Frage stellen - ist es möglich in einem Memo alle Dateien aufzulisten, welche in ihrem Namen die Zeichenkette '_Notfall' hat? Also wenn ich zum Beispiel in einem Ordner die Datei xy_Notfall, die Datei xyz und die Datei yz_Notfall habe, möchte ich, dass mir die beiden Dateien xy_Notfall und yz_Notfall in dem Memo angezeigt werden. Später möchte ich sie dann auch öffnen lassen, was ich mit einer Zählschleife und OpenDocument mache.
Bisher habe ich diesen Weg mit FindAllFiles gemacht, jedoch funktioniert dies glaube ich nicht, wenn man nach bestimmten Dateinamen und nicht Dateiendungen sucht.

Code: Alles auswählen

unit uNotfall;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
  Buttons, lclintf, ExtCtrls;
 
type
 
  { TForm1 }
 
  TForm1 = class(TForm)
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Label1: TLabel;
    Label2: TLabel;
    Memo1: TMemo;
    Timer1: TTimer;
    procedure BitBtn1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.lfm}
 
{ TForm1 }
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  Timer1.Enabled:=true;
  Timer1.Interval:=10000;
  Memo1.Lines.Clear;
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
var
  sl : TStringList;
begin
  sl := FindAllFiles('C:\Users\Jonas\Ordner', '_Notfall', true);
  try
    Memo1.Lines.Assign(sl);
  finally
    sl.Free;
  end;
end;
 
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  i : Integer;
  Datei : String;
begin
  for i:=0 to Memo1.Lines.Count-1 do begin
    Datei:=Memo1.Lines[i];
    OpenDocument(Datei);
  end;
end;
 
end.     
Über eine schnelle Antwort würde ich mich sehr freuen.

Mit freundlichen Grüßen und einen schönen 4. restlichen Advent

jonas_rotter1234
Zuletzt geändert von jonas_rotter1234 am So 20. Dez 2015, 21:08, insgesamt 1-mal geändert.

MacWomble
Lazarusforum e. V.
Beiträge: 999
Registriert: Do 17. Apr 2008, 01:59
OS, Lazarus, FPC: Mint 21.1 Cinnamon / FPC 3.2.2/Lazarus 2.2.4
CPU-Target: Intel i7-10750 64Bit
Wohnort: Freiburg

Re: Bestimmte Dateien in Ordner finden

Beitrag von MacWomble »

Code: Alles auswählen

  sl := FindAllFiles('C:\Users\Jonas\Ordner', '[color=#00FF00]*[/color]_Notfall[color=#00FF00]*[/color]', true);
Sternchen - auch passend zu Weihnachten!
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.

jonas_rotter1234
Beiträge: 14
Registriert: Sa 7. Nov 2015, 21:49

Re: Bestimmte Dateien in Ordner finden

Beitrag von jonas_rotter1234 »

Wow, das ging schnell!
Hätte ich auch irgendwie selbst drauf kommen können... :roll:
Auf jeden Fall ganz lieben Dank und ein frohes Fest mit deiner Familie!

Antworten