AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Laufwerkinhalt in ein treeview?

Ein Thema von Amo · begonnen am 12. Mär 2007 · letzter Beitrag vom 21. Mär 2007
Antwort Antwort
Seite 1 von 2  1 2   
Amo

Registriert seit: 26. Okt 2005
82 Beiträge
 
Delphi 7 Enterprise
 
#1

Laufwerkinhalt in ein treeview?

  Alt 12. Mär 2007, 17:42
Hi coder

ich habe folgendes Problemchen: ich komme nicht drauf wie ich es schaffen könnte die Struktur oder den Inhalt zB meines C: Laufwerks in ein Treeview auszugeben. Ich möchte nähmlich ordner, unterordner und die dateien sehen können.
Dazu habe ich schon diesen Thread gefunden: Ordnerinhalt in eine Listbox , aber wirklich geholfen hat das nicht...
  Mit Zitat antworten Zitat
elundril

Registriert seit: 11. Feb 2007
Ort: Wien
74 Beiträge
 
#2

Re: Laufwerkinhalt in ein treeview?

  Alt 12. Mär 2007, 17:47
einfach ein laufwerk rekuriv durchsuchen. jedes mal wenn der Ordner aufgerufen wird ein neues Subitem aufrufen. und für jede Datei ein Item erstellen.

lg el
Michael
Bombing for peace is like fu**ing for virginity.
--------------
Tausend Lemminge können sich nicht irren.
  Mit Zitat antworten Zitat
Amo

Registriert seit: 26. Okt 2005
82 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Laufwerkinhalt in ein treeview?

  Alt 12. Mär 2007, 18:00
Hm... laufwerk durchsuchen klingt nicht gerade easy und mit aussortieren..
ich habe hier etwas möglicherweise hilfreiches gefunden. Könnte ich damit etwas erreichen für mein ziel?

