Klammerungsproblem

I-need-Help

Grünschnabel
Ich brauch hilfe bei folgendem Code in C#:
C#:
String Text = textBox1.Text;
            int Work;
            int Work2 = -1;

            String K1 = "{";
            String K2 = "}";

            String Plus = "+";
            String Zirum = "^";
            String Tilde = "~";
            String Klammera = "(";
            String Klammerz = ")";
            String RKlammera = "{";
            String RKlammerz = "}";
            String EKlammera = "[";
            String EKlammerz = "]";

            
            int i = 0;

            while (i < 1)
            {
                    Work = Text.IndexOf(Plus);
                    if (Work != Work2)
                    {
                        Text.Insert(Work, K1);
                        Text.Insert(Work + 1, K2);
                    }
                    Work = -1;

                    Work = Text.IndexOf(Zirum);
                    if (Work != Work2)
                    {
                        Text.Insert(Work, K1);
                        Text.Insert(Work + 1, K2);
                    }
                    Work = -1;

                    Work = Text.IndexOf(Tilde);
                    if (Work != Work2)
                    {
                        Text.Insert(Work, K1);
                        Text.Insert(Work + 1, K2);
                    }
                    Work = -1;

                    Work = Text.IndexOf(Klammera);
                    if (Work != Work2)
                    {
                        Text.Insert(Work, K1);
                        Text.Insert(Work + 1, K2);
                    }
                    Work = -1;

                    Work = Text.IndexOf(Klammerz);
                    if (Work != Work2)
                    {
                        Text.Insert(Work, K1);
                        Text.Insert(Work + 1, K2);
                    }
                    Work = -1;

                    Work = Text.IndexOf(RKlammera);
                    if (Work != Work2)
                    {
                        Text.Insert(Work, K1);
                        Text.Insert(Work + 1, K2);
                    }
                    Work = -1;

                    Work = Text.IndexOf(RKlammerz);
                    if (Work != Work2)
                    {
                        Text.Insert(Work, K1);
                        Text.Insert(Work + 1, K2);
                    }
                    Work = -1;

                    Work = Text.IndexOf(EKlammera);
                    if (Work != Work2)
                    {
                        Text.Insert(Work, K1);
                        Text.Insert(Work + 1, K2);
                    }
                    Work = -1;

                    Work = Text.IndexOf(EKlammerz);
                    if (Work != Work2)
                    {
                        Text.Insert(Work, K1);
                        Text.Insert(Work + 1, K2);
                    }
                    Work = -1;
                    i++;
            }
            

            System.Threading.Thread.Sleep(3000);
            SendKeys.Send(Text);
Es gibt immer einen Fehler, dass die Kalmmern nicht geschlossen wurden an der Sendkeys.Send Stelle wenn ich debugge. Ich hab gesehen, dass bei der Stelle wo die IndexOf-Methode eigendlich einen Wert zurückgeben sollte, keinen zurückgibt also wenn ich zb.("aa()") eingebe werden die Klammern von IndexOf nicht erkannt...
Außerdem will ich kein Programm damit steuern ich will einfach nur ausgeben was der User eingegeben hat und der User wird wolkaum {ENTER} ausdrücke eingeben sondern eher Klammern usw. deshalb wollte ich versuchen, das automatisch die {}-Klammern gesetzt werden, weil SenKeys es sonst nicht ausgibt.

DANKE IM VORRAUS******
 
Zuletzt bearbeitet:

sheel

I love Asm
Hi und Willkommen bei tutorials.de,

lies dir bitte mal durch Netiquette und verwende in Zukunft Codetags.

C# ist kein C++, verschoben.

Wie lautet die genaue Fehlermeldung?
Auf welche Zeile bezogen?
 

MCoder

Erfahrenes Mitglied
Hallo,

wann tritt der Fehler auf, beim Kompilieren oder zur Laufzeit? Falls du einen Laufzeitfehler bekommst, schaue dir den Inhalt von "Text" an, den du an SendKeys() übergibst (Debugger).
Wozu benöigst du SendKeys; welches Element deiner Anwendung willst du damit steuern?
Ansonsten: Deine while()-Schleife wird nie durchlaufen, wenn du i vorher auf 1 setzt. Sie könnte allerdings auch niemals wieder verlassen werden, wenn i nicht darin modifiziert wird.

Gruß
MCoder