Forum: Gesperrte Threads Schnelle Hilfe beim Programmieren eines Taschenrechners in Delphi7


von Hans (Gast)


Lesenswert?

1
Project1:
2
program Project1;
3
4
uses
5
  Forms,
6
  Unit1 in 'Unit1.pas' {Form1};
7
8
{$R *.res}
9
10
begin
11
  Application.Initialize;
12
  Application.CreateForm(TForm1, Form1);
13
  Application.Run;
14
  
15
end.
16
17
Unit1:
18
19
  unit Unit1;
20
21
interface
22
23
uses
24
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
25
  Buttons, StdCtrls, ExtCtrls;
26
27
type
28
  TForm1 = class(TForm)
29
    Edit1: TEdit;
30
    Speedbutton1: TButton;
31
    Speedbutton2: TButton;
32
    Speedbutton3: TButton;
33
    Speedbutton4: TButton;
34
    Speedbutton5: TButton;
35
    Speedbutton6: TButton;
36
    Speedbutton7: TButton;
37
    Speedbutton8: TButton;
38
    Speedbutton9: TButton;
39
    Speedbutton10: TButton;
40
    ButtonMinus: TButton;
41
    Speedbutton11: TButton;
42
    procedure SpeedButton1Click(Sender: TObject);
43
    procedure SpeedButton2Click(Sender: TObject); 
44
    procedure SpeedButton3Click(Sender: TObject); 
45
    procedure SpeedButton4Click(Sender: TObject);
46
    procedure SpeedButton5Click(Sender: TObject); 
47
    procedure SpeedButton6Click(Sender: TObject);
48
    procedure SpeedButton7Click(Sender: TObject); 
49
    procedure SpeedButton8Click(Sender: TObject);
50
    procedure SpeedButton9Click(Sender: TObject);
51
    procedure SpeedButton10Click(Sender: TObject);
52
    procedure SpeedButton11Click(Sender: TObject); 
53
    procedure SpeedButton12Click(Sender: TObject);
54
    procedure SpeedButton13Click(Sender: TObject);
55
    procedure BitBtn2Click(Sender: TObject); 
56
    procedure SpeedButton14Click(Sender: TObject); 
57
    procedure SpeedButton15Click(Sender: TObject); 
58
    procedure SpeedButton16Click(Sender: TObject); 
59
    procedure SpeedButton17Click(Sender: TObject); 
60
    procedure SpeedButton18Click(Sender: TObject); 
61
    procedure SpeedButton19Click(Sender: TObject); 
62
  private 
63
    { Private-Deklarationen } 
64
  public 
65
    { Public-Deklarationen } 
66
  end; 
67
68
var 
69
  Form1: TForm1; 
70
71
implementation 
72
    var Zahl: String; 
73
        x, Zwischenergebnis: real; 
74
        Operation: Integer; 
75
{$R *.DFM} 
76
77
procedure TForm1.SpeedButton1Click(Sender: TObject); 
78
begin
79
     Edit1.text := Edit1.Text + SpeedButton1.Caption;
80
     Zahl := Edit1.Text; 
81
     x := StrToFloat(Zahl); 
82
end; 
83
84
procedure TForm1.SpeedButton2Click(Sender: TObject); 
85
begin
86
     Edit1.text := Edit1.Text + SpeedButton2.Caption;
87
     Zahl := Edit1.Text; 
88
     x := StrToFloat(Zahl); 
89
90
end;
91
92
procedure TForm1.SpeedButton3Click(Sender: TObject); 
93
begin
94
     Edit1.text := Edit1.Text + SpeedButton3.Caption;
95
     Zahl := Edit1.Text;
96
     x := StrToFloat(Zahl);
97
98
end; 
99
100
procedure TForm1.SpeedButton4Click(Sender: TObject); 
101
begin
102
     Edit1.text := Edit1.Text + SpeedButton4.Caption;
103
     Zahl := Edit1.Text; 
104
     x := StrToFloat(Zahl); 
105
106
end; 
107
108
procedure TForm1.SpeedButton5Click(Sender: TObject); 
109
begin
110
     Edit1.text := Edit1.Text + SpeedButton5.Caption;
111
     Zahl := Edit1.Text; 
112
     x := StrToFloat(Zahl); 
113
114
end; 
115
116
procedure TForm1.SpeedButton6Click(Sender: TObject); 
117
begin
118
     Edit1.text := Edit1.Text + SpeedButton6.Caption;
119
     Zahl := Edit1.Text; 
120
     x := StrToFloat(Zahl); 
121
122
end; 
123
124
procedure TForm1.SpeedButton7Click(Sender: TObject); 
125
begin
126
     Edit1.text := Edit1.Text + SpeedButton7.Caption;
127
     Zahl := Edit1.Text; 
128
     x := StrToFloat(Zahl); 
