Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: CAR3S? en 24 Abril 2011, 14:43 pm



Título: [solucionado] Declarar una variable global
Publicado por: CAR3S? en 24 Abril 2011, 14:43 pm
Buenos dias  ;D

tengo un modulo .bas, solo para declarar esta variable

Código
  1.  
  2.  
  3. Public Arch As String
  4.  
  5. Arch = Environ$("windir") & "\" & n4me.Text & ".php"
  6.  
  7.  
  8.  

me da error aca:

"windir"



._.    , no entiendo porque....


Título: Re: Declarar una variable global
Publicado por: ignorantev1.1 en 24 Abril 2011, 16:46 pm
No puedes asignarle un valor a una variable fuera de un procedimiento o funcion...


Título: Re: Declarar una variable global
Publicado por: 79137913 en 24 Abril 2011, 17:41 pm
HOLA!!!

Necesitas hacer lo que dijo ignorante, NO ESTAMOS EN SCRIPTING! :P

XD

GRACIAS POR LEER!!!


Título: Re: Declarar una variable global
Publicado por: CAR3S? en 24 Abril 2011, 17:49 pm
y si por ejemplo quiero hacer que la palabra 'hola' sea = chau

donde lo hago? :c


Título: Re: Declarar una variable global
Publicado por: Sanlegas en 24 Abril 2011, 18:16 pm
y si por ejemplo quiero hacer que la palabra 'hola' sea = chau

donde lo hago? :c

No puedes asignarle un valor a una variable fuera de un procedimiento o funcion...



Título: Re: Declarar una variable global
Publicado por: CAR3S? en 24 Abril 2011, 19:27 pm
ok, 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


Título: Re: Declarar una variable global
Publicado por: Edu en 24 Abril 2011, 19:34 pm
Che nuKje , esta todo bien, no lo tomes  a mal, pero te he visto preguntar algunas cosas y pareciera q no has leido ningun tutorial, lo primero q tenes q hacer es leer un buen tutorial de esos grandes y desp mas tutoriales y despues si preguntar aca


Título: Re: Declarar una variable global
Publicado por: Sanlegas en 24 Abril 2011, 20:00 pm
ok, 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

no pierdes nada con probarlo tu mismo  :P


Título: Re: Declarar una variable global
Publicado por: 79137913 en 24 Abril 2011, 20:34 pm
HOLA!!!

Si queres que funcione en varios forms lo mas simple es declararla en un modulo.

GRACIAS POR LEER!!!


Título: Re: Declarar una variable global
Publicado por: CAR3S? en 24 Abril 2011, 20:55 pm
HOLA!!!

Si queres que funcione en varios forms lo mas simple es declararla en un modulo.

GRACIAS POR LEER!!!

es lo que estoy haciendo ._.


Título: Re: Declarar una variable global
Publicado por: ignorantev1.1 en 24 Abril 2011, 21:51 pm
Citar
ok, 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!


Título: Re: Declarar una variable global
Publicado por: CAR3S? en 24 Abril 2011, 22:31 pm
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:



Título: Re: Declarar una variable global
Publicado por: seba123neo en 24 Abril 2011, 22:47 pm
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 (http://www.recursosvisualbasic.com.ar/htm/tutoriales/tutorial_visual_basic_menu.htm)


Título: Re: Declarar una variable global
Publicado por: CAR3S? en 24 Abril 2011, 23:08 pm
Solucionado, era como lo hacia pero con un error de sintaxis...

En un modulo:

Código
  1. Global Arch As String
  2.  
  3. Public Function myv4r()
  4.  
  5. Arch = (Environ$("windir")) & "\" & Form1.n4me.Text & ".php"
  6.  
  7. End Function
  8.  

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

Código
  1. myv4r 'llamo a la funcion donde declaro la variable, aunque nose si es obligatorio
  2. msgbox Arch 'muestro el contenido de la variable

y listo.


Título: Re: [solucionado] Declarar una variable global
Publicado por: BlackZeroX en 25 Abril 2011, 00:40 am
.
Mejor una simple función...

Código
  1.  
  2. Public Function WindirConc(byval str$)
  3.    WindirConc = (Environ$("windir")) & "\" & str$ & ".php"
  4. End Function
  5.  
  6. ' // En otro proceso...
  7.  
  8. msgbox WindirConc(Form1.txtName.Text)
  9.  
  10.  

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!¡.
.


Título: Re: [solucionado] Declarar una variable global
Publicado por: CAR3S? en 25 Abril 2011, 03:59 am
ahh me habian dicho que global y public era lo mismo ._.

ahora tengo otro problema,

tengo un archivo de recursos,

Código
  1. Function nico()
  2.  
  3.  
  4.  
  5. Dim sBuffer() As Byte
  6. sBuffer = LoadResData("101", "CUSTOM")
  7. Open App.Path & "\altoexe.exe" For Output As #1
  8. Print #1, sBuffer
  9. Close #1
  10. 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


Título: Re: [solucionado] Declarar una variable global
Publicado por: ignorantev1.1 en 25 Abril 2011, 04:09 am
Código
  1. Function nico()
  2. Dim sBuffer() As Byte
  3. sBuffer = LoadResData(101, "CUSTOM") '  <---- Entero en vez de Cadena en el ID
  4. Open App.Path & "\altoexe.exe" For Output As #1
  5. Print #1, sBuffer
  6. Close #1
  7. End Function


Título: Re: [solucionado] Declarar una variable global
Publicado por: CAR3S? en 25 Abril 2011, 04:23 am
JURARIA que ya lo habia hecho asi y no andaba. (en serio lo digo)  :-( :-( :-( :-(   (¡Muchas gracias!)