Announcement

Collapse
No announcement yet.

wie kann ich Editfelder berechnen?

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

  • wie kann ich Editfelder berechnen?

    Wie kann ich Werte mit 2 Stellen nach dem Komma, die in Editfeldern stehen addieren, multiplizieren, dividieren oder z.B. 15 Prozent eines Wertes errechnen?

    Es muß auch machbar sein z.B erst 3 Editfelder zu addieren und davon nach Abzug von 15% des berechneten Wertes das Ergebnis zu erhalten.

    Bítte etwas ausführlicher, für Anfänger verständlich.

  • #2
    Hallo,

    die Object Pascal-Funktion <b>StrToCurr</b> konvertiert einen String, der eine Gleitkommazahl darstellt, in einen Währungswert. Wenn man mit den in ganz normalen TEdit's eingetragenen Werten rechnen will, müssen diese Zeichenketten zuerst in einen Gleitkommawert konvertiert werden. Die globale Variable <b>DecimalSeparator</b> definiert das Zeichen, das als Dezimaltrennzeichen verwendet werden muss. Tausendertrennzeichen und Währungssymbole sind bei der Eingabe im TEdit nicht zulässig. Enthält der String keinen gültigen Wert, wird eine EConvertError-Exception ausgelöst.

    Für die geschilderte Aufgabe ist es notwendig, private Objektfelder (oder lokale Variablen) für die Zwischenergebnisse zu verwenden

    Comment


    • #3
      Können Sie mir bitte ein Beispiel dazu geben

      Comment


      • #4
        <pre>
        procedure TForm1.Button1Click(Sender: TObject);
        var
        cValue1 : Currency;
        cValue2 : Currency;
        cValue3 : Currency;
        cCalc : Currency;
        begin
        cValue1 := StrToCurr(Edit1.Text);
        cValue2 := StrToCurr(Edit2.Text);
        cValue3 := StrToCurr(Edit3.Text);
        cCalc := cValue1 + cValue2 + cValue3;
        cCalc := cCalc - (cCalc * 0.16);
        ShowMessage(Format('Summe aller 3 Werte: %m', [cCalc]));
        end;
        </pre&gt

        Comment


        • #5
          Vielen Dank, funktioniert super, aber
          wie kann ich das Ergebnis in einer anderen tedit oder tlabel-komponente anzeigen lassen

          Comment


          • #6
            Hallo,

            indem statt dem <b>ShowMessage</b>-Aufruf die durch <b>Format</b> generierte Zeichenkette einem anderen TEdit zugewiesen wird:
            <pre>
            EditErgebnis.Text := Format('%m', [cCalc]);
            </pre&gt

            Comment


            • #7
              Wie kann ich eine fehlermeldung umgehen, wenn der Nutzer anstatt eines Integerwertes, eine Stringkonstante eingiebt

              Comment


              • #8
                Z.B mit

                <pre>
                try
                EditErgebnis.Text := Format('%m', [cCalc]);
                except
                ShowMessage('Fehler bei cCalc');
                end;
                </pre&gt

                Comment

                Working...
                X