129
130
end;
131
132
procedure TForm1.SpeedButton8Click(Sender: TObject); 
133
begin
134
     Edit1.text := Edit1.Text + SpeedButton8.Caption;
135
     Zahl := Edit1.Text; 
136
     x := StrToFloat(Zahl); 
137
138
end; 
139
140
procedure TForm1.SpeedButton9Click(Sender: TObject); 
141
begin
142
     Edit1.text := Edit1.Text + SpeedButton9.Caption;
143
     Zahl := Edit1.Text; 
144
     x := StrToFloat(Zahl); 
145
146
end; 
147
148
procedure TForm1.SpeedButton10Click(Sender: TObject); 
149
begin
150
     Edit1.text := Edit1.Text + SpeedButton10.Caption;
151
     Zahl := Edit1.Text; 
152
     x := StrToFloat(Zahl); 
153
154
end; 
155
156
procedure TForm1.SpeedButton11Click(Sender: TObject); 
157
begin 
158
     if Pos(',',Edit1.Text) = 0 then 
159
     begin
160
       Edit1.text := Edit1.Text + SpeedButton11.Caption;
161
       Zahl := Edit1.Text; 
162
       x := StrToFloat(Zahl); 
163
     end; 
164
end; 
165
166
procedure TForm1.SpeedButton12Click(Sender: TObject); 
167
begin 
168
     if Operation = 0 then Zwischenergebnis := x; 
169
     If Operation = 1 then Zwischenergebnis := Zwischenergebnis + x; 
170
     If Operation = 2 Then Zwischenergebnis := Zwischenergebnis - x;
171
     If Operation = 3 Then Zwischenergebnis := Zwischenergebnis * x; 
172
     If Operation = 4 Then 
173
         begin 
174
            if x <> 0 
175
            then Zwischenergebnis := Zwischenergebnis / x 
176
            else ShowMessage('Bitte keine Division durch Null!'); 
177
         end; 
178
     Operation := 0; // letzte Operation ist keine 
179
     x := Zwischenergebnis; 
180
     Edit1.Text := FloatToStr(Zwischenergebnis); 
181
end; 
182
183
procedure TForm1.SpeedButton13Click(Sender: TObject); 
184
begin 
185
     if Operation = 0 then Zwischenergebnis := x; 
186
     If Operation = 1 then Zwischenergebnis := Zwischenergebnis + x; 
187
     If Operation = 2 Then Zwischenergebnis := Zwischenergebnis - x; 
188
     If Operation = 3 Then Zwischenergebnis := Zwischenergebnis * x; 
189
     If Operation = 4 Then 
190
         begin
191
            if x <> 0 
192
            then Zwischenergebnis := Zwischenergebnis / x 
193
            else ShowMessage('Bitte keine Division durch Null!'); 
194
         end; 
195
     Edit1.Text := ''; 
196
     x := 0; 
197
     Operation := 1; // letzte Operation ist Plus 
198
end; 
199
200
procedure TForm1.BitBtn2Click(Sender: TObject); 
201
begin 
202
     Zwischenergebnis := 0; 
203
     Edit1.Text := ''; 
204
     x := 0; 
205
     Operation := 0; // keine Operation 
206
207
end; 
208
209
procedure TForm1.SpeedButton14Click(Sender: TObject); 
210
begin
211
     if Operation = 0 then Zwischenergebnis := x; 
212
     If Operation = 1 Then Zwischenergebnis := Zwischenergebnis + x; 
213
     If Operation = 2 then Zwischenergebnis := Zwischenergebnis - x; 
214
     If Operation = 3 Then Zwischenergebnis := Zwischenergebnis * x; 
215
     If Operation = 4 Then 
216
         begin 
217
            if x <> 0 
218
            then Zwischenergebnis := Zwischenergebnis / x
219
            else ShowMessage('Bitte keine Division durch Null!');
220
         end;
221
     Edit1.Text := '';
222
     x := 0;
223
     Operation := 2; // letzte Operation ist Minus
224
225
end;
226
227
procedure TForm1.SpeedButton15Click(Sender: TObject);
228
begin
229
     if Operation = 0 then Zwischenergebnis := x;
230
     If Operation = 1 Then Zwischenergebnis := Zwischenergebnis + x;
231
     If Operation = 2 Then Zwischenergebnis := Zwischenergebnis - x;
232
     If Operation = 3 Then Zwischenergebnis := Zwischenergebnis * x;
233
     If Operation = 4 Then
234
         begin
235
            if x <> 0
236
            then Zwischenergebnis := Zwischenergebnis / x
237
            else ShowMessage('Bitte keine Division durch Null!');
238
         end;
239
     Edit1.Text := '';
240
     x := 0;
241
     Operation := 3; // letzte Operation ist Mal