Delphi-Quellcode:
procedure FindAllFiles(FileList: TStrings; RootFolder: string; Mask: string ='*'; Recurse: Boolean = True; AddFolderNames: Boolean = False; IgnoreMaskAtFolderNames: Boolean = True);
  procedure LFindAllFiles(AParentFolder: String);
  var LSearchRec: TSearchRec;
  begin
    if FindFirst(AParentFolder + '*', faAnyFile, LSearchRec) = 0 then
    begin
      repeat
        if (LSearchRec.Name <> '.') and (LSearchRec.Name <> '..') then
        begin
          if LSearchRec.Attr and faDirectory = faDirectory then
          begin
            if AddFolderNames and
               (IgnoreMaskAtFolderNames or Like(AnsiLowerCase(LSearchRec.Name), Mask)) then
              FileList.AddObject(AParentFolder + LSearchRec.Name, TObject(True));
            if Recurse then
              LFindAllFiles(AParentFolder + LSearchRec.Name + '\');
          end
          else if Like(AnsiLowerCase(LSearchRec.Name), Mask) then
            FileList.AddObject(AParentFolder + LSearchRec.Name, TObject(False));
        end;
      until FindNext(LSearchRec) <> 0;
      FindClose(LSearchRec);
    end;
  end;
begin
  Mask := AnsiLowerCase(Mask);
  LFindAllFiles(IncludeTrailingPathDelimiter(RootFolder));
end;
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Laufwerkinhalt in ein treeview?

  Alt 12. Mär 2007, 18:59
Hallo,

du könntest in deinem Programm auch einfach die Komponente TShellTreeView verwenden - einfach von der Palettenseite "Beispiele" auf deine Form ziehen und "C:\" als Root eintragen. Dann geht alles wie von selbst.

Grüße vom marabu
  Mit Zitat antworten Zitat
Amo

Registriert seit: 26. Okt 2005
82 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Laufwerkinhalt in ein treeview?

  Alt 12. Mär 2007, 19:22
Huyyy, coole Sache, diese Komponente kannte ich noch gar nicht

Jetzt nur noch eine Sache: wie kann ich das was angezeigt wird abspeichern, sodass ich es auf einem anderen PC sehen kann (wie es auf dem anderen war)? ist das möglich?
  Mit Zitat antworten Zitat
Benutzerbild von ghost007
ghost007

Registriert seit: 31. Okt 2005
Ort: München
1.024 Beiträge
 
Delphi 7 Personal
 
#6

Re: Laufwerkinhalt in ein treeview?

  Alt 12. Mär 2007, 19:31
nochmal wegen dem nach dateien "scanen" der code sollte auch gehn:
Delphi-Quellcode:
var
 count:integer

....

procedure GetAllFiles(mask: string);
var
  search: TSearchRec;
  directory: string;
begin
  directory := ExtractFilePath(mask);

  //alle dateien suchen
  if FindFirst(mask, $23, search) = 0 then
  begin
    repeat
      // add the files to the listbox
      Form1.ListBox1.Items.Add(directory + search.Name);
      Inc(Count);
    until FindNext(search) <> 0;
  end;

  //Unterverzeichnisse
  if FindFirst(directory + '*.*', faDirectory, search) = 0 then
  begin
    repeat
      if ((search.Attr and faDirectory) = faDirectory) and (search.Name[1] <> '.') then
        GetAllFiles(directory + search.Name + '\' + ExtractFileName(mask));
    until FindNext(search) <> 0;
    FindClose(search);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  directory: string;
  mask: string;
begin
  Count := 0;
  Listbox1.Items.Clear;

  directory := 'C:\temp\'; //verzeichnis, ab dem er suchen soll
  mask := '*.*';

  Screen.Cursor := crHourGlass;
  try
    GetAllFiles(directory + mask);
  finally
    Screen.Cursor := crDefault;
  end;
  ShowMessage(IntToStr(Count) + ' Files found');
end;
Nur der vollständigkeit halber

MfG - Ghost007
Christian
Es gibt möglich Dinge und unmöglich Dinge.
Für unmögliche braucht man lediglich etwas länger.
  Mit Zitat antworten Zitat
Amo

Registriert seit: 26. Okt 2005
82 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Laufwerkinhalt in ein treeview?

  Alt 12. Mär 2007, 19:45
Hey das ist cool! und ich kanns auch nachvollziehen
Finde ich guuut, da wird die struktur nähmlich auch klar mit den unterordnern!

fetten THANKS jetzt kanns weitergehen
  Mit Zitat antworten Zitat
Benutzerbild von ghost007
ghost007

Registriert seit: 31. Okt 2005
Ort: München
1.024 Beiträge
 
Delphi 7 Personal
 
#8

Re: Laufwerkinhalt in ein treeview?

  Alt 12. Mär 2007, 20:48
freut mich dir geholfen zu haben =)

viel spaß und glück

MfG - Ghost
Christian
Es gibt möglich Dinge und unmöglich Dinge.
Für unmögliche braucht man lediglich etwas länger.
  Mit Zitat antworten Zitat
Amo

Registriert seit: 26. Okt 2005
82 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Laufwerkinhalt in ein treeview?

  Alt 20. Mär 2007, 19:31
Yoooooo, ich bräuchte da noch einen kleinen tipp zur Erweiterung oder Änderung
nähmlich:
Was müsste ich da jetzt ändern wenn ich die versteckten dateien / ordner mit aufgelistet haben will?

nochmal danke im voraus
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: Laufwerkinhalt in ein treeview?

  Alt 20. Mär 2007, 19:42
Hallo,

hier etwas Hilfe zur Selbsthilfe: Die Delphi Online Hilfe zeigt dir für die Funktion FindFirst() zwei Dinge - welche Attribute du für die Suche verwenden kannst und wo (Unit SysUtils) du deren Deklaration findest. Beim Suchen nach Dateien verwendest du $23 als Attribut-Kombination, was soviel wie (faArchive or faHidden or faReadOnly) bedeutet. Welche Änderung du bei den Verzeichnissen noch machen musst, das findest du jetzt bestimmt selbst heraus - oder?

Grüße vom marabu
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:18 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