Autor Beitrag
Dhakiyah
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 327
Erhaltene Danke: 5

Windows 7
Delphi XE2
BeitragVerfasst: Mo 02.06.08 13:11 
Hallo!
Habe eine Handelskalkulation geschrieben.
Aber er zeigt die Werte nicht im Panel an...

Was ist falsch?

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
var
  Form1: TForm1;

implementation

{$R *.dfm}
var listeneinkaufspreis, lieferrabatt, zieleinkaufspreis, lieferskonto,
    bareinkaufspreis, bezugskosten, bezugspreis, selbstkosten,
    selbstkostenpreis, gewinn, barverkaufspreis, kundenskonto,
    zielverkaufspreis, kundenrabatt, listenverkaufspreis, ust, angebotspreis,
    lieferrabattwert, lieferskontowert, selbstkostenwert, gewinnwert,
    kundenskontowert, kundenrabattwert, ustwert : double;

procedure TForm1.Button1Click(Sender: TObject);
begin
  panel1.caption:= FloatToStr(listeneinkaufspreis);
  panel2.caption:= FloatToStr(lieferrabattwert);
  panel3.caption:= FloatToStr(zieleinkaufspreis);
  panel4.caption:= FloatToStr(lieferskontowert);
  panel5.caption:= FloatToStr(bareinkaufspreis);
  panel6.caption:= FloatToStr(bezugskosten);
  panel7.caption:= FloatToStr(bezugspreis);
  panel8.caption:= FloatToStr(selbstkostenwert);
  panel9.caption:= FloatToStr(selbstkostenpreis);
  panel10.caption:= FloatToStr(gewinnwert);
  panel11.caption:= FloatToStr(barverkaufspreis);
  panel12.caption:= FloatToStr(kundenskontowert);
  panel13.caption:= FloatToStr(zielverkaufspreis);
  panel14.caption:= FloatToStr(kundenrabattwert);
  panel15.caption:= FloatToStr(listenverkaufspreis);
  panel16.caption:= FloatToStr(ustwert);
  panel17.caption:= FloatToStr(angebotspreis);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  if Application.Messagebox ('Soll das Programm wirklich beendet werden?','Programm beenden',36) = 6 then close;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
  listeneinkaufspreis := StrToFloat(Edit1.text);
  lieferrabatt := (listeneinkaufspreis * lieferskontowert)/100;
  zieleinkaufspreis:= listeneinkaufspreis - lieferrabatt;
  lieferskonto:= (zieleinkaufspreis * lieferskontowert)/100;
  bareinkaufspreis := zieleinkaufspreis - lieferskonto;
  bezugskosten:=StrToFloat(Edit4.text);
  bezugspreis:= bareinkaufspreis + bezugskosten;
  selbstkosten:= (bezugspreis * selbstkostenwert)/100;
  selbstkostenpreis:= bezugspreis + selbstkosten;
  gewinn:= (selbstkostenpreis * gewinnwert)/100;
  barverkaufspreis := selbstkostenpreis + gewinn;
  kundenskonto:= (Barverkaufspreis * kundenskontowert) / (100 - Kundenskontowert);
  zielverkaufspreis := barverkaufspreis + kundenskonto;
  kundenrabatt := (zielverkaufspreis * kundenrabattwert) / (100 - Kundenrabattwert);
  listenverkaufspreis := zielverkaufspreis + kundenrabatt;
  ust := (listenverkaufspreis * ustwert) / 100;
  angebotspreis := listenverkaufspreis + ust;

  lieferrabattwert := StrToFloat (Edit2.text);
  lieferskontowert := StrToFloat (Edit3.text);
  selbstkostenwert := StrToFloat (Edit5.text);
  gewinnwert := StrToFloat (Edit6.text);
  kundenskontowert := StrToFloat (Edit7.text);
  kundenrabattwert := StrToFloat (Edit8.text);
  ustwert := StrToFloat (Edit9.text);
  
end;

end.


Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
GericasS
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 540

Windows Vista Home Premium
D2010, VisualStudio2008
BeitragVerfasst: Mo 02.06.08 13:22 
Warum schreibst du das, was im FormActivate steht nicht einfach in das Button1Click Event mit rein ? Oder soll das alles wirklich nur passieren wenn die Form den Focus bekommt ?


