Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin

Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten
Autor
Nachricht
Devil
Newbie
Newbie

Anmeldedatum: 30.07.2009
Beiträge: 1

Probleme mit If Anweißung
Verfasst am: 30.07.2009, 15:25

Guten Tag Zusammen,

ich habe heute gestern Abend angefangen mein erstes richtiges Programm zu schreiben. Leider habe ich direkt ein Fehler, welchen ich selber nicht eigenständig Lösen kann.

Code:
Private Sub cmd_berechnen_Click()

                        '############################
                        '#                          #
                        '#     BMI Rechner v0.1     #
                        '#                          #
                        '#       copyright by Devil #
                        '############################

'Wir deklarieren die benötigten Variablen
Dim Ergebnis As Double
Dim Alter As Double
Dim Größe As Double
Dim Gewicht As Double
'Alle benötigten Variablen sind deklariert

'***********************************************

'Wir geben den Variablen Werte, mithilfe den Textboxen
'Achtung: Wir müssen die Werte der Textboxen umwandeln!!!
Alter = Val(txt_alter.Text)
Größe = Val(txt_größe.Text)
Gewicht = Val(txt_gewicht.Text)
'Jetzt haben alle Variablen Werte, sodass wir unsere Rechnung durchführen können

'************************************************

If txt_alter.Text = "" Then
MsgBox "Bitte tragen Sie ihr Alter ein!", vbInformation + vbOKOnly, "Angaben"
End If

If txt_größe.Text = "" Then
MsgBox "Bitte tragen Sie ihr Größe ein!", vbInformation + vbOKOnly, "Angaben"
End If

If txt_gewicht.Text = "" Then
MsgBox "Bitte tragen Sie ihr Gewicht ein!", vbInformation + vbOKOnly, "Angaben"
End If

[b]
If txt_größe.Text = "" And txt_gewicht.Text = "" Then
MsgBox "Error"
Else
Ergebnis = Gewicht / (Größe * Größe)
End If
[/b]

'************************************************

'Bevor wir das Ergebnis ausgeben, runden wir dieses auf der ersten Nachkommerstelle
Ergebnis = Round(Ergebnis, 1)

'************************************************



'Das Ergebnis der Rechnung wird in der Textbox "txt_ausgabe.Text" ausgegeben.
txt_ausgabe.Text = Ergebnis
'txt_ausgabe.Text = Ergebnis

'************************************************
End Sub



Mein Fehler liegt beim dickgeschrieben.
Wenn ich im Programm keine Größe angegeben habe und dann auf rechnen klicke, erscheint wohl "Bitte tragen Sie ihr Größe ein!", aber direkt danach kommt ein Laufzeitfehler, mit den Inhalt : Division durch Null.

Habe hier noch mal die source zum laden.

//Edit falsches Parket
http://rapidshare.com/files/262096393/BM…r_v0.1.rar.html
_________________
 
christopher.g
Überflieger
Überflieger

Anmeldedatum: 03.05.2008
Beiträge: 536


Verfasst am: 01.08.2009, 17:48

hallo
das liegt dran
dass vb den code einfach weiter abarbeitet
bis es zur division kommt

d.h. du musst die aktion vorher abbrechen

Code:

if txt_größe.text = "" then
msgbox "Gib bitte deine größe an"
Exit sub  '<------ dann springt vb automatisch zum ende
endif


klar?
und dann wenn du die größe eingegeben hast entfällt das ja
und es kann die rechnung ausgeführt werden


wenn ich dir noch einen tipp geben darf
um fehler vorzubeugen...
Code:

If IsNumeric(txt_größe.Text) = False Then     'wenn die eingabe keine zahl ist mache...
    txt_größe.Text = ""          'textbox leeren
    txt_größe.SetFocus          'den cursor in die box setzen
    Beep                              'einen beepton ausgeben
    Exit Sub                        'wie oben
End If



lg
und viel erfolg mit deinem bmi rechner
(ich hasse den bodymaß index ... er sagt bin knapp am übergewicht und bin aber eigentlich schlank ^^
irre oder)
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten

Tags: bmi rechner, ausgeben, rechnung, end, laufzeitfehler

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Wichtig: Filebrowser z.B. für ein RAT 2117 13.01.2008, 11:14
Keine neuen Beiträge msgbox mit symbol _&_ z.B. yesno oder systemmodal 1078 26.09.2008, 23:16
Keine neuen Beiträge Abändern eines Ordnernamens (z.B. C:\Programme = Programme) 1196 23.04.2008, 15:33
Keine neuen Beiträge "Zurück-Funktion" mit Listview und z.B. DirView 734 17.04.2008, 13:30
Keine neuen Beiträge Fenster auslesen z.b von icq oder msn wer online kommt 1224 11.02.2008, 16:46
 



[ Time: 0.1720s ][ Queries: 85 (0.0399s) ][ GZIP on - Debug on ]