Thema: Delphi Taschenrechner

Einzelnen Beitrag anzeigen

oldmax

Registriert seit: 27. Apr 2006
Ort: Gieboldehausen
167 Beiträge
 
#22

Re: Taschenrechner

  Alt 3. Jun 2009, 06:54
Hi
Nun, meine erste Antwort war eigentlich ernst gemeint. Benutze die Suche. Da findest du sicherlich auch Taschenrechner mit einem Eingabetextfeld. Es verwundert mich ein Wenig, wenn du noch nicht einmal die Verwendung von Variablen kennst. Wo lernst du oder wer bringt dir diese Sprache bei. Oder soll ich fragen, wer versucht es? Delphi ist ein sooo einfaches Programm.... einfach ein paar Elemente aus der Toolbox und schon zeigt sich ein schönes funktionierendes Programm. Es gibt Buttons, die man anklicken und Textfelder, in die man hineinschreiben kann. Doch Programmieren ist mehr. Und da weiß ich im Moment nicht, was ich davon halten soll. "Was ist ein Zwischenspeicher ?" Das sind Grundlagen. Mir kommt's vor, als wenn du ohne Kenntisse der 4 Grundrechenarten eine Parabel berechnen willst. Oder irgendwas anderes kompliziertes... Als, die Grundlagen sollte dir dein Lehrer schon einmal beibringen, damit du verstehst, was wir dir an Hilfe geben können. Hier mal eine mögliche Hilfe...
Du deklarierst eine Double-Variable.
Mit dem Button C setzt du diese auf 0. (Clear)
Du setzt weitere Buttons auf deine Form (0-9) sowie Komma oder Punkt und die Rechenarten +,-,* und /.
Nun ordnest du allen ihre Ereignisprozeduren zu. Bei den Ziffern könnte das so aussehen:
Delphi-Quellcode:
TMyForm.Bt_ZweiClick(Sender:TObject);
Begin
  If Neueingabe then ED_Eingabe.Text:=''; // bei einer neuen Zahl das Textfeld leeren
  Neueingabe:=False; // und die Markierung zurücknehmen
  Ed_Eingabe.Text:=ED_Eingabe.Text+'2'; // die Ziffer anhängen
end;
bei den mathematischen Tasten sieht es ähnlich aus, nur das du die Berechnung durchführen mußt. etwa so:
Delphi-Quellcode:
TMyForm.Bt_PlusClick(Sender:TObject);
Begin
  Zwischenspeicher:=Zwischenspeicher+StrToFloat(Ed_Eingabe.Text);
  Ed_Eingabe.Text:=FloatToStr(Zwischenspeicher);
  Neueingabe:=True; // eine neue Eingabe markieren
End;
Hier ist noch viel dran zu arbeiten, z.B. die Abfrage, ob im Textfeld eine gültige Zahl für die Wandlung steht, denn Text ist mathematisch nich berechenbar. Daher mußt du in das entsprechende Format wandeln und zur Ausgabe wieder in Text zurück. Vielleicht hilft es dir. Zur Namensgebung:
Natürlich kannst du die vorgeschlagenen und automatisch erzeugten Namen benutzen, aber es wird dann leicht unübersichtlich. Daher benutze ich bei Editfeldern das Kürzel "ED_" und dann einen aussagekräftigen Namen. Ebenso be BUttons.. "BT_". Somit finde ich mich auch in umfangreichen Programmen zurecht.

Gruß oldmax
Noch ist mein Rechner mir zu Diensten.... ansonsten habe ich die Macht ihn zu vernichten !
  Mit Zitat antworten Zitat