LG

GericasS

PS : Ich weiß nicht ob es stimmt aber musst du nicht erst die Werte einlesen um dann mit ihnen zu arbeiten ?

_________________
Alexander N.
Neue Bewaffnung Amilo xi2428 T9300
Dhakiyah Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 327
Erhaltene Danke: 5

Windows 7
Delphi XE2
BeitragVerfasst: Mo 02.06.08 13:26 
So, hab ich...
Jetzt zeigt er zwar was in den Panels an, aber nicht die richtigen Ergebnisse...
Irgendwie rechnet der gar net bis auf das mit den Bezugskosten...

LG
Jasmin
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Mo 02.06.08 13:27 
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
var
  Form1: TForm1;

implementation

{$R *.dfm}
var listeneinkaufspreis, lieferrabatt, zieleinkaufspreis, lieferskonto,
    bareinkaufspreis, bezugskosten, bezugspreis, selbstkosten,
    selbstkostenpreis, gewinn, barverkaufspreis, kundenskonto,
    zielverkaufspreis, kundenrabatt, listenverkaufspreis, ust, angebotspreis,
    lieferrabattwert, lieferskontowert, selbstkostenwert, gewinnwert,
    kundenskontowert, kundenrabattwert, ustwert : double;

procedure TForm1.Button1Click(Sender: TObject);
begin
  //Berechnungen durchführen
  listeneinkaufspreis := StrToFloat(Edit1.text);
  lieferrabatt := (listeneinkaufspreis * lieferskontowert)/100;
  zieleinkaufspreis:= listeneinkaufspreis - lieferrabatt;
  lieferskonto:= (zieleinkaufspreis * lieferskontowert)/100;
  bareinkaufspreis := zieleinkaufspreis - lieferskonto;
  bezugskosten:=StrToFloat(Edit4.text);
  bezugspreis:= bareinkaufspreis + bezugskosten;
  selbstkosten:= (bezugspreis * selbstkostenwert)/100;
  selbstkostenpreis:= bezugspreis + selbstkosten;
  gewinn:= (selbstkostenpreis * gewinnwert)/100;
  barverkaufspreis := selbstkostenpreis + gewinn;
  kundenskonto:= (Barverkaufspreis * kundenskontowert) / (100 - Kundenskontowert);
  zielverkaufspreis := barverkaufspreis + kundenskonto;
  kundenrabatt := (zielverkaufspreis * kundenrabattwert) / (100 - Kundenrabattwert);
  listenverkaufspreis := zielverkaufspreis + kundenrabatt;
  ust := (listenverkaufspreis * ustwert) / 100;
  angebotspreis := listenverkaufspreis + ust;
  lieferrabattwert := StrToFloat (Edit2.text);
  lieferskontowert := StrToFloat (Edit3.text);
  selbstkostenwert := StrToFloat (Edit5.text);
  gewinnwert := StrToFloat (Edit6.text);
  kundenskontowert := StrToFloat (Edit7.text);
  kundenrabattwert := StrToFloat (Edit8.text);
  ustwert := StrToFloat (Edit9.text);

   
  panel1.caption:= FloatToStr(listeneinkaufspreis);
  panel2.caption:= FloatToStr(lieferrabattwert);
  panel3.caption:= FloatToStr(zieleinkaufspreis);
  panel4.caption:= FloatToStr(lieferskontowert);
  panel5.caption:= FloatToStr(bareinkaufspreis);
  panel6.caption:= FloatToStr(bezugskosten);
  panel7.caption:= FloatToStr(bezugspreis);
  panel8.caption:= FloatToStr(selbstkostenwert);
  panel9.caption:= FloatToStr(selbstkostenpreis);
  panel10.caption:= FloatToStr(gewinnwert);
  panel11.caption:= FloatToStr(barverkaufspreis);
  panel12.caption:= FloatToStr(kundenskontowert);
  panel13.caption:= FloatToStr(zielverkaufspreis);
  panel14.caption:= FloatToStr(kundenrabattwert);
  panel15.caption:= FloatToStr(listenverkaufspreis);
  panel16.caption:= FloatToStr(ustwert);
  panel17.caption:= FloatToStr(angebotspreis);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  if Application.Messagebox ('Soll das Programm wirklich beendet werden?','Programm beenden',36) = 6 then close;
