Announcement

Collapse
No announcement yet.

Werte aus Textbox scheinen ungültig zu sein

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Werte aus Textbox scheinen ungültig zu sein

    Hallo an alle,

    vorab: Ich sitze nun 8 Stunden vor einem Problem, das ich gleich näher beschreiben werde. Weder Google noch die Forensuche oder mein Gehirn halfen weiter.

    Kurz zum Project: Es geht darum ein Messenger zu programmieren.

    Mein Problem: Es lässt sich am besten mit Code beschreiben:

    Dieser Code funktioniert nicht:

    Code:
    "<imsl><login><username>" + tbUserName.Text + "</username><userpassword>" + tbUserPassword.Text + "</userpassword></login></imsl>"
    Dieser funktioniert:

    Code:
    "<imsl><login><username>UserName</username><userpassword>UserPassword</userpassword></login></imsl>"
    Meine Frage: Warum nimmt er nur hardcodierten Code an und warum nicht den aus der Textbox?

    Fehlermeldung: Leider keine!

    Mit freundlichen Grüßen _Sascha_

    PS: Der ganze Code der dahinter steckt ist leider zu groß um ihn hier zu posten... Aber das Problem sollte klar sein.

  • #2
    Lass Dir doch mal ausgeben was in tbUserName.Text steht bevor Du das in den String einfügst. Dann siehst Du ja ob das falsch ausgewertet wird oder nicht.

    Am Besten so:

    [highlight=c#]
    String UserName = tbUserName.Text;
    String UserPassword = tbUserPassword.Text;

    String LoginString = "<imsl><login><username>" + UserName + "</username><userpassword>" + UserPassword + "</userpassword></login></imsl>";

    MessageBox.Show("UserName: " + UserName + "\n" +
    "UserPassword: " + UserPassword + "\n" +
    "Name Textbox: " + tbUserName.Text + "\n" +
    "Pass Textbox: " + tbUserPassword.Text + "\n" +
    "LoginString: " + LoginString);
    [/highlight]

    Wenn Du eine MaskedTextBox verwendest achte darauf die richtige Property abzufragen um nicht "******" als String zu erhalten, sonden das was der Benutzer eingegeben hat.

    Comment


    • #3
      Leider stimmen alle Inhalte. Das ist ja auch das was ich nicht verstehe. Es muss doch das gleiche sein ob ich einen string aus einer Textbox habe oder ob ich einen "direkten" String habe, oder?

      EDIT:

      PS: Vielen dank für die schnelle Antwort.

      Comment


      • #4
        Eigentlich sollte das gleichwertig sein, ja. Versuche doch mal herauszufinden wo die beiden Strings oben unterschiedlich sind.
        Anscheinend erzeugst Du Dir diesen ja zur Laufzeit... also einfach mal irgendwo ausgeben bzw. mit dem debugger hinzusteppen

        Comment


        • #5
          Ich verstehe leider nicht genau was du meinst. Könntest du bitte es mir nochmal erklären?

          Ich versende meine Daten mit System.Text.Encoding.Default.GetBytes(<XMLCode>). Kann es sein das da was schief geht?

          Comment


          • #6
            vielleicht so? Ist nur eine andere Art des zusammensetzens aber vielleicht geht es dann. Oder Setzte UserNamen und Passwort dnan mal hart per Code aber setze den String manuell zusammen. Dann siehst du ob es an den Textboxen und deren Auswertung liegt oder an etwas andrem.
            [highlight=C#]
            String UserName = tbUserName.Text;
            String UserPassword = tbUserPassword.Text;
            String LoginMask = "<imsl><login><username>{0}</username><userpassword>{1}</userpassword></login></imsl>";

            String LoginString = String.Format(LoginMask,UserName,UserPassword);
            [/highlight]
            Unsere Jugend ist unerträglich, unverantwortlich und entsetzlich anzusehen! - Aristoteles

            Comment


            • #7
              Sehr gute Idee. Vielen Dank. Leider geht es auch nicht. Ich vestehe es einfach nicht, so ein merkwürdiges Problem hatte ich noch nie.

              Und ja wenn ich es wieder hardcodiert einsetzte geht es wieder...

              Habt Ihr sonst noch Vorschläge/Gedankenansätze?

              Comment


              • #8
                Habe gerade noch herausgefunden, dass er "kurz" Eingaben in der Textbox verarbeiten kann(also zum Beispiel als Nutzer: Name und als Passwort: pw).

                Ich weis nicht wie wesentlich das ist aber jetzt wisst Ihr es. Aber warum kann er dann keine langen verarbeiten ich versteh es einfach nicht.

                Comment


                • #9
                  Was macht er denn, wenn Du einen längeren Benutzernamen eingibst und folgendes aufrufst:

                  Code:
                  String UserName = tbUserName.Text;
                  String UserPassword = tbUserPassword.Text;
                  Wenn es da schon nicht funktioniert, dann ists was am Control. Wenn in UserName trotzdem der volle Name steht, dann ists etwas beim Verknüpfen der Strings.

                  Comment


                  • #10
                    Okay dann ist es was bei der Verknüpfung der Strings, denn der volle Name steht drin.

                    Aber was soll an der Verknüpfung der Strings falsch sein, bzw. was meinst du damit?

                    Comment


                    • #11
                      Naja... Du fängst mit einem "Irgendein Text" an. Evtl. hängt es ja da. Sprich der Typ dem "Irgendein Text" entspricht unterstützt nur eine gewisse Anzahl Zeichen oder sowas. Versuch doch mal mit dem StringBuilder deinen Text zusammen zu basteln. Einfach immer mit Append den gewünschten Text anhängen. Das sollte eigentlich klappen.

                      Comment


                      • #12
                        Habe ich probiert, danke. Geht aber leider auch nicht ich versteh die Welt nicht mehr.

                        Wenn Ihr noch Tipps habt meldet euch bitte. Ansonsten melde ich mich wenn ich den Fehler noch finden sollte.

                        Comment


                        • #13
                          ooookkkk... das ist dann aber sehr sehr merkwürdig. Eventuell könntest Du das Projekt mal irgendwo hochladen, damit man sich das mal ansehen kann. Das würde mich jetzt aber auch interessieren.

                          Comment


                          • #14
                            Gelöst

                            Hallo Miteinander,

                            danke an alle die Sich Gedanken zu meinem Problem gemacht haben.

                            Ich habe falsche Schlüsse aus meinem Fehler gezogen und es lag nicht an der Textbox. Dies weis ich, da sich fanderlf bereit dazu erklärt hat, mir direkt über ICQ zu helfen !

                            Ich möchte euch und dem ganzen Forum danken!

                            Der Thread kann geclosed werden.

                            Danke und Gruß Sascha

                            PS: Es lag an dem Server der die Daten, warum auch immer nicht verarbeitet hat.

                            Comment

                            Working...
                            X