Autor Tema: Problema de definicion de variables  (Leído 4118 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado piriots

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 609
Problema de definicion de variables
« en: 30 de Diciembre de 2005, 12:25:00 »
Pues en mis primeros pasos en VB estoy jaciendo un programita simple que le introduces un numero de horas, otro de minutos y otro de segundos y cuando le das a un boton que pone " convierte a segundos" te da el resultado en segundos.

el problema es que al compilar me dice que las variables no estan definidas, en el
curso de luis bonilla pone que si nodefines una variable el compilador la define como integer. A ver si me sabeis decir donde esta el fallo.

Codigo:


Private Sub Command1_Click()
Dim a As Integer
Dim b As Integer
Dim c As Integer
a = val(Text1.Text) * 3600
b = val(Text2.Text) * 60
c = val(Text3.Text)
Label4.Caption = a + b + c
End Sub




Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
RE: Problema de definicion de variables
« Respuesta #1 en: 30 de Diciembre de 2005, 13:44:00 »
Hola:

Piriots, acabo de compilar tu ejemplo y no obtengo ningun error... Helado

Desconectado vszener

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2395
RE: Problema de definicion de variables
« Respuesta #2 en: 30 de Diciembre de 2005, 14:27:00 »
¿Que version de VB estas usando? yo tambien lo he compilado y no me da error...el mio es vb6 y en español


Suerte!!!Giño
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado piriots

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 609
RE: Problema de definicion de variables
« Respuesta #3 en: 30 de Diciembre de 2005, 15:21:00 »
Estoy usando la version 6 profesional SP6 . ¿A vosotros os compila?ArdiendoArdiendo  Pues de momento voy a reinstalar la misma version que tengo. ¿Si de esta forma no se soluciona que hago? ¿ Me descargo alguna otra version?

Salu2

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
RE: Problema de definicion de variables
« Respuesta #4 en: 30 de Diciembre de 2005, 22:07:00 »
Hola:

Piriots, pasame los archivos que tienes para revisarlos y ver si se abren con mi VB...

Desconectado piriots

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 609
RE: Problema de definicion de variables
« Respuesta #5 en: 31 de Diciembre de 2005, 07:28:00 »
Muchas gracias lordlafebre!! Ya te he mandado los archivos en un MP.

Salu2

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
RE: Problema de definicion de variables
« Respuesta #6 en: 31 de Diciembre de 2005, 08:41:00 »
Hola:

El error es muy sencillo, tu no tienes un Label4 tienes un text 4 al que no le asignas nada y esta solamente ocupando espacio en el form...Avergonzado

puedes asignar el resultado al text4 en tu codigo:

a = Val(Text1.Text) * 3600
b = Val(Text2.Text) * 60
c = Val(Text3.Text)
Text4.Text = a + b + c

o puedes borrar el text4 y poner un label mas... xq veo que tienes 3 al agregar uno mas se creara el Label 4 y solamente necesitaras compilar y el programa funcionara bien... Sonrisa Gigante


Desconectado piriots

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 609
RE: Problema de definicion de variables
« Respuesta #7 en: 31 de Diciembre de 2005, 09:11:00 »
Muchas gracias lordlafebre, era un error sencillo pero no lo veia...Llorando Ahora a seguir aprendiendo!! Sonrisa Gigante

Salu2

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
RE: Problema de definicion de variables
« Respuesta #8 en: 31 de Diciembre de 2005, 09:38:00 »
Hola:

Estos errores suelen suceder ami me paso muchas veces pague asi la novatada y luego tambien ji ji... Avergonzado

Desconectado Colores

  • Moderadores
  • PIC16
  • *****
  • Mensajes: 232
RE: Problema de definicion de variables
« Respuesta #9 en: 31 de Diciembre de 2005, 16:15:00 »
Las variables no declaradas en VB 6 quedan definidas como "Variant" que es un tipo de memoria que puede almacenar casi cualquier tipo de dato, pero a costa de un desperdicio de memoria considerable.

Por eso SIEMPRE hay que declarar las variables, sinó sucede que nos olvidamos si esa variable había sido declarada, usamos cualquier nombre que VB considera que es una variable y el programa empieza a tener errores que son muy difíciles de encontrar.

Para "configurar" VB para que nos obligue  a declarar variables hay que poner la opción "Option Explicit" al principio del código.

O sinó Visual Basic puede hacerlo solo, si se lo indicas en las opciones del proyecto...
Menú Tools, solapa Environment, opción: Require Variable Declaration.

La ventaja: que si te equivocas al escribir una variable, ¿a quién no le ha ocurrido?, VB te indicará que no existe.
La desventaja: Que tienes que declarar todas las variables con Dim, etc.
Ahora sabes que si no declarás una variable, y no estás usando la orden "Option Explicit", Visual Basic le asigna por defecto el tipo Variant y la crea si no existe. Con los arrays, crea los valores de 0 a 10.
Por tanto puede que incluso estés desperdiciando memoria:

   1. Variant ocupa más espacio de memoria que cualquier otro tipo
   2. Puede que sólo necesites un array de 5 elementos, el resto que no necesitas, está ocupando memoria que puede ser necesaria para otras cosas: velocidad, más variables, etc.



Desconectado piriots

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 609
RE: Problema de definicion de variables
« Respuesta #10 en: 23 de Enero de 2006, 12:11:00 »
Gracias por la explicacion!! Llevo un tiempo algo alejado del foro porque en casa no me funciona inet desquiciadodesquiciado pero de momento voy haciendo y con la ayuda de manuales las cosas van saliendo.

Salu2