AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Deklaration MWST - Achtung:Totaler NOOB!

Ein Thema von Jenny84 · begonnen am 17. Sep 2006 · letzter Beitrag vom 17. Sep 2006
Antwort Antwort
Seite 1 von 2  1 2      
Jenny84

Registriert seit: 17. Sep 2006
Ort: Trier
9 Beiträge
 
#1

Deklaration MWST - Achtung:Totaler NOOB!

  Alt 17. Sep 2006, 11:42
Ich muss für den Informatikunterricht ein Bruttoberechnungsprogramm schreiben, in welchem die MwSt schon deklariert/festgelegt ist. Ich habe gegooglet wie ne Irre und finde immer was mit
//const mwst=16
aber es klappt nie.

Außerdem, sobald ich in meinem Programm eine Zahl im Nettofenster eingebe, kommt diese Fehlermeldung:
" ist kein gültiger Gleitkommawert

So sieht mein Code momentan aus:



Delphi-Quellcode:
var
Form1: TForm1;
vnetto, vbrutto, vmwst:single;

const
mwst=16.0;

implementation

{$R *.dfm}

procedure TForm1.nettoChange(Sender: TObject);
begin
//Eingabe
vnetto:=strtofloat(netto.Text);
vmwst:=strtofloat(mwst.Text);
//Verarbeitung
vbrutto:=vnetto+vnetto*vmwst/100.0;
//Ausgabe
brutto.Text:=floattostr(vbrutto);
end;

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;

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

end.
[edit=alcaeus]Code mit Delphi-Tags formatiert. Mfg, alcaeus[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: Deklaration MWST - Achtung:Totaler NOOB!

  Alt 17. Sep 2006, 11:57
Vermutlich, weil das Edit am Anfang leer ist und den '' Wert ins OnChange Ereigniss übernimmt.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Jenny84

Registriert seit: 17. Sep 2006
Ort: Trier
9 Beiträge
 
#3

Re: Deklaration MWST - Achtung:Totaler NOOB!

  Alt 17. Sep 2006, 12:01
uPs, sorry, danke alcaeus!

@Florian Bernd: Bin da noch ziemlich neu mit, was müsste ich jetzt ändern? *liebfrag*
  Mit Zitat antworten Zitat
DocE

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

Re: Deklaration MWST - Achtung:Totaler NOOB!

  Alt 17. Sep 2006, 12:02
Hallo Jenny,

das erste Problem ist, das Du nicht 2 Sachen gleich benennen darfst. Hier hast Du das Edit MwSt und die Konstante MwSt genannt. Das funktioniert nicht. Nenn das Edit mal MwStEdit. Das nächste Problem ist, dass bei leerem Netto.Text strtofloat eine Exception auslöst, da ein leerer String nicht in eine Zahl umgewandelt werden kann. Fang das mit try..except ab.

die Variablen vnetto,vmwst,vbrutto müssen nicht unbedingt global deklariert werden.

Hier mal ein Codeschnipsel:

Delphi-Quellcode:
procedure TForm1.NettoChange(Sender: TObject);
var vnetto,vmwst,vbrutto: single;
begin

  //Eingabe
  // falls netto.text keine zahl beinhaltet oder leer ist, dann vnetto := 0
  try vnetto := strtofloat(Netto.Text);
  except vnetto := 0; end;

  //Verarbeitung
  vmwst := vnetto * (mwst / 100 );
  vbrutto := vnetto * ((100+mwst) / 100);

  //Ausgabe (formatiert mit 2 Nachkommastellen und Tausender-Punkt)
  MwstEdit.Text := FormatFloat(',0.00',vmwst);
  Brutto.Text := FormatFloat(',0.00',vbrutto);

end;
Grüsse
...Doc
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Deklaration MWST - Achtung:Totaler NOOB!

  Alt 17. Sep 2006, 12:03
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;
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Jenny84

Registriert seit: 17. Sep 2006
Ort: Trier
9 Beiträge
 
#6

Re: Deklaration MWST - Achtung:Totaler NOOB!

  Alt 17. Sep 2006, 12:06
Ich probiers heute abend, da mein Sohn gerade wach wird. Versteh zwar noch leicht Bahnhof, aber wird schon gehen, danke
  Mit Zitat antworten Zitat
Jenny84

Registriert seit: 17. Sep 2006
Ort: Trier
9 Beiträge
 
#7

Re: Deklaration MWST - Achtung:Totaler NOOB!

  Alt 17. Sep 2006, 18:13
Okay haltet mich bitte nicht für blöde oder so... Aber ich raffs nicht!
Ich glaub mein Lehrer (der auch weiß, dass ich das kaum versteh) würde mich mit Fragen löchern, wenn ich das so schreibe... Weil soweit sind wir noch gar nicht (arbeiten mit den Unterlagen von datadidact). Aber sind doch die einzigen Möglichkeiten?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Deklaration MWST - Achtung:Totaler NOOB!

  Alt 17. Sep 2006, 18:36
Was genau verstehst du nicht?
Markus Kinzler
  Mit Zitat antworten Zitat
Jenny84

Registriert seit: 17. Sep 2006
Ort: Trier
9 Beiträge
 
#9

Re: Deklaration MWST - Achtung:Totaler NOOB!

  Alt 17. Sep 2006, 18:39
irgendwie alles also wie ich das jetzt bei mir ändern muss genau. Ich komm voll durcheinander grad
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Deklaration MWST - Achtung:Totaler NOOB!

  Alt 17. Sep 2006, 18:48
Delphi-Quellcode:
procedure TForm1.nettoChange(Sender: TObject);
begin
    if netto.text = 'then Exit;
    //Eingabe
    if TryStrToFloat(netto.Text, vnetto) then
    begin //Nettoeingabe korrekt
        if TryStrToFloat(mwst.Text,vmwst ) then
        begin // //Mwst-Eingabe korrekt
           //Verarbeitung
           vbrutto:=vnetto+vnetto*vmwst/100.0;
          //Ausgabe
          brutto.Text:=floattostr(vbrutto);
        end
        else
        begin
           //Eingabe ist nicht ok
          ...
        end;
   end
   else
   begin
      //Eingabe ist nicht ok
   end;
end;
Getiipt und nicht getestet.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz