![]() |
Re: Berechnung d. Gewinnschwelle in einer Tabelle mit String
Ich würde erstmal dafür sorgen, dass alles nur z.B. 200mal durchlaufen wird, damit du überhaupt sehen kannst, was passiert:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
VAR KF, KV, P, K, E, G: real; St,i: integer; begin i:=0; KF:=strtofloat(form1.edit1.text); KV:=strtofloat(form1.edit2.text); P:=strtofloat(form1.edit3.text); St:=0; repeat K:=KF+St*KV; //Kosten=Festkosten+Sück*variable Kosten E:=St*P; // Erlös=Stück*Preis G:=E-K; // Gewinn=Erlös-Kosten with form1.stringgrid1 Do begin cells[0,St+1]:= inttostr(St); cells[1,St+1]:= floattostr(K); cells[2,St+1]:= floattostr(E); cells[3,St+1]:= floattostr(G); St:=st+1; rowcount:=rowcount+1; end; inc(i) until (E>K) or (i>=200); end; |
Re: Berechnung d. Gewinnschwelle in einer Tabelle mit String
Und lass das Form1 weg (außer im Funktionskopf).
|
Re: Berechnung d. Gewinnschwelle in einer Tabelle mit String
hey, danke!jetzt läuft es.
hab da ma noch ne kleine frage:wofür steht denn das inc(i)?das kenn ich noch nich... cheers |
Re: Berechnung d. Gewinnschwelle in einer Tabelle mit String
Hallo,
du hast einfach einen Gedankenfehler in deinen Variablen. Solange der variable Preis pro Zeitung größer als dein Stückpreis (also der Verkaufspreis) ist, wirst du nie einen Gewinn erzielen. Mit jeder Zeitung erhöhen sich die Kosten. Nimm mal als Bsp. Stückpreis 10, variabler Preis 5. Heiko PS: Inc(i) ist kurz für i:= i+1; |
Re: Berechnung d. Gewinnschwelle in einer Tabelle mit String
ich danke euch allen!
|
Re: Berechnung d. Gewinnschwelle in einer Tabelle mit String
Zitat:
|
Re: Berechnung d. Gewinnschwelle in einer Tabelle mit String
noch ne kleine frage: is die zusätzliche variable i unbedingt notwendig, oder geht das auch ohne das i?(ohne wieder in die endlosschleife zu gelangen)
cheers |
Re: Berechnung d. Gewinnschwelle in einer Tabelle mit String
Lass dir was einfallen, du könntest zum Beispiel abbrechen, wenn Einnahmen-Gewinn < -1000 oder so etwas
|
Re: Berechnung d. Gewinnschwelle in einer Tabelle mit String
Hallo,
es gibt keine Endlosschleife, wenn dein Stückpreis > den Stückkosten (var. Kosten) ist. Prüfe das einfach vorher ab. OK, wenn der Stückpreis 10 Eur, die Stückkosten 9,99 sind, könnte die Schleife etwas dauern ;) Heiko |
Re: Berechnung d. Gewinnschwelle in einer Tabelle mit String
hi leute!
ich soll mit dem programm jetzt noch den break-even-point(Erlös=Kosten) ausrechnen und in einem weiteren edit feld anzeigen(das hat eigentlich ganz gut geklappt...) und dann soll nach der rechnung die tabelle genau zum feld des break evenpoints springen...ich glaube das geht irgendwie mit dem befehl row...naja an der stelle brauche ich hilfe! cheers your technikerhc ps. bis jetzt sieht es so aus:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
VAR KF, KV, P, K, E, G: real; St: integer; begin KF:=strtofloat(form1.edit1.text); KV:=strtofloat(form1.edit2.text); P:=strtofloat(form1.Edit3.text); If P>KV then begin St:=0; repeat K:=KF+St*KV; //Kosten=Festkosten+Sück*variable Kosten E:=St*P; // Erlös=Stück*Preis G:=E-K; // Gewinn=Erlös-Kosten with form1.stringgrid1 Do begin cells[0,St+1]:= inttostr(St); cells[1,St+1]:= floattostr(K); cells[2,St+1]:= floattostr(E); cells[3,St+1]:= floattostr(G); St:=st+1; rowcount:=rowcount+1; end; // end von with do begin... until E>K; form1.StringGrid1.Row:=St; St:=Round(KF/(P-KV)); form1.edit4.text:=inttostr(St); End // end von then begin else begin showmessage('Die variablen Kosten sind größer als der Preis'); end; // end der if schleife end; procedure TForm1.FormCreate(Sender: TObject); begin with form1.stringgrid1 Do begin cells[0,0]:='Anzahl'; cells[1,0]:='Kosten'; cells[2,0]:='Erlös'; cells[3,0]:='Gewinn'; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz