AGB  ·  Datenschutz  ·  Impressum  







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

Kleines Rechnungsprogramm

Ein Thema von Final · begonnen am 9. Okt 2005 · letzter Beitrag vom 10. Okt 2005
Antwort Antwort
Seite 1 von 2  1 2      
Final

Registriert seit: 9. Okt 2005
7 Beiträge
 
#1

Kleines Rechnungsprogramm

  Alt 9. Okt 2005, 01:04
Is zwar sicher einfach bin aber aufgeschmissen:
Ich soll ein Programm schrieben wo ich 3 Beträge eingeben kann, diese addiert werden, falls diese dann unter 100 euro liegen 7,50 porto dazukommen, dann noch die mwst und zu guter letzt der gesamtbetrag ausgegeben wird.

war unsere erste stunde mit delphi und unsere lehrerin hat das aufgegeben ohne uns zu erklärn wie wir das machen solln und ich weis z.B. net was strtoint is weil sie gemeint hat "schreibs da hin" aber nich erklärt hat wasses is es

in dem sinne bin ich aufgeschmissen ich weis das irgendwas mit if then else is und das ich 3 edit felder und 9 labels brauch aber das wars au schon ^^ ich habs jetzt mal mit ner delphi faq versucht aber so richtig geholfen hat die mir net es scheiterte schon daran die eingabe ausm edit feld ner variablen zuzuweisen

bin für jede hilfe dankbar

mfg

[edit] sorry falsche rubrik [/edit]
  Mit Zitat antworten Zitat
Daniel G
(Gast)

n/a Beiträge
 
#2

Re: Kleines Rechnungsprogramm

  Alt 9. Okt 2005, 01:12
Willkommen in der DP

Zitat von Final:
z.B. net was strtoint is weil sie gemeint hat "schreibs da hin" aber nich erklärt hat wasses is es
Mach es so, wie deine Lehrerin gesagt hat:

Schreib's hin!

Allerdings hätte sie dir dann auch noch sagen müssen:

Schreib den Begriff (z.B.: "StrToInt") hin, markiere ihn und drücke "F1". Damit rufst du die Delphi - Hilfe auf, die sich wunderbar für solche Zwecke eignet.

//Edit: Na ja, Lehrer halt....
  Mit Zitat antworten Zitat
Eichhoernchen

Registriert seit: 22. Apr 2004
Ort: Hagen
322 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Kleines Rechnungsprogramm

  Alt 9. Okt 2005, 01:22
hmm, erstmal Willkommen hier

Naja komischen Lehrer haste da... naja

Also Delphi...

erstmal Delphi unterscheidet zwischen verschiedenen Datentypen wie z.B. integer(ganze Zahlen[-1,2,..]) oder strings (wortketten['hallo'])

Deine Rechnung benötigt aber denke ich mal Fließkommazahlen(d.h. 2,3122) daher müsstest du einen Typ wie double nehmen.

Ich hoffe du weißt wie du Variablen deklarierst..

naja sagen wir mal du hast 1ne variable vom typ double:

var erg : double; <--- Variable erg vom typ double so nun hast du etwas in deinen Edit[text]Feldern.
Wie der Name schon sagt ist das ein Text d.h. ein string, da du aber in Delphi nicht mit strings rechnen kannst, müssen diese umgeformt werden, dies geschieht mit Befehlen wie StrToInt('13') oder StrToFloat('2.131')

Um den Text aus dem Feld zu bekommen musst du FELDNAME.Text schreiben, standartmäßig heißt das 1. Feld Edit1 also:
Edit1.text
usw..

Soo nun möchtest du 3 Felder addieren Bsp.:
Delphi-Quellcode:
var erg : double;
Begin
 erg := StrToFloat(Edit1.text) + StrToFloat(Edit2.text) + StrToFloat(Edit3.text);
end;
jetzt steht in der variablen erg die summe der 3 Felder!

Und wenn diese Summe über 100 geht soll etwas passieren:
Delphi-Quellcode:
var erg : double;
Begin
 erg := StrToFloat(Edit1.text) + StrToFloat(Edit2.text) + StrToFloat(Edit3.text);
if erg > 100
  then //was passieren soll wenn es über 100 ist
  else //was passieren soll wenn es nicht über 100 ist
end;
Und um eine Zahl wieder in einen String zu konvertieren kannst du IntToStr(123) oder FloatToStr(2.3123) verwenden!
Jan
  Mit Zitat antworten Zitat
Benutzerbild von zecke
zecke

Registriert seit: 17. Jan 2004
494 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Kleines Rechnungsprogramm

  Alt 9. Okt 2005, 01:27
Zitat:
var erg : double;
Begin
erg := StrTioFloat(Edit1.text) + StrToFloat(Edit2.text) + StrToFloat(Edit3.text);
if erg > 100
then //was passieren soll wenn es über 100 ist
else //was passieren soll wenn es nicht über 100 ist
end;
StrToFloat natürlich, Tippföööhler - aber das wirst du selber gemerkt haben beim ausprobieren.
mfg zecke
  Mit Zitat antworten Zitat
