Zum Inhalt springen

C# *.rtf Dokumente durchsuchen


Empfohlene Beiträge

Geschrieben

Hallo,

ich bin neu hier im Forum. Ich weiß die Suche hat schon einiges zu diesen Thema ergeben doch mir leider nicht weitergeholfen.

Ich möchte in einem Ordner alle Dateien nach einem bestimmen Suchparameter übergeben, z.B. "Meier". Dann soll mir ausgegeben werden in welchen Dokumenten das Wort vorkomm. Leider weiß ich bis jetzt nicht wie, ich hoffe ihr könnt mir helfen!

Cheers

Firzeen

Geschrieben

Okay,das hab ich noch nich ganz verstanden, bin nich so bewandert was Programmierung angeht, muss dies leider für die Arbeit machen.

Wie sag ich dem Programm denn das es alle Dateien durchsuchen soll und mir zurück gibt wo der Suchparameter vorkommt?

Cheers

Firzeen

Geschrieben
Wie sag ich dem Programm denn das es alle Dateien durchsuchen soll und mir zurück gibt wo der Suchparameter vorkommt?
Gar nicht. Du ermittelst zuerst alle zu durchsuchenden Dateien, und dann durchsuchst du jede gefundene Datei einzeln nach deinem Suchparameter.
Geschrieben

Mal ganz doof gefragt ich will die Variable "string test="abcdefg";" durchsuchen nach z.B. c. Wie mache ich das mit Find?

Tut mir leid das ich so doof frag, aber vlei verstehe ich es ja so ;)

Geschrieben
Mal ganz doof gefragt ich will die Variable "string test="abcdefg";" durchsuchen nach z.B. c. Wie mache ich das mit Find?
Das hat nichts mit deinem Problem zu tun, weil du keine Strings durchsuchen willst, sondern RTF-Daten. In RTF-Daten sind Formatierungsanweisungen drin, die du beim Suchen natürlich ignorieren musst. Deswegen hat eine RTF-Suche nicht viel mit einer Suche in einem reinen String zu tun.
Geschrieben
Denn irgendwie verstehe ich das alles nich so richtig.:(
Wenn du deine Verständnisprobleme etwas konkretisieren könntest, könnte man dir besser helfen.

Der Grund, warum eine RTF-Suche nichts mit einer Stringsuche zu tun hat, ist der: Wenn eine RTF-Datei zum Beispiel das Wort "Hundkatzemaus" enthält, aber beispielsweise der "katze"-Teil eine andere Schriftart, -farbe oder -größe hat, wirst du in der Datei diesen Text nicht an einem Stück finden, weil dazwischen die Formatinformationen stehen. Deswegen bringt dir eine Stringsuche nichts.

Es gibt aber im .NET-Framework die Klasse RichTextBox, die du hier benutzen kannst. Die Klasse hat sowohl eine LoadFile-Methode als auch eine Find-Methode.

Geschrieben (bearbeitet)

Mhh leider kann ich mich nicht richtig ausdrücken da ich leider zu wenig verstehe.

Wie füge ich denn so eine RichTextBox ein? Denn bei Microsoft versteht ich das leider immer nich so richtig. Ist es möglich das du mir ein kleinen Beispiel schreibst wie man ein *rtf Dokument einließt denn irgendwie verstehe ich hier sonst die ganze Zeit nur Bahnhof. Ich will nich das du für mich die Arbeit machst doch ich würde es gern lernen.

Edit: Sorry hätte bei Micosofrt nur weiter scrollen müssen. ich versuchs mal danke!

Bearbeitet von Firzeen
Geschrieben

Mhhh bei mir bringt er da einen Fehler, er sagt:

Error 1 A namespace cannot directly contain members such as fields or methods c:\dokumente und einstellungen\p103623\eigene dateien\visual studio 2010\Projects\WebApplication4\WebApplication4\WebForm1.aspx.cs 11 5 WebApplication4
]

Error 2 Expected class, delegate, enum, interface, or struct c:\dokumente und einstellungen\p103623\eigene dateien\visual studio 2010\Projects\WebApplication4\WebApplication4\WebForm1.aspx.cs 11 25 WebApplication4

Was will er mir damit sagen?

Geschrieben

Hier ein kleines beispiel wie du nach verschiedenen Filetypen und bestimmten inhalten suchen kannst (ist recht variable gehalten):


private void search()


{


ArrayList arr = new ArrayList();

foreach (string file in IO.Directory.GetFiles(TextBox3.Text, "*." + Strings.Trim(TextBox2.Text), IO.SearchOption.AllDirectories)) 

// Die Textbox3 wird benutzt um den Suchpfad festzulegen.

// Die textbox2 wird benutzt um die Dateiendung festzulegen, nach der gesucht werden soll.

{

        IO.StreamReader wr = new IO.StreamReader(file);

        string inhalt = wr.ReadToEnd();

        if (inhalt.Contains(Strings.Trim(TextBox1.Text)))

// Die Textbox1 wird genutzt um nach spezifischen Inhalten zu suchen.

{

            arr.Add(file);

}


}

   System.Threading.Thread.Sleep(1000);

    for (int i = 0; i <= arr.Count - 1; i++) {

        ListBox1.Items.Add(arr(i));

//In die Listbox1 werden die Pfade aller gefundenen Dateien hineingeschrieben.

}


}

LG

Gateway

PS: Dann machste noch'n contextmenü für die Listbox. Mit nem Item "File öffnen" und machst eben dann noch sowas wie shell(selectedlistboxitem)....

Dann kannst die gefundenen Files auch direkt ausm programm öffnen.

Geschrieben

Sorry für die dumme Frage, doch wie füge ich das nu ein damit es geht? Also was muss ich da an Datein usw erstellen? Irgendwie raff ich hier nix..

Bin für jede Hilfe dankbar!

Geschrieben
Sorry für die dumme Frage, doch wie füge ich das nu ein damit es geht? Also was muss ich da an Datein usw erstellen? Irgendwie raff ich hier nix..

Bin für jede Hilfe dankbar!

Du erstellt ein Windows Form Projekt in C# .

Weißt du wie man controls in das form zieht oder eben erstellt?

Geschrieben

Nein weiß ich nich, wäre nett wenn du mir das erklären könntest!

Am einfachsten wäre ein einfacher Quelltext denn ich kopiere um das System zu verstehen, aber einer wo alles dabei ist der dann auch geht. Ohne viel zu ändern wo ich wieder was falsch machen kann! ;)

Geschrieben

@Firzeen: Jemand soll deine Arbeit machen? Kriegt er dann auch dein Geld? :D

Im Ernst: Such dir ein C# Einsteigerhandbuch (zum Kaufen oder auch kostenlosen Download gibt's da einige) und fang mit den Grundlagen an.

Wenn es DANN Probleme gibt - lass es uns wissen :)

Grüße Ripper

Geschrieben

Vielen Dank doch dies hat sich erledigt, kannst dir also die Arbeit sparen! Denn ein Arbeitskollege kahm heut wieder der mir dies erklären konnte. Trotzdem Vielen Dank an alle!:uli

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...