PDF, Doc, Powerpoint Dokumente auf einen bzw mehrere Strings durchsuchen!?
-
Hi,
gibt es eine Möglichkeit eine Art Suche in C++ zu erstellen die in einem bestimmten Ordner alle PDF, Doc, Word Dokumente durchsucht und dann die Treffer in einer Liste ausgibt!?
Gruß
Sir Bandito
-
Ja, Stichworte:
FindFirst, FindNext und FindClose.MfG
xy
-
Damit kann ich die Dateien finden welche durchsucht werden sollen... Das Problem liegt mehr bei dem durchsuchen von der einzelnen Datei nach einem String....
-
Theoretisch könntest du die Dateien z.B. in eine TStringlist laden und dann mit deren bzw. den AnsiString-Methoden durchsuchen.
Praktisch sind diese Formate aber alles Binärdateien. TStringList und AnsiString akzeptieren nur ASCII-Text, Binärcode wird schnell als Steuerzeichen interpretiert und verhindert so das korrekte einlesen.
Schlimmstenfalls musst du sie also binär öffnen (fopen, TFileStream o.ä.) und byteweise durchsuchen.
-
Aua, also verdammt viel Arbeit
Der Sinn der Sache soll ein Archivierungstool sein für Dokumente die in der Schule geschrieben wurden... Sodass man wenn man was sucht das Programm direkt sagt wo man es findet... Aber wenn das echt soviel Arbeit ist dann *würg*
-
Meiner Meinung nach mußt du dies alles selber programmieren, weil es dazu keine fertigen Funktionen gibt.
Du könntest aber ein Suchprogramm die Suche für dich erledigen lassen. Es gibt ein Suchprogramm, das mit Borland Builder geliefert wird. Das Programm heißt "grep.exe", und kann in Dateien nach Zeichenketten suchen. Ihm wird in der Kommandozeile (DOS-Fenster) die zu suchende Zeichenkette und die in der zu suchenden Datei übergeben. Es schreibt das Ergebnis in einer Datei, die auch als Parameter übergeben wird. Diese Datei könntes du dann lesen und das Ergebnis ausgeben.
Du könntest dieses Programm von deinem Programm aus starten. Stichwort: CreateProcess oder ShellExecute.
MfG
xy
-
schonmal danke für die konstruktiven meinungen von jansen und xy
funzt das grep wie das grep unter linux?
-
Gib ma in der Kommandozeile: grep
Dann erhälst Du Hilfe zum Tool. Ansonsten steht auch eine ausführliche Beschreibung in der BCB-Hilfe.MfG
xy
-
Ich habe gerade mal grep getestet.... Ich kannte Grep von Linux her aber es war mir nicht möglich doc und pdf files zu durchsuchen....
-
Grep funktioniert zwar auch bei PDFs (grep mal nach 'PDF'), der Dokumenteninhalt selbst liegt aber offensichtlich nur in verschlüsselter/komprimierter Form vor.
Deshalb wird hier auch das binäre Einlesen nichts helfen.
-
argh....
-
Jansen schrieb:
Grep funktioniert zwar auch bei PDFs (grep mal nach 'PDF'), der Dokumenteninhalt selbst liegt aber offensichtlich nur in verschlüsselter/komprimierter Form vor.
Deshalb wird hier auch das binäre Einlesen nichts helfen.
Ja, du hast recht, Jansen. Selbst die Windows-Suche (nach enthaltenem Text) scheitert hier. Ich denke sie funktioniet nach dem selben Prinzip wie "grep.exe".
MfG
xy
-
Hallo,
für PDF-Dateien habe ich grad folgendes OpenSource Projekt gefunden
http://pdftohtml.sourceforge.net/
dieses erstellt aus einer PDF-Datei ein HTML Dokumentevtl. hilft dir der Code bzw. das Programm weiter...
[edit]
nachwas gefunden
http://www.searchtools.com/info/pdf.html
-
Und hier findest du ein Suche-Tool (Yo!Grep. A grep search utility, based on GExperts sources. Freeware) mit Source Code (in Delphi). Vielleicht gibt es dir eine Idee, wie so etwas programmiert wird.
MfG
xy
-
Super danke Leute!!!!!!!!!11