fehlermeldungen

DarkSean

Erfahrenes Mitglied
also, ich hab folgendes problem.
ich hab ja, wie man meinem thread davor entnehmen kann, einen taschenrechner gebastelt, der ja sogar funktioniert (!) :D. nun ist aber mein problem, wenn ich eine taste zur berechnung drücke ohne beide variablen einzugeben, erscheint eine fehlermeldung und das programm beendet sich automatisch. eigentlich nicht weiter schlimm aber trotzdem nervig. wie kann ich nun die fehlermeldungen deaktivieren?
wer das programm braucht, hier: http://www.webhosting4free.biz/google-sprachtools/Calculator.exe
der programmiercode hier:
Dim a1 As Double
Dim b1 As Double
Dim n1 As Double
Dim z1 As Double
Private Sub addition_Click()
a1 = CDbl(a.Text)
b1 = CDbl(b.Text)
ergebnis = a1 + b1
c.Text = ergebnis
End Sub
Private Sub bruchdezimalbruch_Click()
n1 = CDbl(n.Text)
z1 = CDbl(z.Text)
ergebnis = z1 / n1
db.Text = ergebnis
End Sub
Private Sub division_Click(Index As Integer)
a1 = CDbl(a.Text)
b1 = CDbl(b.Text)
ergebnis = a1 / b1
c.Text = ergebnis
End Sub
Private Sub end_Click()
Unload Me
End Sub
Private Sub multiplikation_Click(Index As Integer)
a1 = CDbl(a.Text)
b1 = CDbl(b.Text)
ergebnis = a1 * b1
c.Text = ergebnis
End Sub
Private Sub potenz_Click()
a1 = CDbl(a.Text)
b1 = CDbl(b.Text)
ergebnis = a1 ^ b1
c.Text = ergebnis
End Sub
Private Sub subtraktion_Click(Index As Integer)
a1 = CDbl(a.Text)
b1 = CDbl(b.Text)
ergebnis = a1 - b1
c.Text = ergebnis
End Sub

die fehlermeldung erhaltet ihr wenn ich einfach auf einen button klickt ohne überhaupt etwas einzugeben, und die will ich halt loswerden, umgehen, etc.
vielen dank schonmal im vorraus
Sean
 
Kein Wunder. Ein leerer String kann nicht in eine Zahl vom Typ Double umgewandelt werden.
Überprüf vor jeder Umwandlung zunächst, ob es sich um eine Zahl handelt:
Code:
If IsNumeric(a.Text) Then 
 CDbl(a.Text)
Else
 msgbox ("Es handelt sich nicht um eine Zahl!")
 Exit Sub
End If
 
Hi zusammen,

DarkSean hat gesagt.:
deinem code nach würde ja dann wieder ne fehlermeldung erscheinen, aber ich will ja keine

Naja, ich gehe mal davon aus, dass suye davon ausgegangen ist, dass sein Beispiel als das gesehen wird was es sein soll. Nähmlich ein Beispiel. Und von einem Programmierer kann man ja wohl erwarten, dass er kreativ mit Beispielen umgehen kann ;) Oder muss man Dir jede Zeile Code vorkauen?

Gruß
Das Orakel
 
Die Fehlermeldung tritt auf, wenn nicht alle Textboxen mit Zahlen gefüllt sind richtig?

Mit dem Code wird der User drauf hingewiesen, dass noch nicht alle Textboxen mit Zahlen gefüllt sind und es entsteht kein fehler, man kann auf OK drücken und dann alle Textboxen füllen!

Ansonsten musste in deinen Code eine For-If-Schleife einbauen, die alles selber überprüft!
 
@ dark ranger richtig, nur nach der fehlermeldung schlkeißt sich das programm.
@ orakel: wenn du mich als programmierer siehst hast du ja recht, aber das einzige was ich bis jetzt kann ist n taschenrechner und ne uhr. hab erst vor ner woche im unterricht mit dem programmieren angefangen.
 
DarkSean hat gesagt.:
@ dark ranger richtig, nur nach der fehlermeldung schlkeißt sich das programm.
@ orakel: wenn du mich als programmierer siehst hast du ja recht, aber das einzige was ich bis jetzt kann ist n taschenrechner und ne uhr. hab erst vor ner woche im unterricht mit dem programmieren angefangen.

Aber wenn du den
Code:
If IsNumeric(a.Text) Then 
 CDbl(a.Text)
Else
 msgbox ("Es handelt sich nicht um eine Zahl!")
 Exit Sub
End If
Code einbaust, dann müsste sich eine Messagebox öffnen, dir mitteieln, dass es sich nicht um eine Zahl handelt, dann kannste auf ok klicken und weiterarbeiten, oder nicht?
 

Neue Beiträge

Zurück