Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

cuando se puede utilizar la misma variable?

Estas en el tema de cuando se puede utilizar la misma variable? en el foro de Visual Basic clásico en Foros del Web. hola! siempre q ando enviando y devolviendo variables entre procedimientos me surge la misma duda. Puedo llamar utilizar el mismo nombre de variable (la letra ...
  #1 (permalink)  
Antiguo 07/11/2008, 03:57
ebu
 
Fecha de Ingreso: noviembre-2008
Mensajes: 153
Antigüedad: 15 años, 6 meses
Puntos: 0
cuando se puede utilizar la misma variable?

hola!
siempre q ando enviando y devolviendo variables entre procedimientos me surge la misma duda.
Puedo llamar utilizar el mismo nombre de variable (la letra k) en el Sub Botón3_AlHacerClic() para llamar a la variable k q he usado en los otros dos sub-s???
y en caso de q la usara no la tendria q declarar tb en Sub Botón3_AlHacerClic()???

Sub Botón3_AlHacerClic()
proced1 (k)
proced2
End Sub

Public Sub proced1(k As Integer)
ActiveCell.Offset(k, 1).Select
'...
End sub

'en este proc creo una variable k y la mando al proced1.
Public Sub proced2
Dim k as integer
'...
k=k+1
End Sub

gracias por el tiempo q dedicais a resolver las dudas de los demas!!!
  #2 (permalink)  
Antiguo 07/11/2008, 06:10
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: cuando se puede utilizar la misma variable?

Cita:
Iniciado por ebu Ver Mensaje
hola!
siempre q ando enviando y devolviendo variables entre procedimientos me surge la misma duda.
Puedo llamar utilizar el mismo nombre de variable (la letra k) en el Sub Botón3_AlHacerClic() para llamar a la variable k q he usado en los otros dos sub-s???
y en caso de q la usara no la tendria q declarar tb en Sub Botón3_AlHacerClic()???

Sub Botón3_AlHacerClic()
proced1 (k)
proced2
End Sub

Public Sub proced1(k As Integer)
ActiveCell.Offset(k, 1).Select
'...
End sub

'en este proc creo una variable k y la mando al proced1.
Public Sub proced2
Dim k as integer
'...
k=k+1
End Sub

gracias por el tiempo q dedicais a resolver las dudas de los demas!!!
Hola!

Si la variable la pones al principio del módulo (antes que cualquier procedimiento), la puedes modificar en cualquiera de los procedimientos de ese módulo sin necesidad de declararla de nuevo

  #3 (permalink)  
Antiguo 07/11/2008, 06:44
ebu
 
Fecha de Ingreso: noviembre-2008
Mensajes: 153
Antigüedad: 15 años, 6 meses
Puntos: 0
Sonrisa Respuesta: cuando se puede utilizar la misma variable?

OK! duda resuelta!
gracias!
  #4 (permalink)  
Antiguo 10/11/2008, 10:06
ebu
 
Fecha de Ingreso: noviembre-2008
Mensajes: 153
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: cuando se puede utilizar la misma variable?

hola!
vaya lunes q tengo. acerca de este tema me ha surgido otra duda:
si tengo por ejemplo:

sub programm
dim a as object
dim b as long
prueba a , 1
end sub

sub prueba (c as object, d as long)
'c y d no estan declarados

me da error 91:variable de objeto o bloque with no establecido.
el error tiene q ver con las variables, como las declaro??
gracias!
  #5 (permalink)  
Antiguo 10/11/2008, 10:21
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: cuando se puede utilizar la misma variable?

Te dará error en la función si tratas de manejar el objeto (Object) c ya que no tienes ningún objeto asignado a esa variable (es Nothing).
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 11/11/2008, 01:43
ebu
 
Fecha de Ingreso: noviembre-2008
Mensajes: 153
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: cuando se puede utilizar la misma variable?

y como hago para q no me de el error?
sq aunq declare c me sigue dando el mismo error pero en otra fila.
help!!! gracias!
  #7 (permalink)  
Antiguo 14/11/2008, 05:06
ebu
 
Fecha de Ingreso: noviembre-2008
Mensajes: 153
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: cuando se puede utilizar la misma variable?

Cita:
Iniciado por Avellaneda Ver Mensaje
Hola!

Si la variable la pones al principio del módulo (antes que cualquier procedimiento), la puedes modificar en cualquiera de los procedimientos de ese módulo sin necesidad de declararla de nuevo

(jeje..parece q la duda no esta tan resuelta..)
pero tendria q llamar y enviar la variable para poder usarla en los demas procedimientos??

Option Explicit
Dim k As Integer

Sub Botón1_AlHacerClic()
k = 1
llamar 'llama al sub llamar
TraverseComponent swRootComp, 1 'llama al sub Traversecomponent
End Sub

Public Sub llamar()
' en este procedimiento k cambia de valor. la tendria q devolver verdad? para eso tendria q definir una function en vez de un sub pero entonces k se llamaria llamar y yo quiero mantener el nombre k. como lo hago??
End Sub

Sub TraverseComponent(swComp As SldWorks.Component2, nLevel As Long)
pieza swChildComp 'llama al sub pieza
'en este sub tambien el valor k cambia
End Sub

Public Sub pieza(swChildComp As object)
'en este sub el valor k tb cambia
En Sub

yo pensaba q definiendo k al principio del modulo la podria modificar en diferentes procedimientos y q su valor hiria modificandose segun se le llame, pero es asi??

mil gracias!
  #8 (permalink)  
Antiguo 14/11/2008, 05:10
 
Fecha de Ingreso: noviembre-2008
Mensajes: 38
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: cuando se puede utilizar la misma variable?

si pero la la definicion en el modulo se debe hacer asi:

Public k as integer
o
global k as integer

de esta forma definida le variable ca a tener el mismo valor en cualquier formulario o procedimiento que se llame, tambien se modifica en cualquier momento manteniendo el ultimo valor ingresado.
  #9 (permalink)  
Antiguo 14/11/2008, 05:41
ebu
 
Fecha de Ingreso: noviembre-2008
Mensajes: 153
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: cuando se puede utilizar la misma variable?

q es eso d:
Public k as integer
o
global k as integer
yo hasta ahora siempre he usado el dim para definir variables y nunca he tenido problemas!

gracias!
  #10 (permalink)  
Antiguo 14/11/2008, 05:52
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: cuando se puede utilizar la misma variable?

Sí, puedes continuar usando el Dim al principio del módulo (que es igual que declarar la variable como Private, o sea, tiene alcance solo en el módulo).

Pues sí, la variable k no pierde su valor, y va cambiando a medida que la cambies dentro de las funciones del módulo.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 14/11/2008, 06:46
ebu
 
Fecha de Ingreso: noviembre-2008
Mensajes: 153
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: cuando se puede utilizar la misma variable?

gracias x la aclaracion, david!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:03.