| |

Suche Visual-Basic CodeRe: Taschenrechner | |  | Autor: Claus | Datum: 10.10.01 12:55 |
| Ich hab diesen Code mal aus der MSDN übernommen.
Du brauchst ein Label, 19 Command Buttons.
Die Zahlen Buttons müssen immer Number heißen also 0 - 9.
Die Komma Taste muss Decimal heißen.
Die plus und minus Tasten müssen Operator 1 - 4 heißen
Die Prozenttaste Percent.
Die beiden Clear Tasten Cancel und CancelEntry
Option Explicit
Dim Op1, Op2 ' Zuvor eingegebener Operand.
Dim DecimalFlag As Integer ' Dezimalkomma bereits vorhanden?
Dim NumOps As Integer ' Anzahl der Operanden.
Dim LastInput ' Zeigt Typ des letzten Tastenanschlags an.
Dim OpFlag ' Zeigt gegenwärtige Operation an.
Dim TempReadout
' Click-Ereignisprozedur für die C-Taste (Abbrechen).
' Setzt Anzeige zurück und initialisiert Variablen.
Private Sub Cancel_Click()
Readout = Format(0, "0.")
Op1 = 0
Op2 = 0
Form_Load
End Sub
' Click-Ereignisprozedur für die CE-Taste (Eingabe abbrechen).
Private Sub CancelEntry_Click()
Readout = Format(0, "0.")
DecimalFlag = False
LastInput = "CE"
End Sub
' Click-Ereignisprozedur für das Dezimalkomma (,).
' Wenn der letzte Tastenanschlag ein Operator war:
' Anzeige auf "0" initialisieren. Sonst der Anzeige
' ein Dezimalkomma hinzufügen.
Private Sub Decimal_Click()
If LastInput = "NEG" Then
Readout = Format(0, "-0.")
ElseIf LastInput <> "NUMS" Then
Readout = Format(0, "0.")
End If
DecimalFlag = True
LastInput = "NUMS"
End Sub
' Initialisierungsroutine für die Form.
' Setze alle Variablen auf Ausgangswerte.
Private Sub Form_Load()
DecimalFlag = False
NumOps = 0
LastInput = "NONE"
OpFlag = " "
Readout = Format(0, "0.")
'Decimal.Caption = Format(0, ".")
End Sub
' Click-Ereignisprozedur für Zahlentasten (0-9).
' Füge zur Zahl in der Anzeige eine neue Zahl hinzu.
Private Sub Number_Click(Index As Integer)
If LastInput <> "NUMS" Then
Readout = Format(0, ".")
DecimalFlag = False
End If
If DecimalFlag Then
Readout = Readout + Number(Index).Caption
Else
Readout = Left(Readout, InStr(Readout, Format(0, ".")) - 1) + Number(Index).Caption + Format(0, ".")
End If
If LastInput = "NEG" Then Readout = "-" & Readout
LastInput = "NUMS"
End Sub
' Click-Ereignisprozedur für die Operatortasten (+, -, x, /, =).
' Wenn der unmittelbar zurückliegende Tastenanschlag
' ein Teil einer Zahl war, wird NumOps um Eins erhöht.
' Wenn ein Operand vorhanden ist, setze Op1.
' Wenn zwei Operanden vorhanden sind, setze Op1 auf
' das Ergebnis aus der Operation mit Op1 und der
' aktuellen Eingabezeichenfolge. Zeige dann das Ergebnis an.
Private Sub Operator_Click(Index As Integer)
TempReadout = Readout
If LastInput = "NUMS" Then
NumOps = NumOps + 1
End If
Select Case NumOps
Case 0
If Operator(Index).Caption = "-" And LastInput <> "NEG" Then
Readout = "-" & Readout
LastInput = "NEG"
End If
Case 1
Op1 = Readout
If Operator(Index).Caption = "-" And LastInput <> "NUMS" And OpFlag <> "=" Then
Readout = "-"
LastInput = "NEG"
End If
Case 2
Op2 = TempReadout
Select Case OpFlag
Case "+"
Op1 = CDbl(Op1) + CDbl(Op2)
Case "-"
Op1 = CDbl(Op1) - CDbl(Op2)
Case "X"
Op1 = CDbl(Op1) * CDbl(Op2)
Case "/"
If Op2 = 0 Then
MsgBox "Division durch Null ist nicht möglich", 48, "Rechner"
Else
Op1 = CDbl(Op1) / CDbl(Op2)
End If
Case "="
Op1 = CDbl(Op2)
Case "%"
Op1 = CDbl(Op1) * CDbl(Op2)
End Select
Readout = Op1
NumOps = 1
End Select
If LastInput <> "NEG" Then
LastInput = "OPS"
OpFlag = Operator(Index).Caption
End If
End Sub
' Click-Ereignisprozedur für die Prozenttaste (%).
' Berechne einen Prozentsatz des ersten Operanden und zeige ihn an.
Private Sub Percent_Click()
Readout = Readout / 100
LastInput = "Ops"
OpFlag = "%"
NumOps = NumOps + 1
DecimalFlag = True
End Sub |  |
 Taschenrechner | 194 | Sven | 10.10.01 10:08 |   Re: Taschenrechner | 112 | Claus | 10.10.01 12:55 |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
Neu! sevEingabe 3.0 
Einfach stark!
Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|