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

Operacion con dos o mas variables

Estas en el tema de Operacion con dos o mas variables en el foro de Visual Basic clásico en Foros del Web. Hola otra vez!!! Tengo una pequeña duda, si se declaran variables, y a cada una en un momento o parte del proyecto le asignamos valores, ...
  #1 (permalink)  
Antiguo 12/06/2010, 21:54
 
Fecha de Ingreso: marzo-2009
Mensajes: 44
Antigüedad: 15 años, 7 meses
Puntos: 0
Pregunta Operacion con dos o mas variables

Hola otra vez!!!

Tengo una pequeña duda, si se declaran variables, y a cada una en un momento o parte del proyecto le asignamos valores, se pueden realizar operaciones con estas variables a las que les asignamos valores???

Por ejemplo: Tengo dos cantidades y dos variables a las que le asigno esos valores, al asignales los valores necesito sumar las variables, eso es posible???

Gracias por la ayuda y la respuesta que me puedan dar.
  #2 (permalink)  
Antiguo 13/06/2010, 00:46
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 15 años
Puntos: 53
Respuesta: Operacion con dos o mas variables

Hola, la manera mas simple de saberlo era haciendo una prueba y ver si te devolvía el resultado esperado, de todos modos depende de como y donde declaras las variables.

Lo mas fácil y prudente es utilizar siempre la opción Option Explicit al principio del código ya que de este modo es necesario definir la variable para utilizarla y si pretendes utilizarla en un sitio donde no debes el IDE te avisa del error.

Te pongo un breve ejemplo pero creo que te ayudara.

Ejemplo 1

Option Explicit
Dim Contador As Integer

Private Sub Command1_Click()
' Cada vez que le das al boton, contador aumenta
Contador = Contador + 1
End Sub

Dim Sub Command2_Click()
' Cuando pulses el boton te indica el valor de la variable
Msgbox Contador
End Sub

Ejemplo 2
Option Explicit

Private Sub Command1_Click()
' Cada vez que le das al boton, contador valdrá SOLO 1 por siempre empieza a 0
Dim Contador as Integer
Contador = Contador + 1
End Sub

Dim Sub Command2_Click()
' Cuando pulses el boton te dara un error porque Contador no puede utilizarse
Msgbox Contador
End Sub

Sin analizas un poco el ejemplo creo que captarás la idea. Por otra parte si debes compartir variables entre Formularios, debes definirlas como Public en Módulos pero este es otro asunto, mas vale aclararte primero uno y después si es necesario el otro.

Saludos
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...
  #3 (permalink)  
Antiguo 13/06/2010, 16:23
 
Fecha de Ingreso: marzo-2009
Mensajes: 44
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Operacion con dos o mas variables

Hola erbuson!!! Gracias por la respuesta.

Bueno la verdad, lo que hice fue declarar variables Globales en un módulo, y las llamo en un formulario y les asigno dos valores, intente hacer lo siguiente:

UtilidadTotal= Costo + Utilidad '''Son las variables a las que les asigne valores.

txtUtilidad.text= UtilidadTotal ''' Aqui debe mostrarme el resultado de la suma de variables.

Pero la verdad no me resulto nada, ni error, ni el valor de la suma.
Por eso pregunto, si hacer este tipo de operaciones es posible???

Gracias por la ayuda y la respuesta que me puedan dar.
  #4 (permalink)  
Antiguo 13/06/2010, 23:27
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 15 años
Puntos: 53
Respuesta: Operacion con dos o mas variables

Hola, a la vista de lo que escribes hacer lo que haces es totalmente correcto, aunque lo que no entiendo es porque no te funciona.

De hecho me imagino que en todo caso te debe mostrar un valor en el TextBox aunque sea cero NO ?
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...
  #5 (permalink)  
Antiguo 14/06/2010, 08:26
 
Fecha de Ingreso: marzo-2009
Mensajes: 44
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Operacion con dos o mas variables

Hola erbuson!!!

Pues si me presenta cero en el textbox, se me olvido decir eso, pero igual tengo la duda de porque no realiza la operación.

Gracias por toda erbuson, creo que seguiré probando.
  #6 (permalink)  
Antiguo 14/06/2010, 08:49
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 15 años
Puntos: 53
Respuesta: Operacion con dos o mas variables

Si te pone 0 es evidentemente porque la variable UtilidadTotal vale Cero por lo tanto el error debes buscarlo antes o después de la suma.

Pega aquí el código y vemos donde se produce.

Saludos
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...
  #7 (permalink)  
Antiguo 14/06/2010, 08:54
Avatar de -rommel_  
Fecha de Ingreso: junio-2008
Ubicación: Lima
Mensajes: 360
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Operacion con dos o mas variables

