kleiner Taschenrechner



  • Danke für die schnelle Antwort!

    Damit funktioniert es auf jeden Fall schon mal!



  • Ich habe es jetzt mal so probiert, aber es klappt nicht!
    kann mir jemand sagen wo der fehler ist?

    private: System::Void cmdberechnen_Click(System::Object^  sender, System::EventArgs^  e) {
    			 Single zahl1, zahl2, ergebnis = 0;
    			 Boolean divDurchNull = false;
    			 zahl1=Convert::ToSingle(txt1->Text);
    			 zahl2=Convert::ToSingle(txt2->Text);
    			if (comboBox1->SelectedIndex=0)
    				ergebnis = zahl1 + zahl2;
    			if (comboBox1->SelectedIndex=1)
    				ergebnis = zahl1 - zahl2;
    			if (comboBox1->SelectedIndex=2)
    				ergebnis = zahl1 * zahl2;
    			if (comboBox1->SelectedIndex=3)
    				ergebnis = zahl1 / zahl2;
    
    			 if (comboBox1->SelectedIndex=3){
    				 if (zahl2 == 0)
    					 divDurchNull = true;
    				 else
    					ergebnis = zahl1 / zahl2;
    			 }
    			 if (divDurchNull == true)
    				 label2->Text = "Nicht Deklariert";
    			 else
    				 label2->Text = Convert::ToString(ergebnis);
    
    		 }
    

    Fehler 1 error C2451: Bedingter Ausdruck des Typs 'void' nicht zulässig



  • Vergleiche sind mit ==.
    Zuweisungen sind mit =.



  • Ohh man... Wenn man seine AUgen nicht aufmacht 😮 ...

    Danke schön



  • Ich habe noch mal eine kleine frage!

    Ich habe ne Aufgabe dort soll nach dem Betätigen von einem Button ein Label von der Position 0 nach 200 wandern:

    Ich habe folgendes erstellt:

    label1->Top = label1->Top + 2;

    so wandert das label aber immer nur 2 nach unten bei betätigen des button!
    Wie bekomme ich es hin das nach einmal betätigen das Label komplett wandert?

    Danke



  • Da solltest Du ein neues Thread anfangen.

    Wenn Du es über eine Schleife machst, siehst Du das wandern nicht.
    Also würde ich es über einen Timer machen.
    Sieht nach einer Schulaufgabe aus!?

    Man kann sowas auch so schreiben...

    label1->Top += 2;
    

    Gruß

    Doug_HH

    Edit: Code auf kurze Schreibweise geändert.



  • Und wie kann man das jetzt wandern lassen? Habe nämlich das selbe problem und ich stehe hier extrem auf dem Schlauch



  • Mit einem Timer! Steht doch da oben.



  • Und wie erselle ich einen Timer?
    Weil bisher kam in meinen unterlagen noch kein timer vor.
    Deswegen würde mich interessieren wie man das mit einer Schleife erstellt.



  • Hier ist sogar ein Beispiel für C++/CLI:
    msdn.microsoft.com/en-us/library/system.windows.forms.timer.aspx

    Die MSDN ist eine wichtige Quelle!

    In den Handler des Timer-Tick Events schreibst Du aber keine Schleife. Der Timer ersetzt ja gerade das iterative Verhalten einer Schleife so wie man es in Event-gesteuertem GUI-Code machen muss, wenn man eine Animation realisieren will.
    Jedes Tick lässt das label nur um einen Schritt wandern, bis die Zielposition erreicht ist. Dann bricht man den Timer ab.

    Falls Du Dir die Sprache aussuchen kannst, solltest Du vielleicht zu C# wechseln. Ansonsten: Mein Beileid


Anmelden zum Antworten