Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Operaciones

Estas en el tema de Operaciones en el foro de Visual Basic clásico en Foros del Web. Bueno, empezando con vb y ya saben, quiero entender todo..... y me encontre con esto: Resultado.Text = Val(Cuadro1.Text) * Val(Cuadro2.Text) LlbOpera.Caption = "*" Esto lo ...
  #1 (permalink)  
Antiguo 27/10/2005, 18:38
Avatar de leoj90
Usuario baneado!
 
Fecha de Ingreso: agosto-2005
Mensajes: 1.365
Antigüedad: 18 años, 9 meses
Puntos: 0
Operaciones

Bueno, empezando con vb y ya saben, quiero entender todo..... y me encontre con esto:
Resultado.Text = Val(Cuadro1.Text) * Val(Cuadro2.Text)
LlbOpera.Caption = "*"


Esto lo q hace es multiplicar cuadro1 con cuadro2 y escribir el signo de * porq se realizó una multiplicacion.. mi pregunta es: Si pongo algo como
Resultado.Text = Cuadro1.Text + Cuadro2.Text, suma los 2 o es obligatorio usar los Val ?
  #2 (permalink)  
Antiguo 27/10/2005, 20:27
Avatar de jc_moty  
Fecha de Ingreso: septiembre-2005
Ubicación: Usulután, El Salvador
Mensajes: 477
Antigüedad: 18 años, 7 meses
Puntos: 1
La respuesta es SI, si es obligatorio el uso de Val porque Cuadro1 y Cuadro2 son objetos TextBox, entonces todo lo que introduces en estos objetos el compilador lo entiende como cadena o string y si sumas dos cadenas, lo que el compilador hara sera concatenar estas cadenas; por ejemplo:


Dim x, y As String
x = "1"
y = "2"
res = x + y


El resultado de la suma sera "12".
Y como lo que queremos es el resultado de una operacion matematica, tenemos que convertir la cadena a un valor numerico; esta conversion se hace por medio de el metodo Val. Ahora bien, observa la diferencia del ejemplo anterior usando Val


Dim x, y As String
x = "1"
y = "2"
res = Val(x) + Val(y)


En este caso el resultado es: 3.

Espero me hayas entendido.
Saludos.
  #3 (permalink)  
Antiguo 27/10/2005, 21:24
Avatar de leoj90
Usuario baneado!
 
Fecha de Ingreso: agosto-2005
Mensajes: 1.365
Antigüedad: 18 años, 9 meses
Puntos: 0
Ah ok... tonces con Val se entiende q son operaciones y no cadenas...
6+6= 12 <- esto es lo q se quiere hacer
1+2= 12 <- esto no, esto es un string

Gracias!
  #4 (permalink)  
Antiguo 28/10/2005, 05:39
Avatar de aldo1982  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 19 años, 5 meses
Puntos: 6
Cita:
Iniciado por leoj90
Bueno, empezando con vb y ya saben, quiero entender todo..... y me encontre con esto:
Resultado.Text = Val(Cuadro1.Text) * Val(Cuadro2.Text)
LlbOpera.Caption = "*"


Esto lo q hace es multiplicar cuadro1 con cuadro2 y escribir el signo de * porq se realizó una multiplicacion.. mi pregunta es: Si pongo algo como
Resultado.Text = Cuadro1.Text + Cuadro2.Text, suma los 2 o es obligatorio usar los Val ?
bue seria asi
pones dos cuadros de texto un boton (este boton relizara la operacion ke tu kieras en este ejemplo te pongo para ke haga una suma) y un label
en el boton pones
label1 = val(text1) + val(text2)

y listo, si kieres multiplicar usas el * para dividir la / (ojo con ladivicion por cero, tendrias ke usar el on error)

salu2
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
  #5 (permalink)  
Antiguo 28/10/2005, 06:37
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
cuando quiero sumar dos cajas de texto que contengan numeros yo pongo:

resultado.text = cint(text1.text) + cint(text2.text)

cint o cdec, según lo necesite. Ah y el .text está como demás
  #6 (permalink)  
Antiguo 28/10/2005, 08:28
Avatar de aldo1982  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 19 años, 5 meses
Puntos: 6
Cita:
Iniciado por Developer9
cuando quiero sumar dos cajas de texto que contengan numeros yo pongo:

resultado.text = cint(text1.text) + cint(text2.text)

cint o cdec, según lo necesite. Ah y el .text está como demás
ke es el cint ? o el dced ?
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
  #7 (permalink)  
Antiguo 28/10/2005, 08:40
 
Fecha de Ingreso: junio-2005
Mensajes: 165
Antigüedad: 18 años, 11 meses
Puntos: 0
Pasa al tipo integer - cint

cdate a date
cdbl a double
y asi...
  #8 (permalink)  
Antiguo 28/10/2005, 11:52
Avatar de leoj90
Usuario baneado!
 
Fecha de Ingreso: agosto-2005
Mensajes: 1.365
Antigüedad: 18 años, 9 meses
Puntos: 0
Y como podria poner q al escribir un 0 se ponga una alerta u ocurra un error?
Algo asi ?:
Código:
If cuadro1.text = 0 Then
MsgBox "No puedes dividir entre 0"
End If
  #9 (permalink)  
Antiguo 28/10/2005, 12:34
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo

Cita:
Iniciado por leoj90
Y como podria poner q al escribir un 0 se ponga una alerta u ocurra un error?
Algo asi ?:
Código:
If cuadro1.text = 0 Then
MsgBox "No puedes dividir entre 0"
End If
Y pues va por la misma cosa:
Código:
 
If Val(cuadro1.text) = 0 Then
Msgbox "No puedes dividir entre 0"
End If
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:00.