Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Komplette Partition C: (https://www.delphipraxis.net/72637-komplette-partition-c.html)

I.A. 4. Jul 2006 12:52


Komplette Partition C:
 
Hallo

Wenn ich in den Filter des open dialogs den Filter für ".wav;.wma;" gemacht habe durchsucht es dann
die ganze Partition C ????
Ich habe bei open nur dateien aus der Partition C stehen.
Habe also alles schon gemacht will nur wissen ob es die ganze Partition C durchsucht auch in den Ordner.

Hoffentlich habt ihrs kapiert wie ich das meine :gruebel:

Christian Seehase 4. Jul 2006 12:55

Re: Komplette Partition C:
 
Moin I.A.,

der Filter bezieht sich immer auf das Verzeichnis, auf den der Dialog gerade verweist.

I.A. 4. Jul 2006 12:58

Re: Komplette Partition C:
 
Also dursucht er die ganze Partition ???

Christian Seehase 4. Jul 2006 13:03

Re: Komplette Partition C:
 
Moin I.A.

nein, wie kommst Du da drauf? :gruebel:

I.A. 4. Jul 2006 13:05

Re: Komplette Partition C:
 
Weil ich es will das er die ganze Partition nach dieser Dateiendung absucht. :wall:

Smeivel 4. Jul 2006 13:06

Re: Komplette Partition C:
 
Also ich hatte auch das Problem das er immer nur die Dateien fand die direkt in C:\ gespeichert waren also hab ich mal geguckt und diese Procedure gefunden klappt bestens, um dir alle Dateien in einem Verzeichnis anzeigen zu lassen, auch die in den Unterordnern:
Delphi-Quellcode:
  public
     procedure GetFiles(const Path: string);
   { Public-Deklarationen }


procedure TForm1.GetFiles(const Path: string);
var
  SearchRec: TSearchRec;
  p: string;

begin
     Label1.Caption:='';
     p := path + '*.*';
     if FindFirst(p, faAnyFile, SearchRec) = 0 then
     begin
      repeat
        if (SearchRec.Attr and faDirectory) = faDirectory then
        begin
         if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then
           GetFiles(Path + SearchRec.Name + '\');
           end
        else begin
        Form1.Memo1.Lines.Add(Path + SearchRec.Name);
        a:=a+1;
        Refresh;
        Application.ProcessMessages;
        ProgressBar1.StepIt;
        end;
      until
        FindNext(SearchRec) <> 0;
      FindClose(SearchRec);
     end;
     ProgressBar1.Position:=0;
     Label1.Caption:=IntToStr(a) +' Dateien gescannt';
end;
Viel Spaß damit und Grüße aus Niederelsungen!

I.A. 4. Jul 2006 13:12

Re: Komplette Partition C:
 
Ja könnte gehen aber bei mir funktioniert des mit dem net(besser gesagt ich blicks net weil ich anfänger bin):

Delphi-Quellcode:
procedure TForm1.GetFiles(const Path: string);
da brauch ich doch so ein GetFile oder ??

wie :

Delphi-Quellcode:
procedure TForm1.ClickButton1();
da brauch ich ja den Button dazu. :gruebel:

Smeivel 4. Jul 2006 13:19

Re: Komplette Partition C:
 
Nein also du musst einfach in den OnClick Befehl von dem Button oder den CanClose Befehl von dem OpenDialog dass hier einfügen
Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  Form1.GetFiles('C:\');
end;

I.A. 4. Jul 2006 13:23

Re: Komplette Partition C:
 
Aha und das:
Delphi-Quellcode:
public
     procedure GetFiles(const Path: string);
   { Public-Deklarationen } 


procedure TForm1.GetFiles(const Path: string);
var
  SearchRec: TSearchRec;
  p: string;

begin
     Label1.Caption:='';
     p := path + '*.*';
     if FindFirst(p, faAnyFile, SearchRec) = 0 then
     begin
      repeat
        if (SearchRec.Attr and faDirectory) = faDirectory then
        begin
         if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then
           GetFiles(Path + SearchRec.Name + '\');
           end
        else begin
        Form1.Memo1.Lines.Add(Path + SearchRec.Name);
        a:=a+1;
        Refresh;
        Application.ProcessMessages;
        ProgressBar1.StepIt;
        end;
      until
        FindNext(SearchRec) <> 0;
      FindClose(SearchRec);
     end;
     ProgressBar1.Position:=0;
     Label1.Caption:=IntToStr(a) +' Dateien gescannt';
end;
brauche ich nicht mehr ????

Smeivel 4. Jul 2006 13:29

Re: Komplette Partition C:
 
Doch du musst dass dann ungefähr so verwenden:
Delphi-Quellcode:
unit MyPad1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, FileCtrl, ComCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
 
   
    procedure ....................;
    procedure ....................;
    procedure ....................;

  private

   { Private-Deklarationen }
  public
     procedure GetFiles(const Path: string);
   { Public-Deklarationen }

  end;

var
  Form1: TForm1;
  Weiter:Boolean;
  a:integer;
implementation

{$R *.dfm}

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
a:=0;
Memo1.Clear;
Form1.GetFiles('C:\');
end;

procedure TForm1.GetFiles(const Path: string);
var
  SearchRec: TSearchRec;
  p: string;

begin
     Label1.Caption:='';
     p := path + '*.*';
     if FindFirst(p, faAnyFile, SearchRec) = 0 then
     begin
      repeat
        if (SearchRec.Attr and faDirectory) = faDirectory then
        begin
         if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then
           GetFiles(Path + SearchRec.Name + '\');
           end
        else begin
        Form1.Memo1.Lines.Add(Path + SearchRec.Name);
        a:=a+1;
        Refresh;
        Application.ProcessMessages;
        ProgressBar1.StepIt;
        end;
      until
        FindNext(SearchRec) <> 0;
      FindClose(SearchRec);
     end;
     ProgressBar1.Position:=0;
     Label1.Caption:=IntToStr(a) +' Dateien gescannt';
end;
end.
sogar gestestet!


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:05 Uhr.
Seite 1 von 3  1 23      

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