Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Dateien mit bestimmter Endung im Verzeichnis suchen. (https://www.delphipraxis.net/3204-dateien-mit-bestimmter-endung-im-verzeichnis-suchen.html)

jack 28. Feb 2003 15:20


Dateien mit bestimmter Endung im Verzeichnis suchen.
 
Hallo,
ich fang mal an.
also, ich möchte ein progamm schreiben das in dem verzeichnis indem das programm ausgeführt wird alle datein mit der endung *.cfg auflistet.
aber .. ich habe keine ahnung wie ich das machen soll :D
also bitte helft mir ... würde mich sehr über den SouceCode freuen.
danke :coder:

sakura 28. Feb 2003 15:23

Herzlich willkommen in der DP!

Ich möchte Dir mal unsere Suchfunktion ans Herz legen und unsere Code-Library, beides ist im oberen Menü zu finden.

Aus der Code-Lib ist folgender Beitrag: http://www.delphipraxis.net/viewtopic.php?t=2464

...:cat:...

jack 28. Feb 2003 15:39

if AnsiLastChar(RootFolder)^ <> '\' then
[[[[Fehler] Unit1.pas(32): Ungültiges Zeichen in Eingabedatei: ' ' ($A0)]]]

was bedeutet das ??

sakura 28. Feb 2003 15:43

Gute Frage, nächste Frage :mrgreen: Wahrscheinlich gab es bei der Darstellung des Codes ein Problem. Lösche mal die Leerzeichen und schreibe diese neu hin, wahrscheinlich hat die Forensoftware ein & verwandt und dieses wurde falsch in Delphi eingefügt.

...:cat:...

jack 28. Feb 2003 15:52

LOL ... wie es schein lag es an LEERstellen ^^

Daniel B 28. Feb 2003 15:55

Zitat:

Zitat von sakura
Lösche mal die Leerzeichen und schreibe diese neu hin, wahrscheinlich hat die Forensoftware ein & verwandt und dieses wurde falsch in Delphi eingefügt.

Das wird es sein, $A0 ist ne Leerstelle.

Grüsse, Daniel :hi:

jack 28. Feb 2003 16:10

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
  [color=#cc0000]procedure FindAllFiles(RootFolder: string; Mask: string = '*.*'; Recurse: Boolean = True);[/color]


  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  SR: TSearchRec;

implementation

{$R *.dfm}

procedure FindAllFiles(RootFolder: string; Mask: string = '*.*'; Recurse: Boolean = True);
var
  SR: TSearchRec;
begin
  if AnsiLastChar(RootFolder)^ <> '\' then
    RootFolder := RootFolder + '\';
  if Mask = '' then
   Mask := '*.*';
  if FindFirst(RootFolder + Mask, faAnyFile, SR) = 0 then
  try
  repeat
    if SR.Attr and faDirectory = faDirectory then
     begin
       if Recurse then
        begin
          // --> ein Verzeichnis wurde gefunden
          //* *der Verzeichnisname steht in SR.Name
          //* *der vollständige Verzeichnisname (inkl. darüberliegender Pfade) ist
          //* * * *RootFolder + SR.Name
         if (SR.Name <> '.') and (SR.Name <> '..') then
            FindAllFiles(RootFolder + SR.Name, Mask, Recurse);
         end;
      end else begin
        // --> eine Datei wurde gefunden
        //* *der Dateiname steht in SR.Name
        //* *der vollständige Dateiname (inkl. Pfadangabe) ist
        //* * * *RootFolder + SR.Name
        // folgende Zeile schreibt den vollständigen Namen in eine Memo Feld des
        // Formulars Form1
        Form1.Memo1.Lines.Add(RootFolder + SR.Name);
      end;
    until FindNext(SR) <> 0;
  finally
    FindClose(SR);
  end;
end;

end.

und der Fehler:
[color=#1100ff][Fehler] Unit1.pas(12): Ungenügende Forward- oder External-Deklaration: 'TForm1.FindAllFiles'[/color]
[edit=Daniel B]Delphi-Tags gesetzt; MfG Daniel B.[/edit]

sakura 28. Feb 2003 16:39

Zitat:

Zitat von Daniel B
Das wird es sein, $A0 ist ne Leerstelle.

Stimmt so nicht! $20 ist die eigentliche Leerstelle. $A0 ist das sogenannte "Dauerleerzeichen" also das Pendant für das HTML &. Das ist für Delphi nicht das Gleiche!

...:cat:...

jack 28. Feb 2003 16:44

das Problem mit dem Leerstellen war eigendlich schon gelöst

[edit=Daniel B]Vierfach-Post gelöscht. Ganz ruhig gell. ;) Nur einmal auf Absenden klicken. Danke. MfG Daniel B.[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz