Ein paar dinge:
1. Ist das im Change ganz schlecht, weil, wenn du alles entfernst, er aus einem Leerstring ('') kein Float machen kann und eine Fehlermedlung ausgibt. Mein Vorschlag wäre: TryStrToFloat!
2.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
brutto.Text:=floattostr(vbrutto);
brutto.Text:=floattostr(strtofloat (netto.text)+strtofloat (netto.Text)*strtofloat(mwst.Text)/100.0);
end;
Hier macht die erste zuweisung keinen Sinn!
3.
Button1.Click und nettoChange sind an sich das gleiche, außer das bei nettochange die Umwandlungen aufgesplittet sind.
Noch eine kleine Erklärung zu "TryStrToFloat":
TryStrToFloat erwartet den String und eine Floatvariable und gibt einen Boolean zurück, wenn es funktioniert.
Der Wert, der bei StrToFloat herauskommt ist in der übergebenen Floatvariable enthalten.
Delphi-Quellcode:
procedure TForm1.bTry(Sender : TObject);
var
ExtendedBuffer : Extended; // Extended ist eine Fließkommavariable
begin
if TryToStr(eText.text, ExtendedBuffer) {= true} then //das = true kann man im if weglassen
Showmessage(FloatToStr(ExtendedBuffer) + ' haben sie eingegeben')
else
Showmessage('Ihr angegebener Wert war keine Fließkommazahl!');
end;