Autor Beitrag
Olex
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mo 18.06.07 10:07 
Hi ich würde gerne nkleines tool basteln im welchen ich nach ordnern suchen kann. SAgen wir ma an ich hab n text feld da gebe ich den Ordnernamen ein und dast ool sucht nach diesem verzeichniss und wenn es gefunden wird in ne listbox schreiben.

Ich weis aber nicht wie ich anfangen soll ich habe im forum schon was gefunden komme damit aber nicht klar. zB

www.delphi-forum.de/...hlight=ordner+suchen

das hab ich hier so zusammen geschustert

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);


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

var
  Form1: TForm1;

implementation

{$R *.dfm}
procedure SucheOrdner(OrdnerName, SuchPfad: String;  
  var ErgebnisListe: TStringList);
var
  SR: TSearchRec;
begin
  if  (Length(OrdnerName) > 0)
  and (AnsiLastChar(OrdnerName) <> '\'then
    OrdnerName := OrdnerName + '\';
  if FindFirst(SuchPfad + '*.*', faAnyFile, SR) = 0 then begin
    repeat
      if  (SR.Name <> '.')
      and (SR.Name <> '..'then begin
        if CompareText(SR.Name, OrdnerName) = 0 then
          ErgebnisListe.Add(SuchPfad + SR.Name);
        if (SR.Attr AND faDirectory) > 0 then
          SucheOrdner(OrdnerName, SuchPfad + SR.Name, ErgebnisListe);  
      end;  
    until FindNext(SR) <> 0;  
  end;  
  FindClose(SR);
end;

procedure TForm1.Button1Click(Sender: TObject);
var dieliste:TStringList;
 var ErgebnisListe:TStringList;
var i:integer;
begin

ErgebnisListe := TStringList.Create;
SucheOrdner(Edit1.Text,'c:\',dieliste);

For i:=0 to ErgebnisListe.Count-1 do
 ShowMessage(ErgebnisListe[i]);


end;

end.


kann mir da einer helfen
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Mo 18.06.07 10:58 
user profile iconOlex hat folgendes geschrieben:
Hi ich würde gerne nkleines tool basteln im welchen ich nach ordnern suchen kann. SAgen wir ma an ich hab n text feld da gebe ich den Ordnernamen ein und dast ool sucht nach diesem verzeichniss und wenn es gefunden wird in ne listbox schreiben.

Ich weis aber nicht wie ich anfangen soll ich habe im forum schon was gefunden komme damit aber nicht klar. zB

www.delphi-forum.de/...hlight=ordner+suchen

das hab ich hier so zusammen geschustert

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);


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

var
  Form1: TForm1;

implementation

{$R *.dfm}
procedure SucheOrdner(OrdnerName, SuchPfad: String;  
  var ErgebnisListe: TStringList);
var
  SR: TSearchRec;
begin
  if  (Length(OrdnerName) > 0)
  and (AnsiLastChar(OrdnerName) <> '\'then
    OrdnerName := OrdnerName + '\';
  if FindFirst(SuchPfad + '*.*',faAnyFile, SR) = 0 then begin //F1 drücken :) faDirectory gibt es auch :)
    repeat
      if  (SR.Name <> '.')
      and (SR.Name <> '..'then begin
        if CompareText(SR.Name, OrdnerName) = 0 then
          ErgebnisListe.Add(SuchPfad + SR.Name);
        if (SR.Attr AND faDirectory) > 0 then
          SucheOrdner(OrdnerName, SuchPfad + SR.Name, ErgebnisListe);  
      end;  
    until FindNext(SR) <> 0;  
  end;  
  FindClose(SR);
end;

procedure TForm1.Button1Click(Sender: TObject);
var dieliste:TStringList;
 var ErgebnisListe:TStringList;
var i:integer;
begin

ErgebnisListe := TStringList.Create;
SucheOrdner(Edit1.Text,'c:\',dieliste);

For i:=0 to ErgebnisListe.Count-1 do
 ShowMessage(ErgebnisListe[i]);


end;

end.


kann mir da einer helfen

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.