fehlermeldungen

danke das dus mir nicht verraten hast habs selbst herrausgefunden, ist ja wohl besser als "jeden code vorgekaut" zu bekommen :D:D:D:D

~edit~
so sieht mein code jetzt aus:
Code:
Dim a1 As Double
Dim b1 As Double
Dim n1 As Double
Dim z1 As Double
Private Sub addition_Click()
If IsNumeric(a.Text) Then
 a1 = CDbl(a.Text)
Else
 MsgBox ("Es handelt sich nicht um eine Zahl oder du hast nicht alle Felder ausgefüllt!")
 Exit Sub
End If
If IsNumeric(b.Text) Then
 b1 = CDbl(b.Text)
Else
 MsgBox ("Es handelt sich nicht um eine Zahl oder du hast nicht alle Felder ausgefüllt!")
End If
ergebnis = a1 + b1
c.Text = ergebnis
End Sub
Private Sub bruchdezimalbruch_Click()
If IsNumeric(n.Text) Then
n1 = CDbl(n.Text)
Else
MsgBox ("Es handelt sich nicht um eine Zahl oder du hast nicht alle Felder ausgefüllt!")
End If
If IsNumeric(z.Text) Then
z1 = CDbl(z.Text)
Else
MsgBox ("Es handelt sich nicht um eine Zahl oder du hast nicht alle Felder ausgefüllt!")
End If
ergebnis = z1 / n1
db.Text = ergebnis
End Sub
Private Sub division_Click(Index As Integer)
If IsNumeric(a.Text) Then
 a1 = CDbl(a.Text)
Else
 MsgBox ("Es handelt sich nicht um eine Zahl oder du hast nicht alle Felder ausgefüllt!")
 Exit Sub
End If
If IsNumeric(b.Text) Then
 b1 = CDbl(b.Text)
Else
 MsgBox ("Es handelt sich nicht um eine Zahl oder du hast nicht alle Felder ausgefüllt!")
End If
ergebnis = a1 / b1
c.Text = ergebnis
End Sub
Private Sub end_Click()
Unload Me
End Sub
Private Sub multiplikation_Click(Index As Integer)
If IsNumeric(a.Text) Then
 a1 = CDbl(a.Text)
Else
 MsgBox ("Es handelt sich nicht um eine Zahl oder du hast nicht alle Felder ausgefüllt!")
 Exit Sub
End If
If IsNumeric(b.Text) Then
 b1 = CDbl(b.Text)
Else
 MsgBox ("Es handelt sich nicht um eine Zahl oder du hast nicht alle Felder ausgefüllt!")
End If
ergebnis = a1 * b1
c.Text = ergebnis
End Sub
Private Sub potenz_Click()
If IsNumeric(a.Text) Then
 a1 = CDbl(a.Text)
Else
 MsgBox ("Es handelt sich nicht um eine Zahl oder du hast nicht alle Felder ausgefüllt!")
 Exit Sub
End If
If IsNumeric(b.Text) Then
 b1 = CDbl(b.Text)
Else
 MsgBox ("Es handelt sich nicht um eine Zahl oder du hast nicht alle Felder ausgefüllt!")
End If
ergebnis = a1 ^ b1
c.Text = ergebnis
End Sub
Private Sub subtraktion_Click(Index As Integer)
If IsNumeric(a.Text) Then
 a1 = CDbl(a.Text)
Else
 MsgBox ("Es handelt sich nicht um eine Zahl oder du hast nicht alle Felder ausgefüllt!")
 Exit Sub
End If
If IsNumeric(b.Text) Then
 b1 = CDbl(b.Text)
Else
 MsgBox ("Es handelt sich nicht um eine Zahl oder du hast nicht alle Felder ausgefüllt!")
End If
ergebnis = a1 - b1
c.Text = ergebnis
End Sub
Private Sub v1hoch2_Click()
If IsNumeric(a.Text) Then
 a1 = CDbl(a.Text)
