Veröffentlicht 19. Januar 201015 j 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
19. Januar 201015 j Das sind zwei Teilaufgaben: 1) rekursive (Unterverzeichnisse) Liste der RTF-Dateien: C# - Alle Dateien eines Ordners auflisten - C# Version - 2) RTF-Datei laden -> RichEdit Control: RichTextBox-Klasse (System.Windows.Forms) Hier sind die Methoden LoadFile() und Find() Dein Freund
19. Januar 201015 j Autor 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
19. Januar 201015 j 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.
19. Januar 201015 j Autor ahh okay, dann teste ich dies mal doch nun schon das nächste problem "find()" kennt er bei mir gar nicht, woran kann dies liegen?
19. Januar 201015 j doch nun schon das nächste problem "find()" kennt er bei mir gar nicht, woran kann dies liegen?Daran, dass die Methode Find heißt? Groß-/Kleinschreibung ist relevant.
19. Januar 201015 j Autor 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
19. Januar 201015 j 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.
19. Januar 201015 j Autor Okay danke, dann werd ich mal weiter googeln müssen, mal schauen ob ich irgendwie was passendes finde. Denn irgendwie verstehe ich das alles nich so richtig.
19. Januar 201015 j 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.
19. Januar 201015 j Autor 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 19. Januar 201015 j von Firzeen
19. Januar 201015 j Autor 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?
19. Januar 201015 j Was will er mir damit sagen?Dass du deinen Code nicht einfach irgendwohin schreiben sollst, sondern in Methoden von Klassen.
19. Januar 201015 j Autor Okay gut zu wissen, kannst du mir auch verraten wo das hingeschriebn werden muss? Verdammt gut das ich nicht Anwendungsentwicklung lerne:D
19. Januar 201015 j 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.
19. Januar 201015 j Autor 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!
19. Januar 201015 j 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?
19. Januar 201015 j Autor 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!
19. Januar 201015 j @Firzeen: Jemand soll deine Arbeit machen? Kriegt er dann auch dein Geld? 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
21. Januar 201015 j Ich werd dir mal ausnahmsweise n projekt zur orientierung erstellen und es per anhang reinstellen. hab grad nur recht wenig zeit.....
21. Januar 201015 j Autor 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
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.