Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Delphi Taschenrechner
blackraziel - Fr 19.10.07 11:48
Titel: Delphi Taschenrechner
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 - 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 - 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 - Fr 19.10.07 17:40
Im untericht nicht aufgepasst? ^^
naja einfacher weg:
9 buttons + 1 editfeld
Bei jedem machst du das rein:
Delphi-Quelltext
1: 2: 3: 4:
| Edit1.text := Edit1.text + '1'; Edit1.text := Edit1.text + '2'; Edit1.text := Edit1.text + '3'; |
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
Narses: Delphi-Tags hinzugefügt
Narses - Fr 19.10.07 17:54
Moin und :welcome: im Forum!
Schau doch mal in die Suche zu
TASCHENRECHNER, da sind bestimmt ein paar gute Anregungen dabei. :idea: ;)
cu
Narses
blackraziel - 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 ^^ :)
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 public 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
Narses: Beiträge zusammengefasst und Delphi-Tags hinzugefügt.
blackraziel - Mi 24.10.07 14:51
???
:(
IceBube - Mi 24.10.07 16:22
Rechnen! ;)
Parsen - danach +/-/div oder multiplizieren(oder anderes)!
Und Fertig!
lg
Raffo - 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!
blackraziel - 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 - 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
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!