Einzelnen Beitrag anzeigen

DocE

Registriert seit: 25. Mär 2004
108 Beiträge
 
#15

Re: Deklaration MWST - Achtung:Totaler NOOB!

  Alt 17. Sep 2006, 20:36
Ok, das sieht so aus, als wenn es vorher ein Feld gab, nämlich "MwSt", in das man die Prozentzahl der MwSt eingeben sollte und jetzt soll das ganze nur mit einem festen Wert funktionieren. Verstehe zwar nicht ganz, warum man das Programm praktisch "zurückentwickelt", denn die flexible MwSt-Eingabe ist eigentlich besser. Aber gut. Ich ändere mal Deinen zuerst geposteten Quelltext und kommentiere diesen:

Delphi-Quellcode:
var
  Form1: TForm1;
  //vnetto, vbrutto, vmwst: single; // vmwst ist jetzt keine variable mehr, da const, also nur noch
  vnetto, vbrutto: single;

//const
  //mwst=16.0; // wäre im Prinzip richtig, allerdings heißt das Eingabefeld (Edit) bereits mwst.
  //wir benutzen jetzt einfach den Namen der vorherigen Variable "vmwst" (die oben in var entfernt wurde) weiter, um weniger ändern zu müssen
const
  vmwst = 16.0;

implementation

{$R *.dfm} 

procedure TForm1.nettoChange(Sender: TObject);
begin

  //Eingabe
  vnetto:=strtofloat(netto.Text);
  //vmwst:=strtofloat(mwst.Text); dies ist dann nicht mehr erorderlich, da oben als Konstante deklariert

  //Verarbeitung
  vbrutto:= vnetto + vnetto * vmwst / 100.0;

  //Ausgabe
  brutto.Text := floattostr(vbrutto);

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  
  brutto.Text:=floattostr(vbrutto); // Diese Zuweisung bringt nichts, da der Wert sofort wieder überschrieben wird
  //brutto.Text:=floattostr(strtofloat (netto.text)+strtofloat (netto.Text)*strtofloat(mwst.Text)/100.0); // strtofloat(mwst.Text) durch vmwst ersetzen
  brutto.Text := floattostr(strtofloat(netto.text) + strtofloat(netto.Text) * vmwst / 100.0);

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  
  close;

end;

end.
Allerdings gibt es jetzt immer noch das Problem, dass, wenn Du das Netto-Edit leer machst, oder Buchstaben eingibst, sofort eine Exception "kein gültiger Gleitkommawert" kommt. Ich kann mir eigentlich nicht vorstellen, dass das Programm so an die Tafel geschrieben wurde. Hast Du da schon was geändert? Sonst poste bitte nochmal das Original-Tafel-Programm.

Ich würde mal schätzen, dass die Sachen, die Du unter "NettoChange" gepackt hast, eigentlich in "Button1Click" gehören. Kann das sein?


Grüsse
...Doc
  Mit Zitat antworten Zitat