Zahlen erkennen ?????



  • Wenn ich in Edit1 eine Zahl eingebe und OK drücke, soll diese Zahl in Memo1 erscheinen. Aber bei mir funzt es nicht so richtig.

    Kann mir da jemand helfen ???? 😕

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    double zahl1;
    
    if (Edit1->Text == zahl1)
    {
      Memo1->Text = zahl1;
    }
    }
    


  • Hmm, wo weißt du denn "zahl1" einen Wert zu?



  • RandomAccess85 schrieb:

    Hmm, wo weißt du denn "zahl1" einen Wert zu?

    Wie soll das gehen????
    Ich dachte man kann alles möglich zahlen eingeben, anstatt den zugewiesenen wert^^



  • Hallo

    Aus deiner etwas wirren Beschreibung vermute ich, deine Frage ist am einfachsten so beantwortet :

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
      Memo1->Lines->Add(Edit1->Text);
    }
    

    Die double-Variable brauchst du höchstens, wenn du extra noch überprüfen willst ob wirklich nur eine Zahl eingegeben wurde oder auch Text.

    bis bald
    akari



  • akari schrieb:

    Hallo

    Aus deiner etwas wirren Beschreibung vermute ich, deine Frage ist am einfachsten so beantwortet :

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
      Memo1->Lines->Add(Edit1->Text);
    }
    

    Die double-Variable brauchst du höchstens, wenn du extra noch überprüfen willst ob wirklich nur eine Zahl eingegeben wurde oder auch Text.

    bis bald
    akari

    ich habe nochmal alles geändert. aber es passiert einfach nichts^^

    double zahl1;
    
    if (Edit1->Text == zahl1)
    {
      Memo1->Lines->Add(Edit1->Text);
    }
    }
    


  • Hallo

    🙄
    Dein "es passiert einfach nichts" ist eine direkte Folge deines "ich habe nochmal alles geändert". Offenbar hast du keine Ahnung, was dein if-vergleich bewirkt.

    bis bald
    akari



  • akari schrieb:

    Hallo

    🙄
    Dein "es passiert einfach nichts" ist eine direkte Folge deines "ich habe nochmal alles geändert". Offenbar hast du keine Ahnung, was dein if-vergleich bewirkt.

    bis bald
    akari

    VERDAMMT. MANN MUSS NUR DIE IF SCHLEIFE WEG LASSEN, DANN KLAPPTS.
    warum bin ich nicht drauf gekommen 😃 😃 😃 😃

    danke 🙂





  • Hallo,

    das war es was ich meinte. Mit double zahl deklarierst du eine Variable. mit if (Eingabe == zahl) prüfst ddu ob die Eingabe gleich der zahl ist. Danach erst findet eine Ausgabe statt. Da du zahl aber nie einen Wert zugewiesen hast, kann auch keiner wissen womit (oder mit welchem Wert) verglichen werden soll.
    Jenes wäre dann sinnvoller gewesen:

    double zahl = 50; //Wertzuweisung
    if (Eingabe == zahl) {
    //DoSomething();
    }
    

    VlG


Anmelden zum Antworten