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

-Suchfunktion-Dateien und Ordner namen abgleichen

  Alt 12. Nov 2007, 14:58
hi leutz^^

also ich hab es jetzt hinbekommen dass alle dateien und ordner -namen in nem stringgrid angezeigt werden.
nur mein problem ist ich brauch noch ne suchfunktion die mir die dateinamen aufgibt zu dem es einen ordner gibt^^

k is iwi doof aber ich brauch das so^^,...also es soll nur geschaut werden ob auf der hdd eine datei(*.exe) existiert und ob es dazu einen ordner gibt der genauso heisst^^

beispiel:
es wird die datei als match gefunden c:\data\files\1234.exe heisst, und auf der hdd ist unter c:\dokumente\1234\ ein ordner der zum namen passt^^

ich hoffe ich hab ich so ausgedrueckt dass es verstaendlich ist,...^^

btw ich denke es ist einfacher das in nem stringgrid abzuwickeln,...wenn jemand aber ne bessere idee hat bin ich fuer alles offen

thx im vorraus leutz

da o0o
(_/marabu-fan inside\_)
[-\_______________/-]
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.155 Beiträge
 
Delphi 12 Athens
 
#2

Re: -Suchfunktion-Dateien und Ordner namen abgleichen

  Alt 12. Nov 2007, 15:05
mit Delphi-Referenz durchsuchenChangeFileExt kannst du ganz einfach die Dateiendung entfernen und dann schaust du einfach nur noch nach ob es dieses Verzeichnis gibt.

wenn du keine neue Dateierweiterung angibst, dann wird die alte sozusagen entfernt:
AlsVerzeichnisname := ChangeFileExt(Dateiname, '') + '\';
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
stifflersmom

Registriert seit: 8. Dez 2005
Ort: 24994 Holt
374 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: -Suchfunktion-Dateien und Ordner namen abgleichen

  Alt 12. Nov 2007, 15:16
Zitat von o0o:
k is iwi doof
Was soll das heißen?

Moin
  Mit Zitat antworten Zitat
Benutzerbild von o0o
o0o

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

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
stifflersmom

Registriert seit: 8. Dez 2005
Ort: 24994 Holt
374 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: -Suchfunktion-Dateien und Ordner namen abgleichen

  Alt 12. Nov 2007, 15:27
Zitat von o0o:
@stifflersmom
="ok ist irgendwie doof",...besser?^^
Für mich auf jeden Fall verständlicher.

Aber zu Deinem Problem:
Wie wäre es wenn Du zwei Tabellen (Datenbank) benutzt um einmal die Verzeichnisnamen und einmal Deine Dateinamen aufzunehmen.
Dann könntest Du mit hilfe dieser beiden Tabelen wesentlich schneller die Übereinstimmungen finden, und müsstest nicht diese Datei-Verzeichnissuche übder Festplatte zig-mal starten.

Moin
  Mit Zitat antworten Zitat
Benutzerbild von o0o
o0o

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

Re: -Suchfunktion-Dateien und Ordner namen abgleichen

  Alt 12. Nov 2007, 15:44
ehm joar das mit der datenbank is denk ich mal keine so schlechte idee^^
aber was fuer eine DB? ich hab mit denen nich all zu viel ahnung und erfahrung und daher will ich nich mit firebird etc rumfuchteln^^

ne txt datei wuerde es doch auch bringen oder passt das mit der performance nich?^^

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 14:13 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