end;

end.


Mir fällt beim Überfliegen gerade auf..wo sind public/private und die ganzen Funktionsdeklarationen abgeblieben? :eyes:

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
Dhakiyah Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 327
Erhaltene Danke: 5

Windows 7
Delphi XE2
BeitragVerfasst: Mo 02.06.08 13:28 
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Label3: TLabel;
    Edit2: TEdit;
    Panel1: TPanel;
    Panel2: TPanel;
    Label4: TLabel;
    Panel3: TPanel;
    Edit3: TEdit;
    Panel4: TPanel;
    Label5: TLabel;
    Edit4: TEdit;
    Panel5: TPanel;
    Label6: TLabel;
    Label7: TLabel;
    Panel6: TPanel;
    Label8: TLabel;
    Panel7: TPanel;
    Edit5: TEdit;
    Label9: TLabel;
    Panel8: TPanel;
    Panel9: TPanel;
    Label10: TLabel;
    Panel10: TPanel;
    Edit6: TEdit;
    Label11: TLabel;
    Panel11: TPanel;
    Label12: TLabel;
    Panel12: TPanel;
    Edit7: TEdit;
    Label13: TLabel;
    Panel13: TPanel;
    Label14: TLabel;
    Panel14: TPanel;
    Edit8: TEdit;
    Label15: TLabel;
    Panel15: TPanel;
    Label16: TLabel;
    Label17: TLabel;
    Panel16: TPanel;
    Panel17: TPanel;
    Edit9: TEdit;
    Label18: TLabel;
    Button1: TButton;
    Button2: TButton;
    Label19: TLabel;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
var listeneinkaufspreis, lieferrabatt, zieleinkaufspreis, lieferskonto,
    bareinkaufspreis, bezugskosten, bezugspreis, selbstkosten,
    selbstkostenpreis, gewinn, barverkaufspreis, kundenskonto,
    zielverkaufspreis, kundenrabatt, listenverkaufspreis, ust, angebotspreis,
    lieferrabattwert, lieferskontowert, selbstkostenwert, gewinnwert,
    kundenskontowert, kundenrabattwert, ustwert : double;

procedure TForm1.Button1Click(Sender: TObject);
begin
  listeneinkaufspreis := StrToFloat(Edit1.text);
  lieferrabatt := (listeneinkaufspreis * lieferskontowert)/100;
  zieleinkaufspreis:= listeneinkaufspreis - lieferrabatt;
  lieferskonto:= (zieleinkaufspreis * lieferskontowert)/100;
  bareinkaufspreis := zieleinkaufspreis - lieferskonto;
  bezugskosten:=StrToFloat(Edit4.text);
  bezugspreis:= bareinkaufspreis + bezugskosten;
  selbstkosten:= (bezugspreis * selbstkostenwert)/100;
  selbstkostenpreis:= bezugspreis + selbstkosten;
  gewinn:= (selbstkostenpreis * gewinnwert)/100;
  barverkaufspreis := selbstkostenpreis + gewinn;
  kundenskonto:= (Barverkaufspreis * kundenskontowert) / (100 - Kundenskontowert);
  zielverkaufspreis := barverkaufspreis + kundenskonto;
  kundenrabatt := (zielverkaufspreis * kundenrabattwert) / (100 - Kundenrabattwert);
  listenverkaufspreis := zielverkaufspreis + kundenrabatt;
  ust := (listenverkaufspreis * ustwert) / 100;
  angebotspreis := listenverkaufspreis + ust;

  lieferrabattwert := StrToFloat (Edit2.text);
  lieferskontowert := StrToFloat (Edit3.text);
  selbstkostenwert := StrToFloat (Edit5.text);
  gewinnwert := StrToFloat (Edit6.text);
  kundenskontowert := StrToFloat (Edit7.text);
  kundenrabattwert := StrToFloat (Edit8.text);
  ustwert := StrToFloat (Edit9.text);

  panel1.caption:= FloatToStr(listeneinkaufspreis);
  panel2.caption:= FloatToStr(lieferrabatt);
  panel3.caption:= FloatToStr(zieleinkaufspreis);
  panel4.caption:= FloatToStr(lieferskonto);
  panel5.caption:= FloatToStr(bareinkaufspreis);
  panel6.caption:= FloatToStr(bezugskosten);
  panel7.caption:= FloatToStr(bezugspreis);
  panel8.caption:= FloatToStr(selbstkosten);
  panel9.caption:= FloatToStr(selbstkostenpreis);
  panel10.caption:= FloatToStr(gewinn);
  panel11.caption:= FloatToStr(barverkaufspreis);
  panel12.caption:= FloatToStr(kundenskonto);
  panel13.caption:= FloatToStr(zielverkaufspreis);
  panel14.caption:= FloatToStr(kundenrabatt);
  panel15.caption:= FloatToStr(listenverkaufspreis);
  panel16.caption:= FloatToStr(ust);
  panel17.caption:= FloatToStr(angebotspreis);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  if Application.Messagebox ('Soll das Programm wirklich beendet werden?','Programm beenden',36) = 6 then close;
