AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi -Suchfunktion-Dateien und Ordner namen abgleichen
Thema durchsuchen
Ansicht
Themen-Optionen

-Suchfunktion-Dateien und Ordner namen abgleichen

Ein Thema von o0o · begonnen am 12. Nov 2007 · letzter Beitrag vom 12. Nov 2007
Antwort Antwort
Benutzerbild von o0o
o0o

Registriert seit: 20. Jul 2007
Ort: am...,da wo die sonne nicht scheint!
166 Beiträge
 
Delphi 2007 Enterprise
 
#1

Re: -Suchfunktion-Dateien und Ordner namen abgleichen

  Alt 12. Nov 2007, 15:22
ich bitte um verzeihung^^,...ich habs nich im stringgrid sondern im treeview

mein bisheriger source:
Delphi-Quellcode:
//listed die drives
procedure List_Drives;
const
  DRIVE_UNKNOWN = 0;
  DRIVE_NO_ROOT_DIR = 1;
  DRIVE_REMOVABLE = 2;
  DRIVE_FIXED = 3;
  DRIVE_REMOTE = 4;
  DRIVE_CDROM = 5;
  DRIVE_RAMDISK = 6;
var
  r: LongWord;
  Drives: array[0..128] of char;
  pDrive: PChar;
begin
  r := GetLogicalDriveStrings(SizeOf(Drives), Drives);
  if r = 0 then Exit;
  if r > SizeOf(Drives) then
    raise Exception.Create(SysErrorMessage(ERROR_OUTOFMEMORY));
  pDrive := Drives;
  while pDrive^ <> #0 do
  begin
    if GetDriveType(pDrive) = DRIVE_FIXED then
      Form1.ComboBox1.Items.Add(pDrive);
    Inc(pDrive, 4);
  end;
end;


 //listed alles im tree-view
procedure GetDirectories(
  Tree: TTreeView;
  Directory: string;
  Item: TTreeNode;
  IncludeFiles: Boolean
);
var
  SearchRec: TSearchRec;
  ItemTemp: TTreeNode;
begin
  Directory := IncludeTrailingPathDelimiter(Directory);
  if FindFirst(Directory + '*.*', faDirectory or faReadOnly or faArchive, SearchRec) = 0 then
  begin
    repeat
      if Pos(SearchRec.Name, '..') = 1 then
        Continue else
      if (SearchRec.Attr and faDirectory = faDirectory) then
        GetDirectories(
          Tree,
          Directory + SearchRec.Name,
          Tree.Items.AddChildObject(Item, SearchRec.Name, Pointer(1)),
          IncludeFiles
        ) else
      if IncludeFiles then
        Tree.Items.AddChild(Item, SearchRec.Name);
    until FindNext(SearchRec) <> 0;
    FindClose(SearchRec);
  end;
end;


function TreeNodePath(node: TTreeNode; delimiter: Char = PathDelim): string;
begin
  if Assigned(node)
    then Result := TreeNodePath(node.Parent, delimiter) + delimiter + node.Text
    else Result := '';
end;


//zeigt die tree-list view an
procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
Caption := TreeNodePath(Node);//akt. makiertes element im treeview
driveletter := combobox1.Text;//combobox zum string
delete(driveletter, length(driveletter),2);//string kuerzen
label1.caption := driveletter+TreeNodePath(Node);//letter+path
end;

procedure TForm1.Button1Click(Sender: TObject);

var
  Node: TTreeNode;
  Path: string;
  Dir: string;
begin
  Dir := combobox1.text;
  Screen.Cursor := crHourGlass;
  TreeView1.Items.BeginUpdate;
  try
    TreeView1.Items.Clear;
    GetDirectories(TreeView1, Dir, nil, True);
  finally
    Screen.Cursor := crDefault;
    TreeView1.Items.EndUpdate;
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
List_Drives;//refresh fuer die drives
end;
also ok ich kann wie du es schreibst alle *.exe dateien vergleichen lassen,...aber wenn auf nem pc zb 1000 anwendungen oder mehr sind muessten dann doch auch 1000x gesucht werden oder?(wird denk ich mal lange dauern oder?)

gibts da noch was anderes was einfacher ist? oder wie wuerdet ihr das anstellen?


@stifflersmom
="ok ist irgendwie doof",...besser?^^

o0o
(_/marabu-fan inside\_)
[-\_______________/-]
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz