Das Forentreffen 2018 findet am 20./21. April in Dresden statt. Weitere Infos hier
Zur Homepage des Deutschsprachige Xbase-Entwickler e. V.
Xbase++-Wiki des Deutschsprachige Xbase-Entwickler e. V.

"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: 10520
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

"im" PRG von einem ZIP File suchen

Beitrag von AUGE_OHR » Di, 03. Jan 2017 20:57

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: 6792
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Kontaktdaten:

Re: "im" PRG von einem ZIP File suchen

Beitrag von Tom » Mi, 04. Jan 2017 8:20

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: 1810
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Kontaktdaten:

Re: "im" PRG von einem ZIP File suchen

Beitrag von Herbert » Mi, 04. Jan 2017 8:24

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: 2282
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Kontaktdaten:

Re: "im" PRG von einem ZIP File suchen

Beitrag von Wolfgang Ciriack » Mi, 04. Jan 2017 8:48

Hallo Herbert,
das ist aber nicht unter XBase++ :roll:
Viele Grüße
Wolfgang

Benutzeravatar
Werner_Bayern
Programmier-Gott
Programmier-Gott
Beiträge: 1280
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern

Re: "im" PRG von einem ZIP File suchen

Beitrag von Werner_Bayern » Mi, 04. Jan 2017 12:30

Code: Alles auswählen

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

Werner

Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1958
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Kontaktdaten:

Re: "im" PRG von einem ZIP File suchen

Beitrag von Koverhage » Mi, 04. Jan 2017 13:03

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: 6792
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Kontaktdaten:

Re: "im" PRG von einem ZIP File suchen

Beitrag von Tom » Mi, 04. Jan 2017 13:25

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: 1810
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Kontaktdaten:

Re: "im" PRG von einem ZIP File suchen

Beitrag von Herbert » Mi, 04. Jan 2017 16:59

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: 1958
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Kontaktdaten:

Re: "im" PRG von einem ZIP File suchen

Beitrag von Koverhage » Do, 05. Jan 2017 7:50

Wenn man hier im Forum nach Zip komprimierter Ordner sucht, findet man auch was.
Gruß
Klaus

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 10520
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: "im" PRG von einem ZIP File suchen

Beitrag von AUGE_OHR » Do, 05. Jan 2017 8:12

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) 403 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) 403 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