| ScrollBalken, KeyAscii, CByte |
| |
| |
| Private Sub Form_Load() | |
| txtTage.MaxLength = 2 | Beim Laden des Formulars wird die maximale Anzahl |
| txtTage.Text = 0 | an Zeichen im Textfeld auf 2 gesetzt. |
| vscTage.Min = 0 | Min- und Max-Werte für den Scrollbalken. |
| vscTage.Max = 50 | Limitierung der Tage verhindert Überlauf. |
| End Sub | |
| |
| Private Sub txtTage_Change() | Ändert sich der Inhalt des Textfeldes, soll der Betrag |
| Dim Tage As Byte, Preis As Currency | neu berechnet werden. |
| Preis = 0.01 | |
| If Len(txtTage.Text) = 0 Or txtTage.Text = "" Or _ | Fehler abfangen (Überlauf, sowie das Löschen des |
| txtTage.Text > "50" Then | Textfeldes verhindern). |
| txtTage.Text = "0" | Wichtig ist das Setzen aller Werte in "". |
| For Tage = 1 To CByte(txtTage.Text) | |
| Preis = Preis * 2 | Der Preis wird immer wieder verdoppelt. |
| Next | |
| lblDM.Caption = Format(Preis, "Currency") | |
| End Sub | |
| |
| Private Sub txtTage_KeyPress(KeyAscii As Integer) | Bei manueller Eingabe kann es einen Überlauf geben. |
| Select Case KeyAscii | Dieser Fehler wird weiter oben abgefangen. |
| Case 48 To 57 | Es sollen nur die Zifferntasten 0 bis 9 benutzt werden können. |
| Case vbKeyBack | Backspace-Taste ist aktiviert. Das Textfeld kann aber |
| Case Else | nicht gelöscht werden (siehe: Fehler abfangen). |
| KeyAscii = 0 | KeyAscii=0: Alle anderen Tasten werden zurückgewiesen. |
| End Select | |
| End Sub | |
| |
| Private Sub vscTage_Change() | Ändert sich die Höhe der Bildlaufleiste, wird der aktuelle |
| txtTage.Text = vscTage.Value | Wert der Value- Eigenschaft dem Textfeld zugewiesen - |
| End Sub | das löst dort ein Change-Ereignis aus. |
| |
| |
| |
| |
| |
| |
| |
| . |
| |