end;

end.
GericasS
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 540

Windows Vista Home Premium
D2010, VisualStudio2008
BeitragVerfasst: Mo 02.06.08 13:30 
Mh sieht doch alles richtig aus =) du solltest aber vll. alles in ein Event stecken meiner Meinung nach und die Variablen nicht global deklarieren.

EDIT : Die Variablen müssen glaube ich ein wenig höher sein wo die
ausblenden Delphi-Quelltext
1:
2:
var
  Form1: TForm1;

auch steht... =) wenn sie global sein sollen, ansonsten in das Button1Click Event über das erste begin.

_________________
Alexander N.
Neue Bewaffnung Amilo xi2428 T9300


Zuletzt bearbeitet von GericasS am Mo 02.06.08 13:32, insgesamt 1-mal bearbeitet
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Mo 02.06.08 13:32 
Beachte doch einfach mal die Reihenfolge...

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Label3: TLabel;
    Edit2: TEdit;
    Panel1: TPanel;
    Panel2: TPanel;
    Label4: TLabel;
    Panel3: TPanel;
    Edit3: TEdit;
    Panel4: TPanel;
    Label5: TLabel;
    Edit4: TEdit;
    Panel5: TPanel;
    Label6: TLabel;
    Label7: TLabel;
    Panel6: TPanel;
    Label8: TLabel;
    Panel7: TPanel;
    Edit5: TEdit;
    Label9: TLabel;
    Panel8: TPanel;
    Panel9: TPanel;
    Label10: TLabel;
    Panel10: TPanel;
    Edit6: TEdit;
    Label11: TLabel;
    Panel11: TPanel;
    Label12: TLabel;
    Panel12: TPanel;
    Edit7: TEdit;
    Label13: TLabel;
    Panel13: TPanel;
    Label14: TLabel;
    Panel14: TPanel;
    Edit8: TEdit;
    Label15: TLabel;
    Panel15: TPanel;
    Label16: TLabel;
    Label17: TLabel;
    Panel16: TPanel;
    Panel17: TPanel;
    Edit9: TEdit;
    Label18: TLabel;
    Button1: TButton;
    Button2: TButton;
    Label19: TLabel;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    {Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
var listeneinkaufspreis, lieferrabatt, zieleinkaufspreis, lieferskonto,
    bareinkaufspreis, bezugskosten, bezugspreis, selbstkosten,
    selbstkostenpreis, gewinn, barverkaufspreis, kundenskonto,
    zielverkaufspreis, kundenrabatt, listenverkaufspreis, ust, angebotspreis,
    lieferrabattwert, lieferskontowert, selbstkostenwert, gewinnwert,
    kundenskontowert, kundenrabattwert, ustwert : double;

procedure TForm1.Button1Click(Sender: TObject);
begin
  //ERST Variablen belegen
  listeneinkaufspreis := StrToFloat(Edit1.text);
  lieferrabattwert := StrToFloat (Edit2.text);
  lieferskontowert := StrToFloat (Edit3.text);
  selbstkostenwert := StrToFloat (Edit5.text);
  gewinnwert := StrToFloat (Edit6.text);
  kundenskontowert := StrToFloat (Edit7.text);
  kundenrabattwert := StrToFloat (Edit8.text);
  ustwert := StrToFloat (Edit9.text);

  //Dann Rechnen
  lieferrabatt := (listeneinkaufspreis * lieferskontowert)/100;
  zieleinkaufspreis:= listeneinkaufspreis - lieferrabatt;
  lieferskonto:= (zieleinkaufspreis * lieferskontowert)/100;
  bareinkaufspreis := zieleinkaufspreis - lieferskonto;
  bezugskosten:=StrToFloat(Edit4.text);
  bezugspreis:= bareinkaufspreis + bezugskosten;
  selbstkosten:= (bezugspreis * selbstkostenwert)/100;
  selbstkostenpreis:= bezugspreis + selbstkosten;
  gewinn:= (selbstkostenpreis * gewinnwert)/100;
  barverkaufspreis := selbstkostenpreis + gewinn;
  kundenskonto:= (Barverkaufspreis * kundenskontowert) / (100 - Kundenskontowert);
  zielverkaufspreis := barverkaufspreis + kundenskonto;
  kundenrabatt := (zielverkaufspreis * kundenrabattwert) / (100 - Kundenrabattwert);
  listenverkaufspreis := zielverkaufspreis + kundenrabatt;
  ust := (listenverkaufspreis * ustwert) / 100;
  angebotspreis := listenverkaufspreis + ust;

  //Und erst dann ausgeben
  panel1.caption:= FloatToStr(listeneinkaufspreis);
  panel2.caption:= FloatToStr(lieferrabatt);
  panel3.caption:= FloatToStr(zieleinkaufspreis);
  panel4.caption:= FloatToStr(lieferskonto);
  panel5.caption:= FloatToStr(bareinkaufspreis);
  panel6.caption:= FloatToStr(bezugskosten);
  panel7.caption:= FloatToStr(bezugspreis);
  panel8.caption:= FloatToStr(selbstkosten);
  panel9.caption:= FloatToStr(selbstkostenpreis);
  panel10.caption:= FloatToStr(gewinn);
  panel11.caption:= FloatToStr(barverkaufspreis);
  panel12.caption:= FloatToStr(kundenskonto);
  panel13.caption:= FloatToStr(zielverkaufspreis);
  panel14.caption:= FloatToStr(kundenrabatt);
  panel15.caption:= FloatToStr(listenverkaufspreis);
  panel16.caption:= FloatToStr(ust);
  panel17.caption:= FloatToStr(angebotspreis);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  if Application.Messagebox ('Soll das Programm wirklich beendet werden?','Programm beenden',36) = 6 then close;
end;

end.


LG
Stefan

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.


Zuletzt bearbeitet von ZeitGeist87 am Mo 02.06.08 13:33, insgesamt 1-mal bearbeitet
Dhakiyah Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 327
Erhaltene Danke: 5

Windows 7
Delphi XE2
BeitragVerfasst: Mo 02.06.08 13:33 
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Label3: TLabel;
    Edit2: TEdit;
    Panel1: TPanel;
    Panel2: TPanel;
    Label4: TLabel;
    Panel3: TPanel;
    Edit3: TEdit;
    Panel4: TPanel;
    Label5: TLabel;
    Edit4: TEdit;
    Panel5: TPanel;
    Label6: TLabel;
    Label7: TLabel;
    Panel6: TPanel;
    Label8: TLabel;
    Panel7: TPanel;
    Edit5: TEdit;
    Label9: TLabel;
    Panel8: TPanel;
    Panel9: TPanel;
    Label10: TLabel;
    Panel10: TPanel;
    Edit6: TEdit;
    Label11: TLabel;
    Panel11: TPanel;
    Label12: TLabel;
    Panel12: TPanel;
    Edit7: TEdit;
    Label13: TLabel;
    Panel13: TPanel;
    Label14: TLabel;
    Panel14: TPanel;
    Edit8: TEdit;
    Label15: TLabel;
    Panel15: TPanel;
    Label16: TLabel;
    Label17: TLabel;
    Panel16: TPanel;
    Panel17: TPanel;
    Edit9: TEdit;
    Label18: TLabel;
    Button1: TButton;
    Button2: TButton;
    Label19: TLabel;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);
    var listeneinkaufspreis, lieferrabatt, zieleinkaufspreis, lieferskonto,
    bareinkaufspreis, bezugskosten, bezugspreis, selbstkosten,
    selbstkostenpreis, gewinn, barverkaufspreis, kundenskonto,
    zielverkaufspreis, kundenrabatt, listenverkaufspreis, ust, angebotspreis,
    lieferrabattwert, lieferskontowert, selbstkostenwert, gewinnwert,
    kundenskontowert, kundenrabattwert, ustwert : double;