y si lo ejecutas con F8... pones un stop antes de llegar a esa linea... y verificas que valor le esta llegando a la sumatoria... entonces estarias seguro que Cost + utilidad tiene valores... y si despues de la linea no te guarda el valor.. entonces es problema por tipo de datos... Saludos
  #8 (permalink)  
Antiguo 14/06/2010, 10:49
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 15 años, 1 mes
Puntos: 47
Respuesta: Operacion con dos o mas variables

Hola!!
Aun mas sencillo:
Si las variables Costo y Utilidad son publicas:

Código vb:
Ver original
  1. txtUtilidad.text=Costo + Utilidad
  #9 (permalink)  
Antiguo 15/06/2010, 11:27
 
Fecha de Ingreso: marzo-2009
Mensajes: 44
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Operacion con dos o mas variables

Hola!, aquí dejo lo que hago para realizar la suma de las variables:

Costo= val(mshEstado.textmatrix(2,5))
Utilidad= val(mshEstado.textmatrix(5,5))

UtilidadTotal= Costo + Utilidad

txtUtilidad.text = UtilidadTotal

Espero sirva para poder resolver el problemita que tengo.

Gracias por toda la ayuda.

Saludos.
  #10 (permalink)  
Antiguo 15/06/2010, 11:50
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 15 años
Puntos: 53
Respuesta: Operacion con dos o mas variables

Hola, tal como lo expones, el código es correcto. Quiero imaginarme que sólo has puesto aquí como las utilizas y en tu código no vienen tal cual lo has copiado. ¿ Estan en procedimientos diferentes? ¿ Tomas los valores de Msh de las celdas correctas ?

Ten en cuenta que el primer elemento Row y Col del Msh es 0

Yo probaria a crear puntos de interrupción para depurar el código a fin que se detenga justo después de tomar las variables para detectar donde está fallando.

Saludos

COMO INSERTAR PUNTOS DE INTERRUPCION

Consultar este enlace que es para VBA de Excel pero es perfectamente válido Depurar Codigo

Leer en Capítulo 8 Depuración del Código para aquellos que no lo sepan es bastante instructivo.
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...

Última edición por erbuson; 15/06/2010 a las 12:52
  #11 (permalink)  
Antiguo 15/06/2010, 13:47
 
Fecha de Ingreso: marzo-2009
Mensajes: 44
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Operacion con dos o mas variables

Hola erbuson!!!

Pues aunque no lo creas, asi s como uso el código, bueno en una funcion y luego la llamo al abrir el formulario. Las variables, estan en un mismo módulo declaradas como Globales, lo que cambie alli fue lo de las filas y columnas, pero en el proyecto revise bien y estan bien.

Pero, si dices que lo utilizo correctamente, entonces voy a probar lo que me dices de depurar el código.

Pruebo lo que me sugieres y posteo.

Gracias por todo erbuson.
  #12 (permalink)  
Antiguo 15/06/2010, 14:02
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 15 años
Puntos: 53
Respuesta: Operacion con dos o mas variables

Dices que llamas la función al abrir el formulario, por lo que interpreto que es en el Load. Si es así, supongo que antes has cargado los valores en el mshEstado porque de no ser así, evidentemente ya tendríamos donde esta el problema.

Saludos
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...
  #13 (permalink)  
Antiguo 15/06/2010, 14:06
 
Fecha de Ingreso: marzo-2009
Mensajes: 44
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Operacion con dos o mas variables

Pues la verdad no me he fijado en esa parte.

Voy a revisar ahora mismo y regreso.

Gracias.
  #14 (permalink)  
Antiguo 15/06/2010, 14:10
Avatar de -rommel_  
Fecha de Ingreso: junio-2008
Ubicación: Lima
Mensajes: 360
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Operacion con dos o mas variables

mmm entonces no lee nada en su MSH... curioso detalle jejeje
  #15 (permalink)  
Antiguo 15/06/2010, 14:26
 
Fecha de Ingreso: marzo-2009
Mensajes: 44
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Operacion con dos o mas variables

Hola erbuson!!!

Pues cargo el grid al cargar el form... pero utilice este codigo viendo que no me daba lo de las variables y me resulto bien:

Dim Utilidad As Double

Utilidad = CDbl(mshEstado.TextMatrix(11, 4)) - CDbl(mshEstado.TextMatrix(22, 4))

txtUtilidad.text = Utilidad

Entonces, me imagino que las variables es por lo que llamo a la funcion al cargar el form, bueno supongo.

Gracias por la ayuda erbuson y a todos, mil gracias.
  #16 (permalink)  
Antiguo 15/06/2010, 14:35
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 15 años
Puntos: 53
Respuesta: Operacion con dos o mas variables

Me alegro de que así te funcione ya que sin ver el código e ignorando el contenido del mshEstado es difícil llegar a conclusiones ya que en tu último mensaje estas utilizando un código totalmente diferente y los Row y Col son también distintos.

Saludos
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...

Etiquetas: dos, mas, operacion, variables
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 05:51.