4
4tune
... jo davon hängt meine Abinote ab, deshalb bin ich allen sehr verbunden die mir helfen 
es geht darum folgenden buttonclick (den ich erarbeitet habe) zu vereinfachen und auch möglichst auf procedures und functions zu verteilen. leider habe ich davon keinen schimmer wie das mit variabeln definitionen ausgabe usw funzt
für hilfe (auch beispiele) wäre ich sehr dankbar. schreibt einfach alles was euch an vereinfachungen usw einfällt rein.
______________________________________________________
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
TAlter: TEdit;
TJahre: TEdit;
TZigaretten: TEdit;
Berechnen: TButton;
Ausgabe: TGroupBox;
CKostenbisher: TLabel;
CZinsen65: TLabel;
Cbis65: TLabel;
CNikotin: TLabel;
CKondensate: TLabel;
CLebenserwartung: TLabel;
CKommentar: TLabel;
Cnik65: TLabel;
Ckon65: TLabel;
Cleben65: TLabel;
procedure BerechnenClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BerechnenClick(Sender: TObject);
var Verku, Kondensate, Nikotin, Jahreskosten, Jahrg, bis65, Zinsen65, Jahre,
Zigaretten, Alter, nik65, kon65, leben65: real;
kommentar: string;
begin
Jahre:= StrToFloat(TJahre.text);
Zigaretten:= StrToFloat(TZigaretten.text);
Alter:= StrToFloat(TAlter.text);
if Alter<=0 then showmessage('Jahre können nicht weniger/gleich 0 sein!');
if Alter<=8 then showmessage('Es ist sehr unwarscheinlich das jemand unter 8 anfängt zu rauchen!');
if Zigaretten<1 then showmessage('Weniger als 1 Zigarette ist schlecht rauchbar!');
if Jahre<=0 then showmessage('Es können nicht 0 Jahre oder weniger geraucht werden!');
Jahreskosten:= Zigaretten*365/20*3;
Kostenbisher:= Jahreskosten*Jahre;
bis65:= Jahreskosten*(65-Alter)+Kostenbisher;
Jahrg:= Jahre+65-Alter;
Nikotin:= Zigaretten*365*0.5*Jahre/10000;
nik65:= Zigaretten*365*0.5*Jahrg/10000;
Kondensate:= Zigaretten*365*9*Jahre/10000;
kon65:= Zigaretten*365*9*Jahrg/10000;
Verku:= Zigaretten*365*Jahre*3/60;
leben65:= Zigaretten*365*Jahrg*3/60;
Zinsen65:= 0;
while Jahrg > 0 do
begin
Zinsen65:= (Zinsen65+Jahreskosten)*0.05+Zinsen65+Jahreskosten;
Jahrg:= Jahrg-1;
end;
if Kostenbisher<8000 then
begin
kommentar:= 'Ohne rauchen häts für einen Gebrauchtwagen gereicht.';
end
else if Kostenbisher<24000 then
begin
kommentar:= 'Ohne rauchen häts für einen mittelklasse Neuwagen gereicht.';
end
else if Kostenbisher<100000 then
begin
kommentar:= 'Ohne rauchen häts für ein grosses Auto gerreicht.'
end
else if Kostenbisher>=100000 then
begin
kommentar:= 'Ohne rauchen wär alles möglich gewesen!';
end;
CKostenbisher.Caption:= ('Kosten für den bisherigen Zigarettenkonsum (ohne Zinsen): '+Format('%8.2f',[Kostenbisher])+' €');
CBis65.Caption:= ('Kosten bis zum 65. Lebensjahr (bei gleichbleibendem Verbrauch): '+Format('%8.2f',[bis65])+' €');
CZinsen65.Caption:= ('Kosten bis zum 65. Lebensjahr zuzüglich Zinsen: '+Format('%8.2f',[Zinsen65])+' €');
CNikotin.Caption:= ('Aufgenommene Menge Nikotin bisher: '+Format('%6.2f',[Nikotin])+' kg');
CKondensate.Caption:= ('Aufgenommene Menge Kondensate bisher: '+Format('%6.2f',[Kondensate])+' kg');
CLebenserwartung.Caption:= ('Verkürzung der Lebenserwartung bisher: '+Format('%8.2f',[Verku])+' Stunden');
Cnik65.Caption:= ('Aufgenommene Menge Nikotin bis 65: '+Format('%6.2f',[nik65])+' kg');
Ckon65.Caption:= ('Aufgenommene Menge Kondensate bis 65: '+Format('%6.2f',[kon65])+' kg');
Cleben65.Caption:= ('Verkürzung der Lebenserwartung bis 65: '+Format('%8.2f',[leben65])+' Stunden');
CKommentar.Caption:= ('Kommentar: '+Kommentar);
end;
end.
______________________________________________________
cu fortune

