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
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
Borek el código debe ir remarcado como código. Si vuelvo a ver un post así te lo borro.
Un saludo
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 ?
en el evento keydown del textbox1
if keyascii = 13 then
form2.label1.text= textbox1.text
end if
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.
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 (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!!!
nekro si lo abres en modal no da error, o .show.
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
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
Jajajajajajaja :D Pues ahí estuvo el problema, ¡Qué ciegos fuimos!
Tu nom está declarado como Integer. Tienes que cambiarlo a String.
;D Saludos ::).
Nooo ya me di cuenta ya pudee probe como string.. y tampoco se podia lo tube que declarar en globales como Variant xDDD Muchas gracias a todos son lo mejor!!! ;D
es algo muy simple..
si tefijas tienes que cuando se de click en el label 3 del formulario resultado sale el nombre.
Private Sub Command1_Click()
End
End Sub
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)
Label2.Caption = "APROBADO"
End If
End Sub
'esto no debe de ir ahi sino en el load...
Private Sub Label3_Click()
Label3.Caption = Trim((Nom) & " Usted fue :")
End Sub
asi :
Private Sub Command1_Click()
End
End Sub
Private Sub Form_Load()
Label1.Caption = Label1.Caption & Str(cal)
Label3.Caption = Trim((Nom) & " Usted fue :")
If cal < 6 Then
Label2.ForeColor = RGB(255, 0, 0)
Label2.Caption = "REPROBADO"
Else
Label2.ForeColor = RGB(0, 0, 255)
Label2.Caption = "APROBADO"
End If
End Sub