begin
  listeneinkaufspreis := StrToFloat(Edit1.text);
  lieferrabatt := (listeneinkaufspreis * lieferskontowert)/100;
  zieleinkaufspreis:= listeneinkaufspreis - lieferrabatt;
  lieferskonto:= (zieleinkaufspreis * lieferskontowert)/100;
  bareinkaufspreis := zieleinkaufspreis - lieferskonto;
  bezugskosten:=StrToFloat(Edit4.text);
  bezugspreis:= bareinkaufspreis + bezugskosten;
  selbstkosten:= (bezugspreis * selbstkostenwert)/100;
  selbstkostenpreis:= bezugspreis + selbstkosten;
  gewinn:= (selbstkostenpreis * gewinnwert)/100;
  barverkaufspreis := selbstkostenpreis + gewinn;
  kundenskonto:= (Barverkaufspreis * kundenskontowert) / (100 - Kundenskontowert);
  zielverkaufspreis := barverkaufspreis + kundenskonto;
  kundenrabatt := (zielverkaufspreis * kundenrabattwert) / (100 - Kundenrabattwert);
  listenverkaufspreis := zielverkaufspreis + kundenrabatt;
  ust := (listenverkaufspreis * ustwert) / 100;
  angebotspreis := listenverkaufspreis + ust;

  lieferrabattwert := StrToFloat (Edit2.text);
  lieferskontowert := StrToFloat (Edit3.text);
  selbstkostenwert := StrToFloat (Edit5.text);
  gewinnwert := StrToFloat (Edit6.text);
  kundenskontowert := StrToFloat (Edit7.text);
  kundenrabattwert := StrToFloat (Edit8.text);
  ustwert := StrToFloat (Edit9.text);

  panel1.caption:= FloatToStr(listeneinkaufspreis);
  panel2.caption:= FloatToStr(lieferrabatt);
  panel3.caption:= FloatToStr(zieleinkaufspreis);
  panel4.caption:= FloatToStr(lieferskonto);
  panel5.caption:= FloatToStr(bareinkaufspreis);
  panel6.caption:= FloatToStr(bezugskosten);
  panel7.caption:= FloatToStr(bezugspreis);
  panel8.caption:= FloatToStr(selbstkosten);
  panel9.caption:= FloatToStr(selbstkostenpreis);
  panel10.caption:= FloatToStr(gewinn);
  panel11.caption:= FloatToStr(barverkaufspreis);
  panel12.caption:= FloatToStr(kundenskonto);
  panel13.caption:= FloatToStr(zielverkaufspreis);
  panel14.caption:= FloatToStr(kundenrabatt);
  panel15.caption:= FloatToStr(listenverkaufspreis);
  panel16.caption:= FloatToStr(ust);
  panel17.caption:= FloatToStr(angebotspreis);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  if Application.Messagebox ('Soll das Programm wirklich beendet werden?','Programm beenden',36) = 6 then close;
