Text zur Laufzeit durchsuchen

Diskutiere Text zur Laufzeit durchsuchen im .NET Technology Forum; Hallo, ich möchte mir soetwas in der Art basteln: RegExr: Learn, Build, & Test RegEx Also eine kleines Programm, mit dem ich "live" (also...

  1. Saheeda
    Saheeda Aktives Mitglied
    Hallo,

    ich möchte mir soetwas in der Art basteln:
    RegExr: Learn, Build, & Test RegEx

    Also eine kleines Programm, mit dem ich "live" (also ohne weiteren Buttonklick) einen Text anhand eines eingegebenen RegEx durchsuchen kann.

    Problem 1:
    Implementierung der Live-Suche

    Problem 2:
    Das Highlighten.


    Meine Idee:
    Ich habe einen Timer eingebaut, der die Funktion CheckForRegex ausführt.
    Leider scheint er die RegEx nicht zu erkennen, jedenfalls passiert nichts, wenn ich das Programm ausführe.

    Desweiteren weiß ich nicht, wie ich das Highlighten implementieren kann. Ich arbeite noch nicht so lange mit WPF. Im TextBox-Menü finde ich zwar die Eigenschaft TextDecoration, aber die gilt ja anscheinend für die komplette Textbox und lässt sich nicht nur auf einzelne Zeichen anwenden.

    Code (Text):

    public partial class Window1 : Window
        {
            public Window1()
            {
                InitializeComponent();
                tbDisplay.Text = tbText.Text;
                System.Windows.Threading.DispatcherTimer timer = new System.Windows.Threading.DispatcherTimer();

                timer.Interval = TimeSpan.FromSeconds(0.5);
                timer.Tick += CheckForRegex;
                timer.Start();
            }


            private void CheckForRegex(object sender, EventArgs e)
            {
                string textIn = tbText.Text;

                char[] regex = tbRegEx.Text.ToCharArray();

                string[] splitted = textIn.Split(regex);

                for (int i = 0; i < splitted.Length; i++)
                {
                    if (splitted[i].Equals(textIn[i]))
                    {
                        tbDisplay.Text += splitted[i];

                    }
                }
            }
        }
     


    Achja:
    Ich hatte bisher im Debugger immer ein Fenster, in dem ich schrittweise verfolgen konnte, was mit den Variablen/Objekten passiert. Das habe ich versehentlich weggeklickt und weiß jetzt nicht mehr, wo ichs wiederhole :-/
    Edit: Ich arbeite mit Visual C# 2008.
     
    Zuletzt bearbeitet: 9. Aug. 2014
  2. Vielleicht hilft dir dieser Kurs hier weiter --> (hier klicken)
  3. HarleyDavidson
    HarleyDavidson Mitglied
    Also wenn es hier um Java ginge, könnte ich dir ohne Probleme schnell helfen.

    Aber mit C# bist du hier leider nicht im richtigen Forum gelandet ...
     
  4. Joose
    Joose Super-Moderator Mitarbeiter
    Dein Idee mit dem Timer ist zu kompliziert und verzögert das Ganze immer um eine gewisse Zeit.
    Warum verwendest du nicht das TextChanged Event der TextBox?
    Dann kannst du auf den geänderten Text direkt dein Regex anwenden.

    Dazu gibt es im Internet genügend Materia: C# WPF Text Highlighting

    Wenn du im Debug Modus bist gibt es im Menü einen Punkt "Debuggen"->"Fenster" und dort gibt es die unterschiedlichsten Fenster für den Debug Modus ich glaube "Überwachen" ist dein gesuchtes.
     
Die Seite wird geladen...

Text zur Laufzeit durchsuchen - Ähnliche Themen

JTextField zur Laufzeit auf Eingaben prüfen
JTextField zur Laufzeit auf Eingaben prüfen im Forum AWT, Swing, JavaFX & SWT
JTextArea während der Laufzeit füllen
JTextArea während der Laufzeit füllen im Forum AWT, Swing, JavaFX & SWT
Text in JTextField und JTextArea zur Laufzeit ändern
Text in JTextField und JTextArea zur Laufzeit ändern im Forum AWT, Swing, JavaFX & SWT
Text einer JComboBox während der Laufzeit ändern ?
Text einer JComboBox während der Laufzeit ändern ? im Forum Java Basics - Anfänger-Themen
Inhalt JTextField zur Laufzeit ändern.
Inhalt JTextField zur Laufzeit ändern. im Forum AWT, Swing, JavaFX & SWT
Thema: Text zur Laufzeit durchsuchen