Autor Beitrag
der13geist
Hält's aus hier
Beiträge: 10

Win Vista Ultimate x86
D7 Pro, D2007
BeitragVerfasst: Fr 12.10.07 15:09 
Hallo
Ich habe gestern angefangen mit delphi zu Programmieren.
Natürlich wollte ich zuerst einen einfachen Taschenrechner machen.
Aber einen wie der Standart Rechner von Windows
(Also man klickt eine Zahl an die erscheint dan im Edit feld dann klickt man noch eine an die erscheint dann nach der ersten Zahl)
Beim Klick wird die gedrückte Zahl einer Variable übergeben und dann dem edit1 die variable zugewiesen.
Nur habe ich ein Problem da ja jede neue Zahl der Variable ANGEHANGEN werden soll aber ich die Variable nur neu beschreiben kann
Hier mein Code bissher
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:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    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;
    Edit1: TEdit;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure Button13Click(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 Button14Click(Sender: TObject);
    procedure Button15Click(Sender: TObject);
  private
      eingabe1 : String;
  public

  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
eingabe1 := '1';
Edit1.Text := eingabe1;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
eingabe1 := '2';
Edit1.Text := eingabe1;
end;

procedure TForm1.Button12Click(Sender: TObject);
begin

end;

procedure TForm1.Button13Click(Sender: TObject);
begin

end;

procedure TForm1.Button3Click(Sender: TObject);
begin
eingabe1 := '3';
Edit1.Text := eingabe1;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
eingabe1 := '4';
Edit1.Text := eingabe1;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
eingabe1 := '5';
Edit1.Text := eingabe1;
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
eingabe1 := '6';
Edit1.Text := eingabe1;
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
eingabe1 := '7';
Edit1.Text := eingabe1;
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
eingabe1 := '8';
Edit1.Text := eingabe1;
end;

procedure TForm1.Button9Click(Sender: TObject);
begin
eingabe1 := '9';
Edit1.Text := eingabe1;
end;

procedure TForm1.Button10Click(Sender: TObject);
begin
eingabe1 := '0';
Edit1.Text := eingabe1;
end;

procedure TForm1.Button14Click(Sender: TObject);
begin

end;

procedure TForm1.Button15Click(Sender: TObject);
begin

end;

end.
Alpha_Wolf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 297

Ubuntu, Win XP, Win Vista
C#, Delphi 6 Prof, Delphi 2007 Prof, Java
BeitragVerfasst: Fr 12.10.07 15:16 
ausblenden Delphi-Quelltext
1:
Edit1.Text := Edit1.Text + eingabe1;					

Strings kannst du mit dem + Zeichen aneinanderhängen.

Versuchs aber dochmal mit der Forumssuche.. dort gibt es schon sehr viele Taschenrechner die sehr gut aufgebaut sind.

Ich empfehle dir auch den Crashkurs von user profile iconChristian S.: Crashkurs

_________________
Diskutiere nie mit einem Irren - er zieht dich auf sein Niveau und schlägt dich mit seiner Erfahrung.
der13geist Threadstarter
Hält's aus hier
Beiträge: 10

Win Vista Ultimate x86
D7 Pro, D2007
BeitragVerfasst: Fr 12.10.07 15:31 
DANKE
ich wäre so darauf nicht gekommen da ich versucht habe (da ich grade mit php fertig geworden bin) alles irgendwie like .= oder .:= zusammen zuhängen ^^
der13geist Threadstarter
Hält's aus hier
Beiträge: 10

Win Vista Ultimate x86
D7 Pro, D2007
BeitragVerfasst: Fr 12.10.07 16:10 
Ein Problem habe ich aber noch.
Mein Rechner rechnet immer nur + ??
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:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    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;
    Edit1: TEdit;
    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 Button12Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure Button13Click(Sender: TObject);
    procedure Button14Click(Sender: TObject);
    procedure Button15Click(Sender: TObject);
  private
      eingabe : String;
      aufgabe : String;
      eingabe1 : Integer;
      eingabe2 : Integer;
      status : Integer;
  public

  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
eingabe := '1';
Edit1.Text := Edit1.Text + eingabe;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
eingabe := '2';
Edit1.Text := Edit1.Text + eingabe;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
eingabe := '3';
Edit1.Text := Edit1.Text + eingabe;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
eingabe := '4';
Edit1.Text := Edit1.Text + eingabe;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
eingabe := '5';
Edit1.Text := Edit1.Text + eingabe;
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
eingabe := '6';
Edit1.Text := Edit1.Text + eingabe;
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
eingabe := '7';
Edit1.Text := Edit1.Text + eingabe;
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
eingabe := '8';
Edit1.Text := Edit1.Text + eingabe;
end;

procedure TForm1.Button9Click(Sender: TObject);
begin
eingabe := '9';
Edit1.Text := Edit1.Text + eingabe;
end;

procedure TForm1.Button10Click(Sender: TObject);
begin
eingabe := '0';
Edit1.Text := Edit1.Text + eingabe;
end;

procedure TForm1.Button12Click(Sender: TObject);
begin
eingabe := Edit1.Text;
eingabe1 := StrToInt(eingabe);
Edit1.Text := '';
aufgabe := '+';
end;

procedure TForm1.Button11Click(Sender: TObject);
var
Ergebniss:Integer;
begin
eingabe2 := StrToInt(Edit1.Text);
Edit1.Text := '';
Ergebniss:=eingabe1 + status + eingabe2;
Edit1.Text := IntToStr(Ergebniss);
end;

procedure TForm1.Button13Click(Sender: TObject);
begin
eingabe := Edit1.Text;
eingabe1 := StrToInt(eingabe);
Edit1.Text := '';
aufgabe := '-';
end;

procedure TForm1.Button14Click(Sender: TObject);
begin
eingabe := Edit1.Text;
eingabe1 := StrToInt(eingabe);
Edit1.Text := '';
aufgabe := '*';
end;

procedure TForm1.Button15Click(Sender: TObject);
begin
eingabe := Edit1.Text;
eingabe1 := StrToInt(eingabe);
Edit1.Text := '';
aufgabe := '/';
end;

end.
Alpha_Wolf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 297

Ubuntu, Win XP, Win Vista
C#, Delphi 6 Prof, Delphi 2007 Prof, Java
BeitragVerfasst: Fr 12.10.07 16:30 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
var
  lErgebnis: double;
  lWert1: double;
  lWert2: double;
begin
  lWert1 := 5.0;
  lWert2 := 2.0;

  // Addieren
  lErgebnis := lWert1 + lWert2;

  // Multiplizieren
  lErgebnis := lWert1 * lWert2;

  // Dividieren
  lErgebnis := Wert1 / Wert2;


Du darfst den Operator nicht als String deklarieren.. du schreibst ja zB.: '/' << das wird als String interpretiert..
Bin grad ein wenig emotionslos.. also entschuldige, aber schreib doch für jede Rechenart eine eigene Funktion in der du dann Wert1 und Wert2 übergibst und das Ergebnis zurücklieferst. Achtung ich arbeite hier nicht mit integern sondern mit double.. schließlich kann beim teilen auch mal ein Gleitkommawert rauskommen.

Irgendwie sowas:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
function Addiere(Wert1, Wert2: double): string;
begin
  result := FloatToStr(Wert1 + Wert2);
end;

// Aufruf:
.
.
Ergebnis := Addiere(FloatToStr(Wert1), FloatToStr(Wert2);
.
.

Achtung! Der Code ist frei aus dem Kopf heraus geschrieben und besitzt keine Validierungen etc. (außerdem bin ich fast im WE) *g*

Bitte sieh dir anderen Taschenrechner an.. und einfach mal die Grundlagen.. da wird alles sehr gut beschrieben.. auch die Grundrechenarten etc.

Ps.: Neue Frage, Neues Thema.. bitte beachten!

_________________
Diskutiere nie mit einem Irren - er zieht dich auf sein Niveau und schlägt dich mit seiner Erfahrung.