end;

end.




Wenn ich 3000 als Anfangswert eingebe und 1000 als Bezugskosten, dann zeigt er mir in den Ergebnissen (xxxpreis) 3000 nach den bezugskosten 4000 an.
Bei den anderen Werten zeigt er mir 0 an...
GericasS
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 540

Windows Vista Home Premium
D2010, VisualStudio2008
BeitragVerfasst: Mo 02.06.08 13:35 
Muss das einlesen der Werte nicht vor dem arbeiten damit erfolgen ?
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
procedure TForm1.Button1Click(Sender: TObject);
    var listeneinkaufspreis, lieferrabatt, zieleinkaufspreis, lieferskonto,
    bareinkaufspreis, bezugskosten, bezugspreis, selbstkosten,
    selbstkostenpreis, gewinn, barverkaufspreis, kundenskonto,
    zielverkaufspreis, kundenrabatt, listenverkaufspreis, ust, angebotspreis,
    lieferrabattwert, lieferskontowert, selbstkostenwert, gewinnwert,
    kundenskontowert, kundenrabattwert, ustwert : double;

begin
  
  lieferrabattwert := StrToFloat (Edit2.text);
  lieferskontowert := StrToFloat (Edit3.text);
  selbstkostenwert := StrToFloat (Edit5.text);
  gewinnwert := StrToFloat (Edit6.text);
  kundenskontowert := StrToFloat (Edit7.text);
  kundenrabattwert := StrToFloat (Edit8.text);
  ustwert := StrToFloat (Edit9.text);

  listeneinkaufspreis := StrToFloat(Edit1.text);
  lieferrabatt := (listeneinkaufspreis * lieferskontowert)/100;
  zieleinkaufspreis:= listeneinkaufspreis - lieferrabatt;
  lieferskonto:= (zieleinkaufspreis * lieferskontowert)/100;
  bareinkaufspreis := zieleinkaufspreis - lieferskonto;
  bezugskosten:=StrToFloat(Edit4.text);
  bezugspreis:= bareinkaufspreis + bezugskosten;
  selbstkosten:= (bezugspreis * selbstkostenwert)/100;
  selbstkostenpreis:= bezugspreis + selbstkosten;
  gewinn:= (selbstkostenpreis * gewinnwert)/100;
  barverkaufspreis := selbstkostenpreis + gewinn;
  kundenskonto:= (Barverkaufspreis * kundenskontowert) / (100 - Kundenskontowert);
  zielverkaufspreis := barverkaufspreis + kundenskonto;
  kundenrabatt := (zielverkaufspreis * kundenrabattwert) / (100 - Kundenrabattwert);
  listenverkaufspreis := zielverkaufspreis + kundenrabatt;
  ust := (listenverkaufspreis * ustwert) / 100;
  angebotspreis := listenverkaufspreis + ust;

  panel1.caption:= FloatToStr(listeneinkaufspreis);
  panel2.caption:= FloatToStr(lieferrabatt);
  panel3.caption:= FloatToStr(zieleinkaufspreis);
  panel4.caption:= FloatToStr(lieferskonto);
  panel5.caption:= FloatToStr(bareinkaufspreis);
  panel6.caption:= FloatToStr(bezugskosten);
  panel7.caption:= FloatToStr(bezugspreis);
  panel8.caption:= FloatToStr(selbstkosten);
  panel9.caption:= FloatToStr(selbstkostenpreis);
  panel10.caption:= FloatToStr(gewinn);
  panel11.caption:= FloatToStr(barverkaufspreis);
  panel12.caption:= FloatToStr(kundenskonto);
  panel13.caption:= FloatToStr(zielverkaufspreis);
  panel14.caption:= FloatToStr(kundenrabatt);
  panel15.caption:= FloatToStr(listenverkaufspreis);
  panel16.caption:= FloatToStr(ust);
  panel17.caption:= FloatToStr(angebotspreis);
