"im" PRG von einem ZIP File suchen

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

"im" PRG von einem ZIP File suchen

Beitrag von AUGE_OHR »

ich habe es aus einem anderen Thread mal rausgenommen und stelle hier noch mal die Frage
HaPe hat geschrieben:
nun habe ich auch ZIP Dateien wo ich mit dem TC "inside" suchen kann.
Frage : wie kann man so was mit Xbase++ simulieren ?
Eine ZIP-DLL wie zb. ZLib.dll zum "Listen" des Zip-Inhaltes verwenden 8)
mit dem Total Commander "suche" ich mit ALT-F7 nach *.PRG "in" ZIP Files nach einem Begriff. das geht schnell =D>

wenn ich das nun unter Xbase++ "simulieren" will muss ich zunächst die *.PRG temporär entpacken und kann dann nach dem Begriff suchen.

Code: Alles auswählen

// Dummy Code

   aList := XbUnzipList(cFile, "*.PRG")
   iMax := LEN(aList)
   FOR i := 1 TO iMax
      cDatei := XbUnZipFile(aList[i])
      IF Begriff $ cDatei
          AADD(aTreffer,cDatei)
      ENDIF
   NEXT
geht das irgendwie "schneller" ?
gruss by OHR
Jimmy
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: "im" PRG von einem ZIP File suchen

Beitrag von Tom »

Mal ins Blaue gedacht: Was ist, wenn man den Suchbegriff komprimiert und danach sucht? ZIP ist ja linear und nichtprogressiv, aber ob das bis auf die Datenebene herabreicht, weiß ich nicht.
Herzlich,
Tom
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: "im" PRG von einem ZIP File suchen

Beitrag von Herbert »

Systemsteuerung, Explorer-Optionen, Tab "Suchen". Die Option "Komprimierte Dateien (.ZIP, .CAB usw.) einbeziehen" wählen...
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: "im" PRG von einem ZIP File suchen

Beitrag von Wolfgang Ciriack »

Hallo Herbert,
das ist aber nicht unter XBase++ :roll:
Viele Grüße
Wolfgang
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: "im" PRG von einem ZIP File suchen

Beitrag von Werner_Bayern »

Code: Alles auswählen

aeval(aList, {|x|cDatei := XbUnZipFile(x), if(cBegriff $ cDatei, aadd(aTreffer, cDatei), )})
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: "im" PRG von einem ZIP File suchen

Beitrag von Koverhage »

Nachdem dies ja ab Windows 7 als fast normaler Ordner behandelt wird, muss das doch auch mit ganz normalen Systemaufrufen funktionieren, notfalls per DLL-Call.
Jimmy war wohl schon ein wenig müde, sonst hätte er die Lösung hier präsentiert ;-)
Gruß
Klaus
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: "im" PRG von einem ZIP File suchen

Beitrag von Tom »

Auch Windows (bzw. der Explorer) entpackt temporär, wenn man an die Inhalte will. So, wie das der Total Commander und andere Tools machen. Bereits entpackte Inhalte (erste Suche) werden gespeichert, weshalb Folgesuchen meistens drastisch schneller sind.

Das Zippen erzeugt komprimierte Inhalte und eine Art Dateverzeichnis im Header und Footer der Datei. Der Inhalt dazwischen ist nichtlinear komprimiert. "Max Mustermann" und "Max Meier" erzeugen im Datenbereich zunächst relativ ähnliche Inhalte, aber diesen ähnlichen Bereich findet man in "Hans-Max Meier" schon nicht mehr wieder. Deshalb dürfte die Idee ins Leere laufen, z.B. "Max" zu zippen (also aus einer gezippten Datei, in der nur "Max" steht, den Bereich zwischen Header und Footer zu extrahieren) und nach dem gezippten Text zu suchen, um in gezippten Dateien "Max" zu finden.
Herzlich,
Tom
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: "im" PRG von einem ZIP File suchen

Beitrag von Herbert »

Lieber Wolfgang, genau das wollte ich indirekt andeuten, was Tom ausgedeutscht hat...
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: "im" PRG von einem ZIP File suchen

Beitrag von Koverhage »

Wenn man hier im Forum nach Zip komprimierter Ordner sucht, findet man auch was.
Gruß
Klaus
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: "im" PRG von einem ZIP File suchen

Beitrag von AUGE_OHR »

das Thema ist wohl nicht neu ...

hier Open Source Projecte
https://sourceforge.net/projects/search ... =directory
http://dngrep.github.io/

oder solche Freeware
https://www.fileseek.ca/Compare/

@Herbert : der Windows Index ist schon interessant aber normal auf "Benutzer" Verzeichnisse sowie Outlook begrenzt.
Indizierungsoptionen.jpg
Indizierungsoptionen.jpg (60.22 KiB) 4813 mal betrachtet
wenn man allerdings eine (kleine) SSD hat wird man sich schon überlegen ob man den Suchindex überhaupt aktiviert.

ich müsste zumindest mein \ALASKA Verzeichnis in den Windows Index mit aufnehmen und "alles indizieren" um zu suchen.
alles_Indizieren.jpg
alles_Indizieren.jpg (78.7 KiB) 4813 mal betrachtet
@Wolfgang : klar Xbase++ hat (bislang) leider keinen Zugriff auf den Windows-Index ... aber was wäre wenn ...

angenommen man möchte den Suchindex bzw. die "EDB"*** Datenbanken wie

Code: Alles auswählen

c:\ProgramData\Microsoft\Search\Data\Applications\Windows\Windows.edb
*** http://www.edbsearch.com/windows_edb.html
nutzen dann müsste man sich zunächst die API zu "esent.dll" ansehen um Zugriff auf die "Extensible Storage Engine (ESE)" zu bekommen
http://www.edbsearch.com/ese.html

eine EDB Viever habe ic hier gefunden
http://www.nirsoft.net/utils/ese_database_view.html

damit er auch "in" Word / Excel etc sucht benötigt man wohl ein "Microsoft Office xxxx Filter Packs"
hier für 2010 und ältere Version (97-2003, 2007)
https://www.microsoft.com/de-DE/downloa ... x?id=17062
gruss by OHR
Jimmy
Antworten