Autor Beitrag
blackraziel
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mo 22.10.07 21:09 
meine taschenrechner will einfach meine aufgaben net rechen also teilen plus mal minus warum? wo ist der fehler. bitte um hilfe :)

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:
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:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    Button9: TButton;
    Button10: TButton;
    Button11: TButton;
    Button12: TButton;
    Button13: TButton;
    Button14: TButton;
    Button15: TButton;
    Button16: TButton;
    Button17: TButton;
    Button18: TButton;
    Button19: TButton;
    tbitbtn1: TButton;
    Button_close: TButton;
    Button_Info: TButton;
    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 tbitbtn1Click(Sender: TObject);
    procedure Button15Click(Sender: TObject);
    procedure Button16Click(Sender: TObject);
    procedure Button17Click(Sender: TObject);
    procedure Button18Click(Sender: TObject);
    procedure Button19Click(Sender: TObject);
    procedure Button_closeClick(Sender: TObject);
    procedure Button_InfoClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var 
  Form1: TForm1; 

implementation

uses Unit2;
    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
    if Pos(',',Edit1.Text) = 0 then 
     begin
       Edit1.text := Edit1.Text + Button11.Caption;
       Zahl := Edit1.Text;
       x := StrToFloat(Zahl); 
     end

end;

procedure TForm1.Button12Click(Sender: TObject);
begin
 if Operation = 0 then Zwischenergebnis := x; 
     If Operation = 1 then Zwischenergebnis := Zwischenergebnis + x; 
     If Operation = 2 Then Zwischenergebnis := Zwischenergebnis - x; 
     If Operation = 3 Then Zwischenergebnis := Zwischenergebnis * x; 
     If Operation = 4 Then 
         begin 
            if x <> 0 
            then Zwischenergebnis := Zwischenergebnis / x
            else ShowMessage('Bitte keine Division durch Null!'); 
         end;
     Operation := 0// letzte Operation ist keine 
     x := Zwischenergebnis; 
     Edit1.Text := FloatToStr(Zwischenergebnis);

end;

procedure TForm1.Button13Click(Sender: TObject);
begin
 if Operation = 0 then Zwischenergebnis := x; 
     If Operation = 1 then Zwischenergebnis := Zwischenergebnis + x; 
     If Operation = 2 Then Zwischenergebnis := Zwischenergebnis - x; 
     If Operation = 3 Then Zwischenergebnis := Zwischenergebnis * x; 
     If Operation = 4 Then
         begin
            if x <> 0 
            then Zwischenergebnis := Zwischenergebnis / x 
            else ShowMessage('Bitte keine Division durch Null!'); 
         end
     Edit1.Text := ''
     x := 0;
     Operation := 1// letzte Operation ist Plus 


end;



procedure TForm1.tbitbtn1Click(Sender: TObject);
begin
  Zwischenergebnis := 0
     Edit1.Text := ''
     x := 0
     Operation := 0// keine Operation 

end;


 procedure TForm1.Button14Click(Sender: TObject);
begin
     if Operation = 0 then Zwischenergebnis := x; 
     If Operation = 1 Then Zwischenergebnis := Zwischenergebnis + x; 
     If Operation = 2 then Zwischenergebnis := Zwischenergebnis - x; 
     If Operation = 3 Then Zwischenergebnis := Zwischenergebnis * x; 
     If Operation = 4 Then 
         begin 
            if x <> 0
            then Zwischenergebnis := Zwischenergebnis / x 
            else ShowMessage('Bitte keine Division durch Null!'); 
         end
     Edit1.Text := ''
     x := 0
     Operation := 2// letzte Operation ist Minus 

end

procedure TForm1.Button15Click(Sender: TObject);
begin
if Operation = 0 then Zwischenergebnis := x; 
     If Operation = 1 Then Zwischenergebnis := Zwischenergebnis + x; 
     If Operation = 2 Then Zwischenergebnis := Zwischenergebnis - x; 
     If Operation = 3 Then Zwischenergebnis := Zwischenergebnis * x; 
     If Operation = 4 Then 
         begin 
            if x <> 0 
            then Zwischenergebnis := Zwischenergebnis / x 
            else ShowMessage('Bitte keine Division durch Null!'); 
         end
     Edit1.Text := ''
     x := 0
     Operation := 3// letzte Operation ist Mal 
end



procedure TForm1.Button16Click(Sender: TObject);
begin
if Operation = 0 then Zwischenergebnis := x;
     If Operation = 1 Then Zwischenergebnis := Zwischenergebnis + x; 
     If Operation = 2 Then Zwischenergebnis := Zwischenergebnis - x; 
     If Operation = 3 Then Zwischenergebnis := Zwischenergebnis * x; 
     If Operation = 4 
     Then 
         begin 
            if x <> 0 
            then Zwischenergebnis := Zwischenergebnis / x 
            else ShowMessage('Bitte keine Division durch Null!'); 
         end

     Edit1.Text := ''
     x := 0
     Operation := 4// letzte Operation ist Teilen

end;

procedure TForm1.Button17Click(Sender: TObject);
begin
   (* Vorzeichenwechsel *) 
     x := StrToFloat(Edit1.Text); 
     x := -x; 
     Edit1.text := FloatToStr(x); 
     Zahl := Edit1.Text; 


end;

procedure TForm1.Button18Click(Sender: TObject);
begin
  (* Kehrwert, aber nur, wenn ungleich Null *) 
     if x <> 0 then 
     begin 
       x := StrToFloat(Edit1.Text); 
       x := 1/x; 
       Edit1.text := FloatToStr(x); 
       Zahl := Edit1.Text; 
     end 
     else 
     ShowMessage('Von Null gibt es keinen Kehrwert!'); 

end;

procedure TForm1.Button19Click(Sender: TObject);

 var i,j: Integer;
begin 
     (* letztes Zeichen löschen, wenn es existiert *) 

     (* Vorzeichen  Minus? - Das darf nicht allein stehen bleiben! *) 
     j := 0
     if Copy(Edit1.Text,1,1) = '-' then j := 1
     
     (* Zeichenanzahl *) 
     i := length(Edit1.Text); 
     if i > 1 + j then 
     begin 
       (* alle Zeichen vom 1. bis zum vorletzten *) 
       Edit1.text := Copy(Edit1.Text,1,i-1); 
       Zahl := Edit1.Text;
       x := StrToFloat(Zahl); 
     end
end



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

procedure TForm1.Button_InfoClick(Sender: TObject);
begin
  form2.show;
end;


end.


Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1335
Erhaltene Danke: 118

Win 10
RIO, CE, Lazarus
BeitragVerfasst: Mo 22.10.07 22:10 
Wenn du die operation nicht festlegst bevor du prüfst was für eine operation durchgeführt werden soll kann das ja auch nix werden.
Da stimmst du mir doch sicher zu?

_________________
Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?