end;

_________________
Alexander N.
Neue Bewaffnung Amilo xi2428 T9300
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Mo 02.06.08 13:37 
user profile iconGericasS hat folgendes geschrieben:
Muss das einlesen der Werte nicht vor dem arbeiten damit erfolgen ?


Man beachte meinen Post :eyes:

Da kann man scrollen..und durch Orange ist das sogar noch hervorgehoben..

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
GericasS
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 540

Windows Vista Home Premium
D2010, VisualStudio2008
BeitragVerfasst: Mo 02.06.08 13:38 
user profile iconZeitGeist87 hat folgendes geschrieben:
user profile iconGericasS hat folgendes geschrieben:
Muss das einlesen der Werte nicht vor dem arbeiten damit erfolgen ?


Man beachte meinen Post :eyes:

Da kann man scrollen..und durch Orange ist das sogar noch hervorgehoben..


sry hab ich erst nach meinem post gesehen :oops:

_________________
Alexander N.
Neue Bewaffnung Amilo xi2428 T9300
Dhakiyah Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 327
Erhaltene Danke: 5

Windows 7
Delphi XE2
BeitragVerfasst: Mo 02.06.08 13:39 
So, geht, aber wie beschränke ich jetzt die Ein- und Ausgabe?
Ich will ja, dass es sauber aussieht.
GericasS
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 540

