• Domingo 22 de Diciembre de 2024, 09:20

Autor Tema:  Curiosidad Al Declarar Variables  (Leído 1377 veces)

abelsql3000

  • Miembro activo
  • **
  • Mensajes: 76
    • Ver Perfil
Curiosidad Al Declarar Variables
« en: Lunes 30 de Abril de 2007, 00:45 »
0
Hola aqui de nuevo con una nueva inquietud
Deseo sumar varios valores de variables y he declarado de la siguiente manera para que me funcione correctamente

Dim x As Integer
Dim y As Integer
Dim z As Integer
Dim a As Currency

Private Sub Form_Click()
x = Text1
y = Text2
z = Text3
a = (x + y + z) / 3
Text4 = a
End Sub

Pero cuando deseo declarar las variables de la siguiente manera

Dim x,y,z As Integer
Dim a As Currency

Private Sub Form_Click()
x = Text1
y = Text2
z = Text3
a = (x + y + z) / 3
Text4 = a
End Sub

no me funciona.
Que esta sucediendo, estoy declarando mal?????
No deseo usar la funcion VAL, salvo que sea sumanente necesario, quiero darle enfasis a la declaracion de variables
Necesito su aporte, adjunto el archivo por cualquier observacion mas clara.
Gracias atte Abel

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Curiosidad Al Declarar Variables
« Respuesta #1 en: Lunes 30 de Abril de 2007, 01:03 »
0
Cual es el error?
En teoría debería funcionar de las dos formas.
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

AnioN

  • Miembro MUY activo
  • ***
  • Mensajes: 339
    • Ver Perfil
Re: Curiosidad Al Declarar Variables
« Respuesta #2 en: Lunes 30 de Abril de 2007, 01:03 »
0
sino me equivoco en versiones de VB 6.0 y anteriores no esta permitido declarar multiplies variables en la misma linea.

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Curiosidad Al Declarar Variables
« Respuesta #3 en: Lunes 30 de Abril de 2007, 02:37 »
0
El problema es el siguiente, en la línea que tiene:
Dim x, y, z As Integer
VB declara a X y Y como variantes y a Z como integer.

Suponiendo que los valores de Text1 sea =1 Text2=2 y Text3=3

En esta línea
a = (x + y + z) / 3

Sucede lo siguiente: Se concatena X y Y como texto y el resultado es una cadena con valor de "12" a la cual se le suma 3 (el valor de z) que da como resultado 15 y si lo divides entre 3 el resultado es A=5

La declaración múltiple la debes hacer así:

Código: Text
  1. Dim x As Integer, y As Integer, z As Integer
  2.  
:comp: