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 -> [VB.NET] Fragen - Antworten
Autor
Nachricht
aL1ienaire_
Tutorial Leser
Tutorial Leser

Anmeldedatum: 22.08.2007
Beiträge: 35

VB frage(euroumrechner)
Verfasst am: 25.08.2007, 12:18

Hallo leute,

ich bin ein newb in sachen VB usw.

so ich wollte mal als einsteig ein programm machen das euro nach franken umd rechnet und zürück.

so das klappt auch perfekt.

aber ich möchte eine fehlermeldung einbauen, dass wenn nichts eingegeben wird, das eine msgbox kommt: KEine eingabe getätigt.

aber wenn ich jetzt Nichts eingebe, wird diese zeile gelb:

Code:
Zahl = txt_eingabe.Text


das ist mein code:

[vb:1:3f32e914d9]Public Class Form1


Private Sub btn_f_e_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_f_e.Click
Dim Zahl As Integer
Zahl = txt_eingabe.Text
If Zahl = Nothing Then
MessageBox.Show("Keine Eingabe getätigt")
Else
txt_ausgabe.Text = Zahl * 1.3
End If

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Zahl As Integer

Zahl = txt_eingabe.Text
txt_ausgabe.Text = Zahl / 1.3
End Sub
End Class[/vb:1:3f32e914d9]

wisst ihr was das ist?

mfg aL1ien
 
ZiG_
Überflieger
Überflieger

Anmeldedatum: 07.03.2007
Beiträge: 1248


Verfasst am: 25.08.2007, 13:00

Du kannst keinen leeren String an eine Integer Variable übergeben.
Mach einfach eine Abfrage ob die Textbox leer ist.


[vb:1:1fc43e843e]
If Len(txt_eingabe.Text) = 0 then
'Fehlermeldung
End if
[/vb:1:1fc43e843e]

Außerdem wäre noch gut, dass man nur Zahlen in die Textbox eintippen kann.
Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
 
aL1ienaire_
Tutorial Leser
Tutorial Leser

Anmeldedatum: 22.08.2007
Beiträge: 35


Verfasst am: 25.08.2007, 13:50

also jetzt siehts so aus:

Code:
Public Class Form1


    Private Sub btn_f_e_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_f_e.Click
        Dim Zahl As Integer
        Zahl = txt_eingabe.Text
        If Len(txt_eingabe.Text) = 0 Then
            MessageBox.Show("Keine Eingabe getätigt")


        Else
            txt_ausgabe.Text = Zahl * 1.3
        End If

    End Sub


und geht immernochnet.

edit: jo werd ich machen wegen der box

die zahl_txt_eingabe.text wird immernoch gelb[vb:1:517529561f][/vb:1:517529561f]
Code:


Zuletzt bearbeitet von aL1ienaire_ am 25.08.2007, 13:55, insgesamt einmal bearbeitet
 
ZiG_
Überflieger
Überflieger

Anmeldedatum: 07.03.2007
Beiträge: 1248


Verfasst am: 25.08.2007, 13:54

Ja ist ja auch logisch, da du vor der Abfrage( in der du überhaupt mal testest ob etwas eingetippt wurde) schon den Text an Zahl übergibst.
Wie gesagt kann das nicht funktionieren wenn nichts eingegeben wurde.

[vb:1:9678e783dd]
If Len(txt_eingabe.Text) = 0 Then
Zahl = txt_eingabe.Text
MessageBox.Show("Keine Eingabe getätigt")
Else
txt_ausgabe.Text = Zahl * 1.3
End If
[/vb:1:9678e783dd]

Und benutze bitte statt den [code] tags, die [vb] tags.
Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
 
aL1ienaire_
Tutorial Leser
Tutorial Leser

Anmeldedatum: 22.08.2007
Beiträge: 35


Verfasst am: 25.08.2007, 14:01

