AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Taschenrechner delphi

Ein Thema von thomasku · begonnen am 7. Jan 2009 · letzter Beitrag vom 11. Dez 2012
Antwort Antwort
thomasku

Registriert seit: 4. Jan 2009
31 Beiträge
 
#1

Re: Taschenrechner delphi

  Alt 8. Jan 2009, 18:56
Hallo Jürgen,

Danke für deine prompte Antwort!

Das mit der Übersichtlichkeit sehe ich gerne ein, aber mit nur einer hat es irgendwie nicht ganz bei mir geklappt . (dachte das hat evtl einen speziellen Hintergrund)

Evtl. noch eine Idee zur 2ten Frage?

(Durch die ganzen Buttons wollte ich dieses Programm lieber Anhängen, aber werde es in Zukunft posten)

Lg Thomas
  Mit Zitat antworten Zitat
Beat

Registriert seit: 30. Nov 2012
12 Beiträge
 
#2

AW: Taschenrechner delphi

  Alt 11. Dez 2012, 14:38
Hallo

Du brauchst genau 3 Variablen
Einmal für das zwischenergebnis, nennen wir es 'zwischen' und dem Typ Boolean.
Damit fragen wir ab, ob das zwischen ergebnis vorhanden ist.

Dann brauchen wir eine variable für das Rechenzeichen, nennen wir sie 'rz' mit dem Typ Integer.

Die dritte Variable ist das abgespeicherte Zwischenergebnis des 1. Edit Feldes. Bedeutet, du schreibst eine Zahl in das Editfeld, drückst auf den Button '+' . In dem Button wird dann unter anderem, die Zahl die in dem Edit Feld stand in die Variable gespeichert. Nennen wir sie 'Ergebnis' , vom typ real.

So nun will ich dir den einfach Quelltext des + Buttons geben. Die Schleifen sind mit berücksichtigt, heißt du kannst mehrere Male hintereinader eingeben.
Delphi-Quellcode:
procedure TForm1.Button13Click(Sender: TObject);
begin
try
     If zwischen = true then Ausgabe.Text := FloatToStr (Ergebnis + StrToFloat (Ausgabe.Text)); // Das ist die Schleife! //
        zwischen := true ; // Die Variable zwischen wird auf true 'wahr' gesetzt, damit die Schleife funktioniert //
        Ergebnis := StrToFloat (Ausgabe.Text) ; // Das was im Edit feld stand, wird gespeichert //
        rz := 1 ; // Das ist für das Ausrechnen wichtig, da arbeiteen wir dann mit einer IF Schleife //
        form1.Ausgabe.Text := '' ; // Das Feld wird für die nächste Eingabe bereicht gemacht //
except Showmessage ('Bitte 2 oder mehr Zahlen addieren !'); // Für etwaige Fehlermeldungen //

end;
end;
So damit das oben funktioniert solltest du in der Form Create auch noch was schreiebn ( doppelklick auf das Formular)
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
form1.Ausgabe.text := '' ;
zwischen := false;
rz := 0 ;
end;
// Keine Erklräung notwendig //
end;
Ich hoffe das ist erstmal ein guter Anfang für dich. Im - mal und geteilt Button musst du rz natürlich andere Werte zuweisen !
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.658 Beiträge
 
Delphi 12 Athens
 
#3

AW: Taschenrechner delphi

  Alt 11. Dez 2012, 15:04
Öhm, das ist aber keine Schleife, schon gar keine If-Schleife. Außerdem sollte man weder auf true prüfen noch benannte Instanzen verwenden. Nur weil die Klasse TForm1 heißt, bedeutet das ja nicht, dass die Instanzvariable zwingend Form1 heißen muss. Stattdessen besser self verwenden oder ganz weglassen.

[edit] Ich habe gerade erst gesehen, dass der Thread ja schon fast 4 Jahre alt ist [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH (11. Dez 2012 um 15:12 Uhr)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#4

AW: Taschenrechner delphi

  Alt 11. Dez 2012, 15:23
except Showmessage ('Bitte 2 oder mehr Zahlen addieren !'); // Für etwaige Fehlermeldungen //
Unabhängig des Code, eine MessageBox die aufpoppt und die man erst quotieren muss ist etwas störend.

Was hältst du von einem Beepton beim Fehler?

Delphi-Quellcode:
Beep;

//oder alternativ (Freq. Länge)

Windows.Beep(450, 300)
  Mit Zitat antworten Zitat
Beat

Registriert seit: 30. Nov 2012
12 Beiträge
 
#5

AW: Taschenrechner delphi

  Alt 11. Dez 2012, 18:29
Deddy H , ich gebe zu, ich habe mich etwas falsch ausgedrückt. Mein Quelltext ist nur die vorrbereitung zur IF Schleife

Und Popov den Befehl kannte ich noch gar nicht, werde ich mal ausprobieren

Edit: Find ich nicht so gut, ich kenn viele die dann keine Kopfhörer oder ähnliches anhaben, dann bekommen sie die Fehlermeldug ja gar nicht mit.

Nun jetzt habe ich aber auchmal eine Frage. Wie kann man, oder besser gesagt kann man zum Beispiel bei einem Taschenrechner wenn man über die Buttons streift e so programmieren, dass sie ihre Farbe ändern, so wie beim Windows 7 Standard Rechner ?

Geändert von Beat (11. Dez 2012 um 18:43 Uhr)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#6

AW: Taschenrechner delphi

  Alt 11. Dez 2012, 19:21
Das Beepen ist nicht die Fehlermeldung, sondern nur ein Hinweis. Den Fehler sollte das Editfeld quittieren.

Ansonsten zu der Button/Color Frage: neue Frage, neuer Thread.

Aber dieses Mal noch die Ausnahme. Die Antwort: gar nicht.

Der TButton Button macht das nicht. Gehört nicht zu seinem Repertoire. Fontfarbe, evt., nicht aber den Hintergrund. Hier, auf XP Design umschalten (TXPManifest)

Der TSpeedButton Button soweit ich weiß auch nicht.

Der TBitButton eigentlich auch nicht. Allerdings hat er die Eigenschaft Float, die den Button zuerst unsichtbar macht und mit dem XP Manifest beim drüberfahren eine Art Glaseffekt hat. Mit OnMouseMove die reagiert wenn man mit dem Zeiger drüber fährt, kann man etwas machen. OnMouseOver und OnMouseLeave wären da interessanter, fehlen aber bei D7. Mit paar Tricks kann man aber trotz dem was machen. Sonst aber einfacher eine Komponente installieren die das kann.

Ich kenne ein sehr bekanntes Programm das hier mit einem Trick arbeitet. Es legt zwei Images unter den BitBtn Button, passt die Größe an, setzt den Button auf Float, schaltet beim drüberfahren Image1, wenn man eine andere Komponente berührt, wird Image1 angeschaltet und man sieht Image2. Wie gesagt, ein sehr bekanntes Programm arbeitet mit dem Trick.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz