[RESUELTO] Una variable mal declarada

Iniciado por BorecK, 4 Diciembre 2006, 20:21 PM

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

BorecK

Bueno gracias a todos el problema se resolvio de la siguiente manera....
Por que la Variable Global no almacenaba el Nombre?
Bueno pues por que la habia declarado como integer en la variable Global que se encuentra en el Module...

VARIABLES:
Una variable contiene un valor que puede modificarse a lo largo de la ejecucion de la aplicacion. Cada Variable tiene atributos propios como:

NOMBRE: es la que utilizamos pra referirnos a la variable en la aplicacion.

TIPO: El tipo determina que clase de valores puede almacenar la variable ( aqui fue mi problema en el programa)

AMBITO: El ambito de una variable especifica en que parte de la aplicacion la variable es conocida por lo tanto puede utilizarse.

El Nombre de una variable tiene qu comenzar por una letra y puede tener hasta 40 caracteres de longitud.
Los caracteres pueden ser letras, digitos, el caracter de subrayado y los caracteres de declaracion del tipo de la variable (%, &, !, #, @, $). El nombre de una variable no puede ser una palabra reservada de Visual Basic.

TIPOS de DATOS:
------------------------------------------------------------------------
Tipo:                    Descripcion:                      Caracter:
------------------------------------------------------------------------
Integer                     Entero                               %
------------------------------------------------------------------------
Long                     Entero Largo                          &
------------------------------------------------------------------------
Single              Real Simple Precision                   !
------------------------------------------------------------------------
Double              Real Doble Precision                   #
------------------------------------------------------------------------
Currency       Numero con punto decimal fijo        @
------------------------------------------------------------------------
String             Cadena de Caracteres                   $
------------------------------------------------------------------------
Variant          Numeros enteros, reales            (ninguno)
(Por defecto)         o caracteres
------------------------------------------------------------------------

Bueno aqui es un Resumen de las Variables por lo tanto tuve que declarar en variables globales (en el modulo) la variable Nom como Variant, el problema fue que la habia declarado como String por eso me marcaba error, por eso creo que es muy importante revizar como declaramos nuestras variables  :P, asi que la declare de la siguiente manera:

Global Nom as Variant

Como lo que queria era almacenar un Nombre (Roberto) entonces la tenia que declarar como Variant que es para Numeros enteros reales o caracteres... :P



------------------------------------------------------------------------

EL PROBLEMA:

Hola, bueno yo andoe studiando apenas programacion no se mucho apenas ando en lo basico y tengo un problema y quiero pedirles un poco de ayuda para presentar mi examen.. es algo muy sencillo pero no se como hacerlo jhaja  ;D miren:

el programa es un examen echo con varios formularios es decir aparece un formulario contestas la pregunta y pasas al segundo formulario al final te suma la calificacion y te dice si estas aprobado o reprobado... pero mi problema es el siguiente:

al ejecutar el examen aparece un formulario donde te pide tu Nombre.. lo tecleas le das enter ( es un textbox )y ya empieza tu examen.. el codigo de ese formulario es este:

Private Sub Nombre_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Nombre.Text = Nom
If Nombre.Text = "" Then
MsgBox "introduzca su nombre..."
Else
Unload Me
FrmPreg1.Show
End If
End If
End Sub


lo que quieria era almacenar el nombre dle usuario en donde dice: Nombre.Text = Nom
y cree una variable global en un module asi:

Global Nom As Integer

No se si estuve mal pero asi lo hice...
el caso es que una vez tecleando el nombre contestas el examen y al final lo que quiero hacer es que aparezca el Nombre que se dio en el Texbox es decir si puse de Nombre roberto quiero que aparezca en un label que diga lo siguiente: Roberto Husted Aprobo o Reprobo... solo quiero colocar el Nombre que teclee al principio... es lo unico que no puedo hacer.... aqui pongo el codigo que puse yo al final supuestamente para que apareciera el nombre pero no aparece:

Private Sub Form_Load()
Label1.Caption = Label1.Caption & Str(cal)
If cal < 6 Then
Label2.ForeColor = RGB(255, 0, 0)
Label2.Caption = "REPROBADO"
Else
Label2.ForeColor = RGB(0, 0, 255)
Label3.Caption = Nom & " Usted fue :"
Label2.Caption = "APROBADO"
End If
End Sub

Espero que me ayuden a resolver esto es lo unico que me falta... muchas gracias  :P

CeLaYa

eso es facil



Private Sub Nombre_KeyPress(KeyAscii As Integer)

   If KeyAscii = 13 Then
        Nom = Nombre.text
        Unload Me
        FrmPreg1.Show
   End If
End Sub
"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.

soplo

Borek el código debe ir remarcado como código. Si vuelvo a ver un post así te lo borro.

Un saludo
Callar es asentir ¡No te dejes llevar!

BorecK

oh gracias pero creo que no queria eso... quiero pasar el texto dado en el texbox a otro formulario... ejemplo:

formulario uno:
Escribe tu Nombre: Roberto <--(Textbox)
--------------------------------------

formulario dos:

Hola Roberto!   <---(Label)

Quiero Guardar el Nombre de Roberto el que introduje al principio y que aparezca al final escrito en el label...  :(

OK soplo disculpa no sabia esto.. quiza debi ver las reglas del foro.. pero bueno tu podrias ayudarme ?

CA

en el evento keydown del textbox1


         if keyascii = 13 then
           form2.label1.text= textbox1.text
         end if
Del gran mar he llegado a la tierra media y esta sera mi morada y la de mis descendientes hasta el fin del mundo.

NekroByte

Pero si el formulario aún no ha desplegado su evento _Load() dará error. Lo mejor es que cuando cargue el Form2 añadir en _Load()

Label1 = Form1.Text1

Hilsener.

BorecK

#6
vana  decir que los molesto mucho pero ya intente y no se puede miren aki estan los Files:

http://bio-designs.webcindario.com/Ejer8.rar

echenme la mano solo quiero aprender y quiero tener buenos conosimientos!!!  :( aparte es un trabajo para mi examen y si no lo paso ..... me sakaran de programacion y si me sakan me morire!!!!!

por cierto no hay problema que ponga el link asi ? es que me da miedo que me cierren el post xD!!!

CA

nekro si lo abres en modal no da error, o .show.
Del gran mar he llegado a la tierra media y esta sera mi morada y la de mis descendientes hasta el fin del mundo.

ranslsad

Hola amigo, si mal no entiendo... tu lo que quieres es hacer que el nombre se guarde... y luego salga al final no?

pues estuve mirando tu codigo y vi que esta todo bien... y para que salga el nombre por ejemplo donde dice: Usted Fue: y en el form load deberias poner:
Label3.Caption = "Usted Fue: " & Nom

y se pone el nombre
Usted Fue: Nom

entiendes? creo que es eso lo que quieres :S
no se...

Bueno espero que te sirva...

Salu2

Ranslsad

BorecK

#9
que raro asi le eh echo y no sale nada.... sera que esta mal mi visual ? :-( ...

ahora me sale en el label usted fue: 0 ... en vez de sakar el nombre me puso un 0 jajajaja realmente algo tan sencillo como me puede rompr la cabeza  :o