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



BeitragVerfasst: Fr 19.10.07 11:48 
ich brauch hilfe, ich will ein taschenrechner mit den zahlen von 1-9 machen der + - * / rechnen kann und das in einem textfeld ! bitte um hilfe
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6394
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Fr 19.10.07 11:53 
:welcome: in der Entwickler-Ecke.

Was Du benötigst, ist ein Parser. Probiere einfach mal die Stichwörter Parser und Taschenrechner in der Suchfunktion des Forums.
blackraziel Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Fr 19.10.07 16:28 
Titel: ...
ja ich habe mir dazu überlegungen gemacht, aber da ich delphi noch nciht kann und es lernen will, da ich es in der schule mach, muss ich jetzt einen taschenrechner machen. mir ist überlassen wie ich ihn mache aber er muss funktionieren. ich habe an eine if procedur gedacht so in der art wenn ich button_1 drücke dann soll er mir im textfeld die zahl "1" anzeigen, nur mien problem ist es ich bekomm es ja noch nichtmals hin, dass er mir das im textfeld anzeigt ;)
BerTeL
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 45

Windowx XP
Delphi 7 Enterprise
BeitragVerfasst: Fr 19.10.07 17:40 
Im untericht nicht aufgepasst? ^^
naja einfacher weg:
9 buttons + 1 editfeld

Bei jedem machst du das rein:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
Edit1.text := Edit1.text + '1'// <- das hier bei Button mit dem 1
Edit1.text := Edit1.text + '2'// <- das hier bei Button mit dem 2
Edit1.text := Edit1.text + '3'// <- das hier bei Button mit dem 3
//...etc.


Gibt noch ne methode bei denen du für jeden button die gleiche prozedur und mittlers sender dann die richtige zahl angibst aber ich will dich nicht überfordern =/

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 19.10.07 17:54 
Moin und :welcome: im Forum!

Schau doch mal in die Suche zu Suche in: Delphi-Forum, Delphi-Library TASCHENRECHNER, da sind bestimmt ein paar gute Anregungen dabei. :idea: ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
blackraziel Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Fr 19.10.07 18:32 
jo danke euch beiden ich werds mir anschauen und versuchen p.s. klar aufgepasst :) 1- in info aber wir haben nicht viel dazu gesgat die hat einfach gesgat macht ^^ ;)

---

okey zahlen und so weiter zeigt der alles an hier der quelltext vlt hilft der weil cih wissen will was ich jetzt machen muss damit der mir rechnet ^^ :)

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:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    bt_1: TButton;
    bt_2: TButton;
    bt_3: TButton;
    bt_4: TButton;
    bt_5: TButton;
    bt_6: TButton;
    bt_7: TButton;
    bt_8: TButton;
    bt_9: TButton;
    bt_0: TButton;
    Textfeld: TEdit;
    bt_gleich: TButton;
    bt_plus: TButton;
    bt_minus: TButton;
    bt_geteilt: TButton;
    bt_AC: TButton;
    bt_mal: TButton;
    procedure FormCreate(Sender: TObject);
    procedure bt_1Click(Sender: TObject);
    procedure bt_2Click(Sender: TObject);
    procedure bt_3Click(Sender: TObject);
    procedure bt_4Click(Sender: TObject);
    procedure bt_5Click(Sender: TObject);
    procedure bt_6Click(Sender: TObject);
    procedure bt_7Click(Sender: TObject);
    procedure bt_8Click(Sender: TObject);
    procedure bt_9Click(Sender: TObject);
    procedure bt_0Click(Sender: TObject);
    procedure bt_ACClick(Sender: TObject);
    procedure bt_geteiltClick(Sender: TObject);
    procedure bt_malClick(Sender: TObject);
    procedure bt_minusClick(Sender: TObject);
    procedure bt_plusClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}





procedure TForm1.FormCreate(Sender: TObject);
begin
form1.Height:=300;
form1.Width:=200;

end;


procedure TForm1.bt_1Click(Sender: TObject);
begin
Textfeld.text := Textfeld.text + '1';
end;

procedure TForm1.bt_2Click(Sender: TObject);
begin
Textfeld.text := Textfeld.text + '2';
end;

procedure TForm1.bt_3Click(Sender: TObject);
begin
 Textfeld.text := Textfeld.text + '3';
end;

procedure TForm1.bt_4Click(Sender: TObject);
begin
Textfeld.text := Textfeld.text + '4';
end;

