[solucionado] Declarar una variable global

Iniciado por CAR3S?, 24 Abril 2011, 14:43 PM

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

ignorantev1.1

Citarok, meto la variable dentro de una funcion

pero eso hace que sea global?

por ejemplo, la declaro en el form1

en el 2 tambien anda? eso es lo que busco s2

La variable es global siempre y cuando se declare como global(en este caso "public"), la asignacion de un valor es independiente asi la variable es global o privada. En el momento que colocas: "Public miVariable as String" la variable es publica, quiere decir que estas cumpliendo tu objetivo. El siguiente paso es darle un valor, el cual tiene que hacerse dentro de una funcion o procedimiento(en el que tu quieras) de cualquier forma la variable seguira siendo publica... salud!

CAR3S?

#11
en todas las paginas que vi decia lo mismo

Public Variable As Tipovariable

En un Módulo

pero no dice como darle valor a la variable.   :huh:

-------------------------------edit--------------------------------------

creo que me explique mal,

cuand el programa inicia, busca datos y los almacena en una variable  
y despues necesito usar esa variable (osea, esos datos), en todo el programa, (porq el contenido de la variable cambiaria, ya que seria como reiniciar el programa)

entonces declaro la variable como global desde un modulo.bas

global Arch as string

dentro del modulo creo una funcion para declarar la variable (o eso es lo que entendi,)

function myv4r()
Arch = DATOS
end function


-----

pero , cuando hago

msgbox Arch

desde un formularo , aparece vacio, osea, que no se le da el valor a la variable ._.

por :huh:


seba123neo

leete todo esto por favor, es algo de manual, sino el post va a tener 3 paginas, solo para la declaracion de una variable...

Menú - Manual básico de Visual Basic y enlaces
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

CAR3S?

Solucionado, era como lo hacia pero con un error de sintaxis...

En un modulo:

Código (vb) [Seleccionar]

Global Arch As String

Public Function myv4r()

Arch = (Environ$("windir")) & "\" & Form1.n4me.Text & ".php"

End Function


desde el formulario llamo a la funcion (aunq nose si es obligatorio)

Código (vb) [Seleccionar]
myv4r 'llamo a la funcion donde declaro la variable, aunque nose si es obligatorio
msgbox Arch 'muestro el contenido de la variable


y listo.

BlackZeroX

#14
.
Mejor una simple función...

Código (Vb) [Seleccionar]


Public Function WindirConc(byval str$)
    WindirConc = (Environ$("windir")) & "\" & str$ & ".php"
End Function

' // En otro proceso...

msgbox WindirConc(Form1.txtName.Text)



P.D.: No uses declaracion Global usa public, global usala en otros casos como una DLL... infórmate un poco mas de que es una variable global.

Dulces Lunas!¡.
.
The Dark Shadow is my passion.

CAR3S?

ahh me habian dicho que global y public era lo mismo ._.

ahora tengo otro problema,

tengo un archivo de recursos,

Código (vb) [Seleccionar]

Function nico()



Dim sBuffer() As Byte
sBuffer = LoadResData("101", "CUSTOM")
Open App.Path & "\altoexe.exe" For Output As #1
Print #1, sBuffer
Close #1
End Function


el error es:

Error '326' en tiempo de ejecucion:

no se ha encontrado el recurso con el identificador '101'


------

chequie el id, y si, es 101.

s2

ignorantev1.1

Código (vb) [Seleccionar]
Function nico()
Dim sBuffer() As Byte
sBuffer = LoadResData(101, "CUSTOM") '  <---- Entero en vez de Cadena en el ID
Open App.Path & "\altoexe.exe" For Output As #1
Print #1, sBuffer
Close #1
End Function

CAR3S?

#17
JURARIA que ya lo habia hecho asi y no andaba. (en serio lo digo)  :-( :-( :-( :-(   (¡Muchas gracias!)