Windows Vista Home Premium
D2010, VisualStudio2008
BeitragVerfasst: Mo 02.06.08 13:40 
user profile iconDhakiyah hat folgendes geschrieben:
So, geht, aber wie beschränke ich jetzt die Ein- und Ausgabe?
Ich will ja, dass es sauber aussieht.


Ja, das was du nicht ausgeben willst gibst du einfach nicht aus oder was willst du genau ?
Oder gibst es aus, wenn z.B ein gewisser Wert erst erreicht ist..

_________________
Alexander N.
Neue Bewaffnung Amilo xi2428 T9300
Dhakiyah Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 327
Erhaltene Danke: 5

Windows 7
Delphi XE2
BeitragVerfasst: Mo 02.06.08 13:43 
Beispiel:
Ich will das man nur 0000000000.00 eingeben kann, d.h. 10 Stellen mit höchstens zwei Nachkommastellen

UND

In der Ausgabe, also im Panel soll das selbe sein. 10 Stellen mit 2 Nachkommastellen...

LG
Jasmin
GericasS
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 540

Windows Vista Home Premium
D2010, VisualStudio2008
BeitragVerfasst: Mo 02.06.08 13:45 
user profile iconDhakiyah hat folgendes geschrieben:
Beispiel:
Ich will das man nur 0000000000.00 eingeben kann, d.h. 10 Stellen mit höchstens zwei Nachkommastellen

UND

In der Ausgabe, also im Panel soll das selbe sein. 10 Stellen mit 2 Nachkommastellen...

LG
Jasmin


Ich glaube da kommt dann MaskEdit zum einsatz aber wie es funktioniert weiß ich leider nicht. Die Nachkommastellen kannst du ja runden.

so könnte es z.B aussehen

ausblenden Delphi-Quelltext
1:
Maskedit1.Text := Format('%-.3f', [StrToFloat(Maskedit1.Text)])					


Die Dezimalstelle wird auf 3 Stellen hinters Komma getrennt bzw. gerundet.

_________________
Alexander N.
Neue Bewaffnung Amilo xi2428 T9300


Zuletzt bearbeitet von GericasS am Mo 02.06.08 13:47, insgesamt 1-mal bearbeitet
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Mo 02.06.08 13:47 
Für die Ausgabe gibts den Format-BefehlSuche in der Entwickler-Ecke FORMAT

Für die Eingabe kannst du wie Alex richtig sagt, das MaskEdit (Palette "Zusätzlich") verwenden.

Oder einfach ein globes OnKeyDown-Event für die Edits und alles selbst abhandeln und formatieren.

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
Dhakiyah Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 327
Erhaltene Danke: 5

Windows 7
Delphi XE2
BeitragVerfasst: Mo 02.06.08 14:31 
Bei der Ausgabe geht es.
Wie mache ich das bei der Eingabe? OHNE dieses MaskEdit?

LG
Jasmin
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Mo 02.06.08 14:37 
Dazu hast du viele Möglichkeiten..

Überleg doch mal selbst ;-)

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
Dhakiyah Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 327
Erhaltene Danke: 5

Windows 7
Delphi XE2
BeitragVerfasst: Mo 02.06.08 14:40 
Grml...
Was glaubst du mache ich die ganze Zeit???
Habs auch schon mit diesem Format versucht, da kommt dann aber ein Fehler, das dieses so nicht geht (so in der Art)...
Und über den Objektinspektor finde ich nix...

:(
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Mo 02.06.08 14:43 
user profile iconDhakiyah hat folgendes geschrieben:
Grml...
Was glaubst du mache ich die ganze Zeit???
Habs auch schon mit diesem Format versucht, da kommt dann aber ein Fehler, das dieses so nicht geht (so in der Art)...
Und über den Objektinspektor finde ich nix...

:(


Hey..ruhig bleiben!

Aber woran erkennen wir, dass du selbst überlegst?
Du zeigst uns ja nicht auf, was du schon alles probiert hast, bzw. wie du an dieses Problem rangegangen bist..

Im OI kannst du OnKeyPress nehmen..

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.