![]() |
Dateisuche - Stringuntersuchung
Hallo,
ich bin auf der Suche, nach einem Suchalgorithmus, der jeden Dateinamen untersucht, ob der zu suchende Ausdruck enthalten ist. Beispiel: Ich gebe als Suchbegriff "System" an und will, dass das Programm auch die Datei "System32.dll" findet. Bisher hab ich leider nur einen Suchalgorithmus, der die Datei als gefunden wiedergibt, wenn der Dateiname exakt dem Suchbegriff entspricht. Weiß jemand, wo ich so was finde??? Gruß |
Re: Dateisuche - Stringuntersuchung
Such mal nach POS()
|
Re: Dateisuche - Stringuntersuchung
![]() Aber sowas hätte man auch in der OH nachlesen können. :stupid: Zitat:
|
Re: Dateisuche - Stringuntersuchung
Hi,
Ich glaube, ein simples FindFirst/Next/Close mit system.* entspricht dem, was Stamper möchte. Der Titel hat mich an ein anderes Thema erinnert :P was ich hiermit vorstellen möchte. Dann bin ich auf der Suche nach einem FindFirst, bei dem ich mehrere unabhängige Dateinamensmasken angeben kann uns das mit zusätzlich alle Verzeichnisse (*.*) liefert, und das schneller als mein bisheriger Ansatz ist. Bisher suche ich nämlich nach *.* und, falls es eine Datei ist, prüfe den Rest nachträglich. Verzeichnisse werden gespeichert, um sie beim nächsten FindFirst zu verwenden. Ist so nämlich schon wesentlich schneller als eine Einzelsuche nach den jeweiligen Dateien kombiniert mit einer Einzelsuche nach allen Verzeichnissen. Mfg FAlter |
Re: Dateisuche - Stringuntersuchung
Liste der Anhänge anzeigen (Anzahl: 2)
Moin,
@FAlter Genial! Dass ich da nicht selber drauf gekommen bin. So musste man ja früher auch in der Windowssuche arbeiten, wenn man keinen exakten Dateinamen hatte. Es funktioniert auch soweit, wenn ich hinter den Dateinamen in der Memo-Komponente zusätzlich den Stern mit eintrage. Aber ich habe jetzt mal folgendes gemacht:
Delphi-Quellcode:
Hab mir gedachtk, das ist etwas benutzerfreundlicher.
For i := 0 to Memo1.Lines.Count-1 do
begin Suchobjekt := Memo1.Lines[i]; If not CheckBox1.Checked then begin Suchobjekt := '*' + Suchobjekt + '*'; end; GetFilesInDirectory(Edit1.Text, Suchobjekt, clbSuchergebnisse.Items, True); end; Ich habe das Projekt mal im Anhang hochgeladen. Würde mich freuen, wenn ihr euch das mal anschaut und mir Rückmeldungen gebt. Aber erwartet nicht zu viel. Ich hab nur etwas Programmierung in der Schule gehabt. Das Programm hat auch noch etwas, was mich stört - ich beschreib mal kurz die Funktion des Programmes: Man kann eine Liste von Dateien in das Memo-Feld eintragen und danach wird dann im Wahlverzeichnis gesucht. Die gefundenen Dateien werden aus dem Memo entfernt und in einer Checklistbox aufgeführt und markierte Dateien können in ein Wahlverzeichnis kopiert werden. So, ich hatte ja danach gefragt, dass man auch Dateien findet, von denen man nicht den exakten Dateinamen angibt. Das Problem ist gelöst. Aber das Programm geht hin und vergleicht am Ende Suchergebnisse mit zu suchenden Objekten, um die gefundenen Objekte aus dem Memo zu entfernen. Wenn ich jetzt aber nur den ungefähren Dateinamen habe, findet er die gefundene Datei aber nicht mehr im Memo - hoffe, dass war jetzt nicht zu umständlich.^^ Also wie gesagt: würd mich über Rückmeldung freuen, aber erwartet nicht zu viel - es ist mein erstes richtiges Programm. Gruß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:17 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