Hallo erstmal,
also ich arbeite jetzt seit einem Monat als Fachinformatikerin
leider kenne ich mich nicht sehr gut mit Visual Basic aus! Mein Chef möchte jetzt das ich einen Taschenrechner in Visual Basic programmiere. Hab jetzt auch schon alles fertig bis auf das, dass man keine Buchstaben ins Eingabe feld eingeben soll. Im Internet hab ich dann das gefunden:
Dim testen_ob_Zahl
testen_ob_Zahl = IsNumeric(txtZahl1.Text)
If testen_ob_Zahl = False Then MsgBox(„Bitte eine Zahl eingeben“)
So will er es aber nicht! Er möchte irgendwie etwas mit einer if Formel oder so. Könnt ihr mir bitte helfen und erklären wie man das noch machen kann?!
Vielen Dank im Voraus an alle…
Skandalös
[MOD] - Titel geändert
Mein Chef möchte jetzt das ich einen Taschenrechner in Visual
Basic programmiere. Hab jetzt auch schon alles fertig bis auf
das, dass man keine Buchstaben ins Eingabe feld eingeben soll.
Hi Skandalös,
ungetestet:
if not IsNumeric(txtZahl1.Text) then MsgBox(„Bitte eine Zahl eingeben“)
Gruß
Reinhard
Hi Skandalös,
ungetestet:
if not IsNumeric(txtZahl1.Text) then MsgBox(„Bitte eine Zahl
eingeben“)
Gruß
Reinhard
Hallo Reinhard
leider geht dies so nicht! aber ich danke dir trotzdem!
Skandalös
Hallo,
Muss es unbedingt mit IF gemacht werden?
Ansonsten wäre es nämlich mit einem Try / Catch Block getan.
Hier einmal der Code in C# (Sorry, ich kann kein VB.NET, aber vielleicht kannst du es ja trotzdem lesen)
try
{
int eingabe = Convert.ToInt32(Console.ReadLine()); //Eingabe der Zahl
Console.WriteLine(eingabe); //Ausgabe der Zahl
}
catch (Exception fehlermeldung)
{
Console.WriteLine(fehlermeldung.message);
}
//Wenn „eingabe“ kein Integer ist wird eine von .NET generierte Fehlermeldung ausgegeben
Ich hoffe ich konnte dir weiterhelfen
Gruß,
Flavio
Grade gefunden war auch auf der such nach sowas:
http://www.ms-office-forum.net/forum/archive/index.p…
hier kannste eingeben welche Zeichen gehen alle anderen werden unterdrückt.
Du brauchst ja nur die Zahlen.
Hi leute
danke für die hilfe von euch allen!! aber es geht immer noch nicht! Hab etz zwar was gefunden, und zwar
Dim testen_ob_Zahl
testen_ob_Zahl = IsNumeric(txtZahl1.Text)
If testen_ob_Zahl = False Then txtZahl1.Text = „“
aber mein problem das ich etz hab ist das ich zwar keine Buchstaben mehr am Anfang schreiben kann dafür macht es aber nichts wenn ich sie irgenwo mitten rein schreibe! ich hätte da jetzt auch einen neuen ansatz vll könnt ihr euch den mal anschauen und mir verbesserungsvorschläge geben! Hier ist er:
Dim dummy = „“
Dim ez = „“
For dummy = 1 To Len(txtZahl2.Text)
ez = txtZahl2.Text
If ez = True Then
Select Case ez
Case ez = „0“, „9“, „.“
dummy = dummy & ez
Case Else
End Select
End If
Next
txtZahl2.Text = dummy
Danke!!
Also ich habs etz endlich geschaft!!!
und hier für alle die mal das selbe Problem haben:
Dim dummy As String = „“
Dim ez As String
Dim i As Integer = 0
For i = 1 To Len(txtZahl1.Text)
ez = Mid(txtZahl1.Text, i, 1)
Select Case ez
Case „0“ To „9“, „.“
dummy = dummy & ez
Case Else
End Select
Next
txtZahl1.Text = dummy
txtZahl1.Select(txtZahl1.Text.Length, 0)
trotzdem nochmal an alle danke! und falls jemand trotzdem noch eine bessere lösung hat nehme trotzdem noch jeden Vorschlag gerne an 
Liebe grüße Skandalös
trotzdem nochmal an alle danke! und falls jemand trotzdem noch
eine bessere lösung hat nehme trotzdem noch jeden Vorschlag
Hi,
obs besser ist weiß ich nicht, aber es ist zumindest eine Altenative:
Oben im Dokument muss Imports System.Text.RegularExpressions stehen
Dim eingabe As String = Console.ReadLine()
Dim wertebereich As String = ("^[0-9]")
If Regex.IsMatch(eingabe, wertebereich) Then
Console.WriteLine(„Eingabe ist eine Zahl“)
Die Variable „eingabe“ nimmt die Zeichen mit ReadLine() entgegen.
Die Variable „wertebereich“ gibt einen bereich an.
Regex.IsMatch(eingabe, wertebereich) besagt, dass „eingabe“ nur aus Zeichen von „Wertebreich“ bestehen darf, und das sind ja die Zahlen von 0-9.
Kannst es ja mal ausprobieren.
Gruß,
Flavio
Hallo,
ich bin erst jetzt an meinen Computer mit VB 2005 gekommen.
Wie gefällt Dir das:?
Private Sub TextBox1\_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If Not IsNumeric(e.KeyChar) And Asc(e.KeyChar) 8 Then
e.KeyChar = ""
End If
End Sub
Ich vermute, so war es ursprünglich gemeint.
Gruß Rainer