[vb:1:025db04567] Private Sub btn_f_e_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_f_e.Click
Dim Zahl As Integer
If Len(txt_eingabe.Text) = 0 Then
Zahl = txt_eingabe.Text
MessageBox.Show("Keine Eingabe getätigt")
Else
txt_ausgabe.Text = Zahl * 1.3
End If


End Sub[/vb:1:025db04567]

irgendetwas ist falsch-.-

und jetzt aknn er net mal mehr rechnen. wenn ich 2 eingebe kommt einfach 0 raus und das mit jeder zahl
 
Bahamut_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 12.12.2006
Beiträge: 250


Verfasst am: 25.08.2007, 14:41

Lass doch den ganzen Mist mit der Veriable "Zahl"

[vb:1:772011dac9]

Private Sub btn_f_e_Click(... 'usw
If Len(txt_eingabe.Text) = 0 Then
MessageBox.Show("Keine Eingabe getätigt")
Else
txt_ausgabe.Text = txt_eingabe.Text * 1.3
End If
End Sub
[/vb:1:772011dac9]

So kannst du nicht versuchen einer Variable einen Wert zuzuweisen, den es nicht gibt wenn die Eingabe nix ist. Damit du was lernst, hier noch die Variante mit Veriable:

[vb:1:772011dac9]
Private Sub btn_f_e_Click(... 'usw
Dim Zahl As Integer
If Len(txt_eingabe.Text) = 0 Then
MessageBox.Show("Keine Eingabe getätigt")
Else
Zahl = txt_eingabe.txt
txt_ausgabe.Text = Zahl * 1.3
End If
End Sub
[/vb:1:772011dac9]

Denke nun is es klar.

Achja wenn einer "abc" eingibt geht es natürlich nicht, entweder du machst es so, dass man nur Zahlen eingeben kann, oder dass überprüft wird ob Buchstaben mit drin sind und dann ein Error kommt.
 
ZiG_
Überflieger
Überflieger

Anmeldedatum: 07.03.2007
Beiträge: 1248


Verfasst am: 25.08.2007, 15:00

@aL1ienaire

Ich hab mich nur in der Zeile geirrt.
Da hättest auch selbst drauf kommen können.

Das
Zahl = txt_eingabe.txt

gehört natürlich bei else hinein, wie es Bahamut geschrieben hat.
Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
 
aL1ienaire_
Tutorial Leser
Tutorial Leser

Anmeldedatum: 22.08.2007
Beiträge: 35


Verfasst am: 25.08.2007, 15:50

ok geht jetzt alles*, wie gesagt ich bin ein nobo Very Happy hab nur die tuts angeschaut von einem tobios oder so
 
Marduk_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 17.06.2007
Beiträge: 389


Verfasst am: 25.08.2007, 20:04


Damit kannst du nur Zahlen in der Textbox zulassen, dann kommt auch kein Fehler mehr

[vb:1:8b49ea4a6c]Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress

Select Case Asc(e.KeyChar)
Case 48 To 57, 8, 32
' Zahlen, Backspace und Space zulassen

Case Else
' alle anderen Eingaben unterdrücken
e.Handled = True
End Select
End Sub[/vb:1:8b49ea4a6c]

Hab ich auch in meinen TR verwendet und ist recht nützlich Wink
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB.NET] Fragen - Antworten

Tags: euro, eingabe, zahl, text, fehlermeldung, eingegeben

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge [gelöst] String in Integer umwandeln klappt nicht (XML, ASP) 574 06.11.2011, 22:12
Keine neuen Beiträge CoolXP einbauen 504 16.02.2008, 13:31
Keine neuen Beiträge Ogame Login klappt nicht 1922 12.02.2008, 16:36
Keine neuen Beiträge Wie kann ich das einbauen? 648 17.11.2007, 11:15
Keine neuen Beiträge update funktion einbauen 1455 29.01.2007, 00:11
 


[ Time: 0.0745s ][ Queries: 104 (0.0283s) ][ GZIP on - Debug on ]