Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   Suchen IN Dateien (https://www.delphipraxis.net/22873-suchen-dateien.html)

fkerber 25. Mai 2004 20:12

Re: Suchen IN Dateien
 
HI!

:love: :dp: :love:

Iss das ein tolles Forum :thuimb:
Eure Tipss sind echt klasse.

Hat alles funktioniert, danke.

Kann mir evtl. auch noch jemand den Code erklären?
Wäre super.

Ciao fkerber

MathiasSimmack 25. Mai 2004 20:58

Re: Suchen IN Dateien
 
Du brauchst eine Erklärung dafür? :shock: Das ist doch fast wie Delphi.

Zitat:

Zitat von MathiasSimmack
Code:
Const strSearchKey = "HKCR\%1\PersistentHandler\"
Const strSearchVal = "{5e941d80-bf96-11cd-b579-08002b30bfeb}"
Const strFilterPath = _
  "HKLM\SYSTEM\CurrentControlSet\Control\ContentIndex\FilterFilesWithUnknownExtensions"

Die Konstanten, auf die zugegriffen wird.

Zitat:

Code:
Dim strTypes
strTypes = Array(".xml", _
   ".xsl", _
   ".xsd", _
   ".dtd", _
   ".htm", _
   ".html", _
   ".shtml", _
   ".php")

Das Array mit den Dateitypen. Kannst du gern erweitern.

Zitat:

Code:
' Der Unterstrich am Ende der obigen Zeilen ist eine Anweisung
' für den Interpreter, dass es in der jeweils nächsten Zeile
' weitergeht. Ansonsten wäre eine Fehlermeldung die Folge!

Das ist eine Anmerkung von mir direkt als Kommentar im Skriptcode. :mrgreen:

Zitat:

Code:
Dim Sh
Set Sh = CreateObject("WScript.Shell")

Hier wird das "WshShell"-Objekt erzeugt, damit auf die Registry zugegriffen werden kann. Dass es im Code "WScript.Shell" heißt, ist kein Fehler.

Zitat:

Code:
Dim strCurrentType
For Each strCurrentType in strTypes
   strCurrentType = Replace(strSearchKey, "%1", strCurrentType)
   Sh.RegWrite strCurrentType, strSearchVal
Next

In der Schleife wird jede der Dateiendungen aus dem o.g. Array ausgelesen. Die Konstante "strSearchKey" wird als Grundlage genommen, wobei das "%1" durch den aktuellen Dateityp (sprich: die aktuelle Endung aus dem Array) ersetzt wird.
btw: Der Backslash am Ende von
Code:
Const strSearchKey = "HKCR\%1\PersistentHandler\"
bedeutet, dass auf den Standardwert des Schlüssels zugegriffen wird. In dem Fall wird die Konstante "strSearchVal" (die GUID, s. Deklaration) eingetragen.

Zitat:

Code:
Sh.RegWrite strFilterPath, "1", "REG_DWORD"

Und hier wird der Wert in die Registry geschrieben, den ich in meinem Posting von ... tja, irgendwie sehe ich die Uhrzeit gerade nicht ... erwähnt habe ...

Im Prinzip nichts Außergewöhnliches. Kann man mit Delphi problemlos nachbilden. Aber wozu? Für solche Kleinigkeiten ist VBS ganz nützlich. ;)

fkerber 25. Mai 2004 21:04

Re: Suchen IN Dateien
 
Hi!

Danke, aber an sich hatte ich mehr die Funktionsweise gemeint.
Wie kommst du hierauf?

Zitat:

Code:
Const strSearchVal = "{5e941d80-bf96-11cd-b579-08002b30bfeb}"

Ciao fkerber

MathiasSimmack 25. Mai 2004 21:09

Re: Suchen IN Dateien
 
Das ist die GUID, die in der besagten PC WELT erwähnt wurde. Sie gilt für Textdateien und lässt sich daher IMHO auch für andere Textdateitypen (wie eben PHP, XML, usw.) verwenden. Wird auch so in der Zeitschrift gesagt.

Und die Funktionsweise ... na ja, ich wusste auch nicht, was du erklärt haben wolltest. Ich finde es eigentlich recht einfach und hätte kein Problem, diesen Code nach Delphi umzusetzen. Und dann hättest du wahrscheinlich nicht nach der Funktionsweise gefragt. ;)

fkerber 25. Mai 2004 21:22

Re: Suchen IN Dateien
 
Hi!

Jetzt ist klar.
Mit Funktionsweise meinte ich nicht, was der Code an sich macht, sondern was er bewirkt.
Also was die Einträge machen.

Ciao Frederic


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:52 Uhr.
Seite 2 von 2     12   

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