es geht darum folgenden buttonclick (den ich erarbeitet habe) zu vereinfachen und auch möglichst auf procedures und functions zu verteilen. leider habe ich davon keinen schimmer wie das mit variabeln definitionen ausgabe usw funzt

______________________________________________________
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
TAlter: TEdit;
TJahre: TEdit;
TZigaretten: TEdit;
Berechnen: TButton;
Ausgabe: TGroupBox;
CKostenbisher: TLabel;
CZinsen65: TLabel;
Cbis65: TLabel;
CNikotin: TLabel;
CKondensate: TLabel;
CLebenserwartung: TLabel;
CKommentar: TLabel;
Cnik65: TLabel;
Ckon65: TLabel;
Cleben65: TLabel;
procedure BerechnenClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BerechnenClick(Sender: TObject);
var Verku, Kondensate, Nikotin, Jahreskosten, Jahrg, bis65, Zinsen65, Jahre,
Zigaretten, Alter, nik65, kon65, leben65: real;
kommentar: string;
begin
Jahre:= StrToFloat(TJahre.text);
Zigaretten:= StrToFloat(TZigaretten.text);
Alter:= StrToFloat(TAlter.text);
if Alter<=0 then showmessage('Jahre können nicht weniger/gleich 0 sein!');
if Alter<=8 then showmessage('Es ist sehr unwarscheinlich das jemand unter 8 anfängt zu rauchen!');
if Zigaretten<1 then showmessage('Weniger als 1 Zigarette ist schlecht rauchbar!');
if Jahre<=0 then showmessage('Es können nicht 0 Jahre oder weniger geraucht werden!');
Jahreskosten:= Zigaretten*365/20*3;
Kostenbisher:= Jahreskosten*Jahre;
bis65:= Jahreskosten*(65-Alter)+Kostenbisher;
Jahrg:= Jahre+65-Alter;
Nikotin:= Zigaretten*365*0.5*Jahre/10000;
nik65:= Zigaretten*365*0.5*Jahrg/10000;
Kondensate:= Zigaretten*365*9*Jahre/10000;
kon65:= Zigaretten*365*9*Jahrg/10000;
Verku:= Zigaretten*365*Jahre*3/60;
leben65:= Zigaretten*365*Jahrg*3/60;
Zinsen65:= 0;
while Jahrg > 0 do
begin
Zinsen65:= (Zinsen65+Jahreskosten)*0.05+Zinsen65+Jahreskosten;
Jahrg:= Jahrg-1;
end;
if Kostenbisher<8000 then
begin
kommentar:= 'Ohne rauchen häts für einen Gebrauchtwagen gereicht.';
end
else if Kostenbisher<24000 then
begin
kommentar:= 'Ohne rauchen häts für einen mittelklasse Neuwagen gereicht.';
end
else if Kostenbisher<100000 then
begin
kommentar:= 'Ohne rauchen häts für ein grosses Auto gerreicht.'
end
else if Kostenbisher>=100000 then
begin
kommentar:= 'Ohne rauchen wär alles möglich gewesen!';
end;
CKostenbisher.Caption:= ('Kosten für den bisherigen Zigarettenkonsum (ohne Zinsen): '+Format('%8.2f',[Kostenbisher])+' €');
CBis65.Caption:= ('Kosten bis zum 65. Lebensjahr (bei gleichbleibendem Verbrauch): '+Format('%8.2f',[bis65])+' €');
CZinsen65.Caption:= ('Kosten bis zum 65. Lebensjahr zuzüglich Zinsen: '+Format('%8.2f',[Zinsen65])+' €');
CNikotin.Caption:= ('Aufgenommene Menge Nikotin bisher: '+Format('%6.2f',[Nikotin])+' kg');
CKondensate.Caption:= ('Aufgenommene Menge Kondensate bisher: '+Format('%6.2f',[Kondensate])+' kg');
CLebenserwartung.Caption:= ('Verkürzung der Lebenserwartung bisher: '+Format('%8.2f',[Verku])+' Stunden');
Cnik65.Caption:= ('Aufgenommene Menge Nikotin bis 65: '+Format('%6.2f',[nik65])+' kg');
Ckon65.Caption:= ('Aufgenommene Menge Kondensate bis 65: '+Format('%6.2f',[kon65])+' kg');
Cleben65.Caption:= ('Verkürzung der Lebenserwartung bis 65: '+Format('%8.2f',[leben65])+' Stunden');
CKommentar.Caption:= ('Kommentar: '+Kommentar);
end;
end.
______________________________________________________
cu fortune