Else
 MsgBox ("Es handelt sich nicht um eine Zahl oder du hast nicht alle Felder ausgefüllt!")
 Exit Sub
End If
ergebnis = a1 * a1
c.Text = ergebnis
End Sub
Private Sub v2hoch2_Click()
If IsNumeric(b.Text) Then
 b1 = CDbl(b.Text)
Else
 MsgBox ("Es handelt sich nicht um eine Zahl oder du hast nicht alle Felder ausgefüllt!")
 Exit Sub
End If
ergebnis = b1 * b1
c.Text = ergebnis
End Sub



Ein Problem gibt's jetzt wieder, nämlich wenn ich bei der Division die zweite Variable nicht angebe behandelt das Programm wie eine null und die Fehlermeldung Error: Division by 0 erscheint. Leider beendet sich das Programm dann wieder. Wie kann ich denn die Fehlermeldung so umgehen, dass sie zwar angezeigt wird, aber das Programm sich nicht beendet?
 
Zuletzt bearbeitet:
Dann musste eine IF Funktion einbauen, die überprüft ob die Division gebraucht wird und wenn nict, dann soll sie nicht ausgeführt werden!

Oder wilste auch ne Messagebox haben, wenn durch 0 geteilt wird?
 
jetzt muss ich echt mal sagen dass ich mich selber überrascht hab, habs durch simples rumprobieren herausgefunden, "learning by doing"^^
Code:
If (b.Text = 0) Then
MsgBox ("Durch 0 kann nicht geteilt werden")
Else
ergebnis = a1 / b1
c.Text = ergebnis
End If

hm trotzdem bleibt noch ein fehler, nämlich wenn ich für die zweite variable nichts eingebe erscheint die text box nicht alle felder sind ausgefüllt doch das programm beendet sich wieder und zeigt typen unverträglich an.
irgendwie deprimiert mich das alles :(
 
Zuletzt bearbeitet:
Hi,

hm trotzdem bleibt noch ein fehler, nämlich wenn ich für die zweite variable nichts eingebe erscheint die text box nicht alle felder sind ausgefüllt doch das programm beendet sich wieder und zeigt typen unverträglich an.
irgendwie deprimiert mich das alles
Tstststs, ein bischen mehr Elan wenn ich bitten darf. Erstens ist noch kein Meister vom Himmel gefallen und zweitens steht vor dem Erfolg der Schweiss des Lernens ;)

Du solltest Dich mal mit der sogenannten Fehlerbehandlung befassen. Das sind so Anweisungen wie
On Error Goto
On Error Resume
usw.

Und eines möchte ich noch loswerden: Ein kleines Programm zu schreiben ist eigentlich recht schnell geschehen. Aber das Teil so robust zu machen, dass es auch alle Eventualitäten des Users berücksichtigt braucht Zeit.

Gruß
Das Orakel
 
ich versuch ja grad mein programm robust zu machen indem ich solche bugs entferne und ich denke ich bin schon ziemlich nah dran nur der eine fehler ist noch da.
 
Alles einplanen du musst, junger Padawan. Nicht von Gott beschenkt du bist, sondern tief in dir spühren du musst, Fehler finden, der Pfad zum guten Programmierer ist.

:)

Jeder hat mal klein angefangen, ich bin auch noch klein :( Aber du musst einfach für alle möglichen Fehler eine Abfrage machen, irgend wann merkst du das du das vereinfachen kannst, damit du nicht bei jedem Befehl die ifschleife einbauen musst etc :)

Deinen neuen Fehler kannst du auch ganz einfach abfangen, wenn du nichts in deiner Textbox stehen hast, lässt er den Wert als String stehen; und Double +*-/ String geht nunmal nicht :)

Viel spass

und nicht vergessen.

Die Macht stark in dir gworden ist!

Luv StarWars (besonders Yoda) :eek:

Mfg
ziop


*******edit********

Huch wie peinlich, gar nicht gesehen, dass es ne zweite Seite gibt :(
 

Neue Beiträge

Zurück