Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Problem mit dem Ergebnisbutton?


Ricky2007 - Di 25.11.08 21:30
Titel: Problem mit dem Ergebnisbutton?
Hallo liebe Delphi Gemeinde:D

ich bin neu hier und wollte mich jetzt auch mal von Delphi begeistern lassen....
Mein Problem ist folgendes.Ich programmiere grade einen Taschenrechner der die zahlen 0-9 als Buttons enthält; durch den Klick auf den Button erscheint dann die Zahl im edit Fenster, dazuhabe habe ich die 4 Grundrechenarten + Wurzelrechnen in den Rechner eingebaut...

Um mein Werk aber komplett zu machen, fehlt mir noch der Ergebnisbutton(ist gleich=)...
Bei dem Ergebnisbutton habe ich so meine Probleme, ich habe irgendwie garkeine Idee wie ich das machen kann, das er mir alles so ausrechnet wie ich das will!?

Ich hoffe ich konnte einigermaßen erklären was mein Problem ist=)
Ich hoffe ihr könnt mir eine Tipps geben.

Danke im voraus!!!


Zum besseren Verständnis poste ich mal meinen bisherigen quelltext--->



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:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    Button9: TButton;
    Button10: TButton;
    Edit1: TEdit;
    Button11: TButton;
    Button12: TButton;
    Button13: TButton;
    Button14: TButton;
    Button15: TButton;
    Button16: TButton;
    Button17: TButton;
    Button18: TButton;
    RadioGroup1: TRadioGroup;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    Button19: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure Button13Click(Sender: TObject);
    procedure Button14Click(Sender: TObject);
    procedure Button15Click(Sender: TObject);
    procedure Button17Click(Sender: TObject);
    procedure Button18Click(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
    procedure RadioButton3Click(Sender: TObject);
    procedure Button19Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation
  var Zahl: String;
        x, Zwischenergebnis: real;
        Operation: Integer; 
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
     Edit1.text := Edit1.Text + Button1.Caption;
     Zahl := Edit1.Text;
     x := StrToFloat(Zahl);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
     Edit1.text := Edit1.Text + Button2.Caption;
     Zahl := Edit1.Text;
     x := StrToFloat(Zahl);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
     Edit1.text := Edit1.Text + Button3.Caption;
     Zahl := Edit1.Text;
     x := StrToFloat(Zahl);
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
     Edit1.text := Edit1.Text + Button4.Caption;
     Zahl := Edit1.Text;
     x := StrToFloat(Zahl);
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
     Edit1.text := Edit1.Text + Button5.Caption;
     Zahl := Edit1.Text;
     x := StrToFloat(Zahl);
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
     Edit1.text := Edit1.Text + Button6.Caption;
     Zahl := Edit1.Text;
     x := StrToFloat(Zahl);
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
     Edit1.text := Edit1.Text + Button7.Caption;
     Zahl := Edit1.Text;
     x := StrToFloat(Zahl);
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
     Edit1.text := Edit1.Text + Button8.Caption;
     Zahl := Edit1.Text;
     x := StrToFloat(Zahl);
end;

procedure TForm1.Button9Click(Sender: TObject);
begin
     Edit1.text := Edit1.Text + Button9.Caption;
     Zahl := Edit1.Text;
     x := StrToFloat(Zahl);
end;

procedure TForm1.Button10Click(Sender: TObject);
begin
     Edit1.text := Edit1.Text + Button10.Caption;
     Zahl := Edit1.Text;
     x := StrToFloat(Zahl);
end;

procedure TForm1.Button11Click(Sender: TObject);
begin
     Edit1.Text := Edit1.Text + Button11.Caption;
   Zahl := ',';
end;

procedure TForm1.Button12Click(Sender: TObject);
begin
     If Operation = 1 then Zwischenergebnis := Zwischenergebnis + x; 
     Edit1.Text := ''
     x := 0;
     Operation := 1;
end;

procedure TForm1.Button13Click(Sender: TObject);
begin
     If Operation = 2 then Zwischenergebnis := Zwischenergebnis - x; 
     Edit1.Text := ''
     x := 0;
     Operation := 1;
end;

procedure TForm1.Button14Click(Sender: TObject);
begin
     If Operation = 3 then Zwischenergebnis := Zwischenergebnis * x; 
     Edit1.Text := ''
     x := 0;
     Operation := 1;
end;

procedure TForm1.Button15Click(Sender: TObject);
begin
     If Operation = 4 then Zwischenergebnis := Zwischenergebnis / x;
     Edit1.Text := ''
     x := 0;
     Operation := 1;
end;


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

procedure TForm1.Button18Click(Sender: TObject);
begin
     edit1.clear;
end;

procedure TForm1.RadioButton1Click(Sender: TObject);
begin
     Form1.Color:=clRed; 
end;

procedure TForm1.RadioButton2Click(Sender: TObject);
begin
     Form1.Color:=clGreen;
end;

procedure TForm1.RadioButton3Click(Sender: TObject);
begin
     Form1.Color:=clBlue;
end;

procedure TForm1.Button19Click(Sender: TObject);
begin
     Form1.Color:=clBtnFace;
end;

end.


Moderiert von user profile iconGausi: Delphi-Tags hinzugefügt


FinnO - Di 25.11.08 21:33

Setz doch bitte mal deinen Code in <span class="inlineSyntax"><span class="codecomment">{PROTECTTAG5bf24bd312e2c5f87ba41f4f2c91bd6e}</span></span> - Tags


Ricky2007 - Di 25.11.08 21:35

user profile iconFinnO hat folgendes geschrieben Zum zitierten Posting springen:
Setz doch bitte mal deinen Code in <span class="inlineSyntax"><span class="codecomment">{PROTECTTAG9e45d95ddc99048638bccd41e640a4f1}</span></span> - Tags


Wie mache ich das?


FinnO - Di 25.11.08 21:40

vor den Code schreibst du [ Delphi] , dahinter [ /Delphi]


Delphi-Quelltext
1:
begin ... end// so siehts dann aus....                    


wenn du jetzt noch den Kram ausgeben würdest...


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
     ...
     If Operation = 4 then Zwischenergebnis := Zwischenergebnis / x; 
     Edit1.Text := '';  
     x := 0
     Operation := 1;
     Edit1.Text := FloatToStr(Zwischenergebnis);


Ricky2007 - Di 25.11.08 21:46

user profile iconFinnO hat folgendes geschrieben Zum zitierten Posting springen:
vor den Code schreibst du [ Delphi] , dahinter [ /Delphi]


Delphi-Quelltext
1:
begin ... end// so siehts dann aus....                    


wenn du jetzt noch den Kram ausgeben würdest...


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
     ...
     If Operation = 4 then Zwischenergebnis := Zwischenergebnis / x; 
     Edit1.Text := '';  
     x := 0
     Operation := 1;
     Edit1.Text := FloatToStr(Zwischenergebnis);


Wie mache ich das denn??

Dann muss ich doch irgendwie StrToFloat oder so schreiben oder?


Jakob_Ullmann - Di 25.11.08 21:52

Nein. Das zwischenergebnis ist eine Zahl, also Float. Du möchtest das nun einem Edit.Text zuweisen, das ist string. Du musst also ein Float in einen String umwandeln, also

float --> string

=> floattostr und nicht strtofloat :)


Ricky2007 - Di 25.11.08 22:10

user profile iconJakob_Ullmann hat folgendes geschrieben Zum zitierten Posting springen:
Nein. Das zwischenergebnis ist eine Zahl, also Float. Du möchtest das nun einem Edit.Text zuweisen, das ist string. Du musst also ein Float in einen String umwandeln, also

float --> string

=> floattostr und nicht strtofloat :)


das muss ich angeben wenn ich den ergebnisbutton definieren will??

ich stehe grad irgendwie auf dem schlauch^^


FinnO - Di 25.11.08 22:27

ich hab jetzt mal geraten ,dass der Button dein Ergebnisbutton ist?!^^ oder hast du einen Zwischenergebnisbutton ? :D