Eichhoernchen

Registriert seit: 22. Apr 2004
Ort: Hagen
322 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Kleines Rechnungsprogramm

  Alt 9. Okt 2005, 01:33
hab ich nicht ausprobiert^^ naja ich hatte es selbst gesehen und geändert abgesendet und dann kam aber das schon ein Beitrag in der zwischenzeit geschrieben wurde, scheint mir das das nicht übernommen wurde dann^^
änder ich dann mal fix
Jan
  Mit Zitat antworten Zitat
9. Okt 2005, 07:59
Dieses Thema wurde von "Sharky" von "Fragen / Anregungen zur DP" nach "Sonstige Fragen zu Delphi" verschoben.
In der Sparte "Fragen und Anregungen" bitte nur Fragen zum Forum posten und nicht zum programmieren. Danke.
Final

Registriert seit: 9. Okt 2005
7 Beiträge
 
#7

Re: Kleines Rechnungsprogramm

  Alt 9. Okt 2005, 09:39
Moin moin!

Erstmal Danke für die Hilfe, ich hab jetzt mal dran rumgebastelt.
Aber folgendes: ich kann als Beträge keine KOmmazahlen einsetzen und so wie ichs jetzt hab läufts net weil er anstatt else end erwartet wieso auch immer. und wenn ich sowohl <100 als auch >=100 mit zwei getrennten if´s deklarier dann verdreht er wann er mwst versand dazurechnen muss und wann net.
schauts euch einfach mal an:

Delphi-Quellcode:
var erg : real;
    erg2 : real;
    erg3 : real;

Begin
erg := strtofloat(Edit1.text) + strtofloat(Edit2.text) + strtofloat(Edit3.text);

if erg < 100
  then
  label7.Caption := FloatToStr(7.50);
  erg2 := (erg + 7.50) * 0.16;
  label8.caption := FloatToStr(erg2);
  erg3 := (erg + 7.50) * 1.16;
  label9.caption := FloatToStr(erg3)
else
  label7.Caption := FloatToStr(0);
  erg2 := erg * 0.16;
  label8.caption := FloatToStr(erg2);
  erg3 := erg * 1.16;
  label9.caption := FloatToStr(erg3);

end;

end.
  Mit Zitat antworten Zitat
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#8

Re: Kleines Rechnungsprogramm

  Alt 9. Okt 2005, 10:00
Nach then und else erwartet der Compiler nur jeweils eine einzige Anweisung. Wenn du mehrere Anweisungen haben willst, musst du die mit begin und end einschließen:
Delphi-Quellcode:
if <Bedingung> then begin
  Anweisung1
  Anweisung2
  ...
end else begin
  Anweisung1
  Anweisung2
  ...
end;
Christian
Der Computer hilft mir, Probleme zu lösen, die ich ohne Computer nicht hätte.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Kleines Rechnungsprogramm

  Alt 9. Okt 2005, 10:27
Hai Final,

deinen Code kannst Du wesentlich verkürzen und damit mögliche Fehler vermeiden. In der Berechnung ist ja nur das Porto der verändernde Faktor. Also reicht es aus wenn Du dir in einer Variable den Betrag für das Porto speicherst und in den Berechnungen dann diese Variable verwendest:
Delphi-Quellcode:
procedure TForm1.btn_TestenClick(Sender: TObject);
var
  netto : Extended;
  mwst : Extended;
  brutto : Extended;
  porto : Extended;
Begin
  porto := 0;
  netto := strtofloat(edt_Betrag1.text)
          + strtofloat(edt_Betrag2.text)
          + strtofloat(edt_Betrag3.text);
  if netto < 100 then
  begin
   porto := 7.5;
  end;
  lbl_Porto.Caption := FloatToStr(porto);
  mwst := (netto + porto) * 0.16;
  lbl_Summe1.caption := FloatToStr(mwst);
  brutto := (netto + porto) * 1.16;
  lbl_Summe2.caption := FloatToStr(brutto)
end;
Natürlich sollte verhindert werden das in den Editfeldern etwas anderes als gültige Zahlen stehen. Sonst würde bei der Umwandlung mit StrToFloat ein Fehler auftreten.

Immer eines Berücksichtigen:
Im Quellcode ist der Dezimalseperator ein "." ist (3.56 oder 2.78 ). Bei der Umwandlung mit StrToFloat wird aber der in Windows eingestellte Delphi-Referenz durchsuchenDezimalSeperator verwendet. In Deutschland als 3,56 oder 2,78.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Final

Registriert seit: 9. Okt 2005
7 Beiträge
 
#10

Re: Kleines Rechnungsprogramm

  Alt 9. Okt 2005, 11:37
kk danke leute ich hab zwar meinen fehler wegen der portoberechnung noch nich gerrafft aber immerhin läufts jetzt und ich verstehs

mfg und thx final

[edit] einen hab ich noch: wie bring ich denn delphi dazu das es auf 2 nachkommastellen rundet, und nich auf 4 so wie in meinem prog?

mfg
  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 10:43 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