procedure TForm1.bt_5Click(Sender: TObject);
begin
Textfeld.text := Textfeld.text + '5';
end;

procedure TForm1.bt_6Click(Sender: TObject);
begin
Textfeld.text := Textfeld.text + '6';
end;

procedure TForm1.bt_7Click(Sender: TObject);
begin
Textfeld.text := Textfeld.text + '7';
end;

procedure TForm1.bt_8Click(Sender: TObject);
begin
Textfeld.text := Textfeld.text + '8';
end;

procedure TForm1.bt_9Click(Sender: TObject);
begin
Textfeld.text := Textfeld.text + '9';
end;

procedure TForm1.bt_0Click(Sender: TObject);
begin
Textfeld.text := Textfeld.text + '0';
end;

procedure TForm1.bt_ACClick(Sender: TObject);
begin
textfeld.Clear;
end;

procedure TForm1.bt_geteiltClick(Sender: TObject);
begin
Textfeld.text := Textfeld.text + '/';
end;

procedure TForm1.bt_malClick(Sender: TObject);
begin
Textfeld.text := Textfeld.text + '*';
end;

procedure TForm1.bt_minusClick(Sender: TObject);
begin
Textfeld.text := Textfeld.text + '-';
end;

procedure TForm1.bt_plusClick(Sender: TObject);
begin
Textfeld.text := Textfeld.text + '+';
end;

end.


was muss ich nun tuen??

:)
MfG David

Moderiert von user profile iconNarses: Beiträge zusammengefasst und Delphi-Tags hinzugefügt.
blackraziel Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 24.10.07 14:51 
???
:(
IceBube
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 231



BeitragVerfasst: Mi 24.10.07 16:22 
Rechnen! ;)

Parsen - danach +/-/div oder multiplizieren(oder anderes)!

Und Fertig!

lg
Raffo
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 300



BeitragVerfasst: Mi 24.10.07 20:09 
Problem ist, wie Deine Form aussieht, im einfachsten Falle (und den willst Du ja wohl auch) sollte der 1. Operator in EINEM Feld stehen, dann die Rechenformel (+ - * /) dann der 2. Operator und dann noch eine "ist gleich Taste").

So wie ich es verstanden habe, soll es also völlig simpel und einfach sein, und wir sagen jetzt auch einfach mal "GANZ ohne Fehlerprüfung. Entwickle folgende Maske (Bild unten)

Die ganze Rechenaufgabe bezieht sich dann nur noch auf den RECHNEN! Knopf - und ohne Dir jetzt eine völlige Vorgabe zu geben, verstehe es als einen Anreiz um Weiterzuforschen, das Programm anhängend ist vollständig lauffähig, aber Du kannst und solltest auch davon lernen!
Einloggen, um Attachments anzusehen!
blackraziel Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Do 25.10.07 20:12 
"Parsen - danach +/-/div oder multiplizieren(oder anderes)! "

versteh ich nicht :( was soll das heißen?

und dann nochmal @
Raffo, ich will ein taschenrechner mit einem edit feld und nicht 3 ;) nur will ich jetzt wissen was ich machen muss damit der endlich rechnet :(
uko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 220
Erhaltene Danke: 1

Win XP, VISTA, WIndows 7
Delphi 2007/2010 Prof
BeitragVerfasst: Fr 26.10.07 05:39 
Guten Morgen!

Also wenn Du's unbedingt mit nur einem Editfeld machen willst:

- Mit den Buttons die Zahl in das Editfeld eingeben
- Button +,-,*,/ gedrückt: dann den Wert des Editfeldes speichern; speichern, was für eine Rechenoperation gewählt wurde und Editfeld wieder löschen
- Nun erneut mit den Buttons eine Zahl eingeben
- Wenn '=' Button gedrückt, dann die Zahl aus den Editfeld erneut auslesen und wenn dann eine weitere Zahl im Zwischenspeicher steht und ein Rechenoperation gespeichert ist, dann die Zahl mit der gespeicherten anhand der Rechenoperation verarbeiten und wieder in das Editfeld schreiben
- nun noch den Zwischenspeicher und das Flag für die Rechenoperation löschen und somit ist man wieder im Ausgangszustand

Das sollte nun reichen, um den Taschenrechner programmieren zu können :) Der Rest ist Eigeninitiative (fertigen Code gibt's nicht :twisted: )

Grüße,
Uli