Hola como recien comienzo en esto de Visual aunque se parece un poco al Viejo fOX
estoy haciendo un programa que en los texbox me gustaria limitar la entrada de numeros desde 00 al 99,ya he logrado hacer que me capte solo numeros y no carapteres y que tambien no pasen de dos pero como no entiendo mucho de string :)
Public Class Form1
Dim Sep As Char
Dim Número As Double
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If Not (Char.IsNumber(e.KeyChar) Or e.KeyChar.Equals(Sep) Or Char.IsControl(e.KeyChar)) Then e.Handled = True
End Sub
End Class
Luis
podrias agregarle:
y el largo del texto en mi textbox no sea mayor a 2. :)
saludos
PD: esto va en .Net
???? alguna posible respuesta ?? con if se podria ?
luis
Cita de: Danyfirex en 21 Septiembre 2013, 18:25 PM
y el largo del texto en mi textbox no sea mayor a 2. :)
Querido Luis esto es un If, pero si no conoces bien la materia...
sin saber mucho de vb 6.0 diria que es algo así:
if not textbox1.text.length > 2
ahora hazme un favor, cojete un buen manual y leetelo... :silbar:
PD: http://visualbasic.freetutes.com/learn-vb6/lesson3.html
Un saludo. :rolleyes:
pues de entrada la pregunta ya es incongruente! has logrado que tome solo números (bien) y que sean solo dos (bien) supongo que ese solo dos esta referido al largo y no al caracter 2, ahora bien, con dos numeros desde 0 a 9 el valor más alto posible es 99 ¿para qué agregar más?
:S no me di cuenta que lograste también que solo pudieras entras 2 caracteres.
entonces no necesitas mas nada.
@Ikillnukes el preguntaba sobre net no vb6.
@tincopasan el único que leyó bien :S ( o completo)
saludos
Bueno gracias por las respuestas
tratare de explicar un poco mejor, tengo un texbox inicial que en principio me hace una suma y ese resultado me lo envia a otro texbox :
ejemplo
introdusco en texbo1 el numero 50 y el programa le suma 30 normalmente eso es 80 como resultado no ? pues lo que necesito es que si es 80 no lo ponga :) si que ponga 79 en el txbox2
luis
entonces tendrias que hacer algo como
if numero mod 2=0 then numero-1
así se cumpliría para todos los pares. hay que ver que realmente quieres hacer.
saludos
He aca la función que hago donde en texbox1 esta el valor introducido que no puede pasar de dos dígitos eso ya lo tengo solucionado es se hace ya saben en propiedades.bueno el asunto es que si pongo por ejemplo el cuarenta (40) la suma seria 50 yo lo que necesito es que no me muestre el 50 osea seria el 49,tengo la idea de hacer con if una condición tipo >< pero como estoy enviando al otro texbox
el resultado no logro enterarme como se hace,como os dije en mi presentación :) tengo ya 53 anitos y como mi lenguaje fue foxpro me cuesta un poco saber de otros sistemas. no quiero que me hagan los programas solo orientación..
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
r1 = Val(TextBox1.Text)
TextBox7.Text = r1 + 10 <--aca el resultado condicionado
End Sub
Luis
luis entonces no se si lo podrías hacer asi
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
r1 = Val(TextBox1.Text)
if (r1 mod 10=0) then r1-1
TextBox7.Text = r1 + 10 <--aca el resultado condicionado
End Sub
saludos
No funciona estoy tratando con esto pero no se como hacer que no me muestre el resultado como quiero
Public Class Form1
Dim r1 As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
r1 = Val(TextBox1.Text)
TextBox2.Text = r1 + 10
If Val(TextBox2.Text >= 60) Then
Exit Sub
End If
End Sub
End Class
estas aplicando mal el val con toda la expresión no va bien.
es así:
Public Class Form1
Dim r1 As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
r1 = Val(TextBox1.Text)
TextBox2.Text = r1 + 10
If (Val(TextBox2.Text) >= 60) Then
Exit Sub
End If
End Sub
End Class
PD: todavía no me queda claro que es lo que quieres lograr/hacer.
Cita de: Danyfirex en 23 Septiembre 2013, 15:17 PM
estas aplicando mal el val con toda la expresión no va bien.
es así:
Public Class Form1
Dim r1 As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
r1 = Val(TextBox1.Text)
TextBox2.Text = r1 + 10
If (Val(TextBox2.Text) >= 60) Then
Exit Sub
End If
End Sub
End Class
PD: todavía no me queda claro que es lo que quieres lograr/hacer.
Siempre en programación me paso" lo de que tu sabes lo que quieres jejej pero no explicas bien"
Bien ahora de esta forma ! quiero limitar que cualquier resultado de x suma de x numeros se limite a mostrar pongamos por ejemplo desde el numero 01 hasta el 80 y si esta suma pasa del numero 80 no se muestre en los resultados
gracias por tu atencion :)
luis
también me ha pasado jajaja.. y todavía no me queda claro.
entonces te refieres a esto:?
Public Class Form1
Dim r1 As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
r1 = Val(TextBox1.Text)
'te refieres a esto
if r1+10 < 80 then 'si es menor a 80 se cumnple
TextBox2.Text = r1 + 10
If (Val(TextBox2.Text) >= 60) Then
Exit Sub
End If
endif 'cierro
End Sub
End Class
la verdad esta difícil de comprender lo que quieres :S o es que soy muy tapao'
Cita de: Danyfirex en 23 Septiembre 2013, 15:31 PM
también me ha pasado jajaja.. y todavía no me queda claro.
entonces te refieres a esto:?
Public Class Form1
Dim r1 As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
r1 = Val(TextBox1.Text)
'te refieres a esto
if r1+10 < 80 then 'si es menor a 80 se cumnple
TextBox2.Text = r1 + 10
If (Val(TextBox2.Text) >= 60) Then
Exit Sub
End If
endif 'cierro
End Sub
End Class
la verdad esta difícil de comprender lo que quieres :S o es que soy muy tapao'
Hurra por ti jejej funciona
Gracias chaval
Luis