242
end;
243
244
procedure TForm1.SpeedButton16Click(Sender: TObject);
245
begin
246
     if Operation = 0 then Zwischenergebnis := x;
247
     If Operation = 1 Then Zwischenergebnis := Zwischenergebnis + x;
248
     If Operation = 2 Then Zwischenergebnis := Zwischenergebnis - x;
249
     If Operation = 3 Then Zwischenergebnis := Zwischenergebnis * x;
250
     If Operation = 4
251
     Then
252
         begin
253
            if x <> 0
254
            then Zwischenergebnis := Zwischenergebnis / x
255
            else ShowMessage('Bitte keine Division durch Null!');
256
         end;
257
258
     Edit1.Text := '';
259
     x := 0;
260
     Operation := 4; // letzte Operation ist Teilen
261
262
end;
263
264
procedure TForm1.SpeedButton17Click(Sender: TObject);
265
begin
266
     (* Vorzeichenwechsel *)
267
     x := StrToFloat(Edit1.Text);
268
     x := -x;
269
     Edit1.text := FloatToStr(x);
270
     Zahl := Edit1.Text;
271
272
end;
273
274
procedure TForm1.SpeedButton18Click(Sender: TObject);
275
begin
276
     (* Kehrwert, aber nur, wenn ungleich Null *)
277
     if x <> 0 then
278
     begin
279
       x := StrToFloat(Edit1.Text);
280
       x := 1/x;
281
       Edit1.text := FloatToStr(x);
282
       Zahl := Edit1.Text;
283
     end
284
     else
285
     ShowMessage('Von Null gibt es keinen Kehrwert!');
286
end;
287
288
procedure TForm1.SpeedButton19Click(Sender: TObject);
289
   var i,j: Integer;
290
begin
291
     (* letztes Zeichen löschen, wenn es existiert *)
292
293
     (* Vorzeichen  Minus? - Das darf nicht allein stehen bleiben! *)
294
     j := 0;
295
     if Copy(Edit1.Text,1,1) = '-' then j := 1;
296
297
     (* Zeichenanzahl *)
298
     i := length(Edit1.Text);
299
     if i > 1 + j then
300
     begin
301
       (* alle Zeichen vom 1. bis zum vorletzten *)
302
       Edit1.text := Copy(Edit1.Text,1,i-1);
303
       Zahl := Edit1.Text;
304
       x := StrToFloat(Zahl);
305
     end;
306
end;
307
308
end.

Kann mir jemand das richtige Ergebnis schreiben oder mir den Fehler 
sagen, da ich ohne Hilfe nicht weiter komme!

Bitte helft mir schnell!!!!

Danke schon mal fürs lesen.

: Verschoben durch Admin
von Spackmahal (Gast)


Lesenswert?

Warum denn so eilig?

Lass mich raten...der Quelltext ist Teil eines Raketenprojekts. Und der 
Start kann nicht wegen der Software verschoben werden...?

von Peter II (Gast)


Lesenswert?

Du schreibst weder welchen Fehler es gibt, noch lieferst du uns ein 
Projekt was man selber übersetzen könnte?

Wie soll man da jemand helfen.

Es ist übrigens sinnvoll Buttons einen sinnvollen namen zu geben, 
Button1, Button2 ist nicht wirklich brauchbar.

von Fabian (Gast)


Lesenswert?

Eine Fehlerbeschreibung wäre schon ziemlich cool, oder?

von Karl H. (kbuchegg)


Lesenswert?

Hans schrieb:

> Kann mir jemand das richtige Ergebnis schreiben oder mir den Fehler
> sagen, da ich ohne Hilfe nicht weiter komme!
>
> Bitte helft mir schnell!!!!

Was ist denn das Problem? Ist derjenige, von dem du den Code geklaut 
hast nicht mehr greifbar?


(Der Code sieht grundsätzlich nicht schlecht aus. Vom Umfang her ist er 
auch mehr, als man von einem Neuling erwarten würde. Daher: Wenn du 
nicht in der Lage bist, da drinnen Fehler selbst zu suchen, zb auch mit 
Debugger-Hilfe, dann hast du den Code nicht selbst geschrieben)

von Hans (Gast)


Lesenswert?

In dem Quelltext ist ein Fehler nur ich weiß nicht wo. Außerdem funkt es 
nicht so wie ich will. Also Hilft mir!!!!!!!!!!!!!!!!!!!!!!!

von Karl H. (kbuchegg)


Lesenswert?

No.
Nach deiner letzten Meldung bin ich mir ganz sicher: Den Code hast du 
unter Garantie nicht selbst geschrieben.
Ich mach hier dicht, weil ich sehr davon überzeugt bin, dass du gerade 
versuchst, dir eine bessere Benotung zu erschleichen. Und da spielt das 
Forum nicht mit.

Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.