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

enviar formulario como argumento

Estas en el tema de enviar formulario como argumento en el foro de Visual Basic clásico en Foros del Web. Saludos a todos tengo una gran duda tengo 4 formularios(vendedor1, vendedor2, comprador1,comprador2) que tienen exactamente los mismos campos solo con la diferencia de una letra ...
  #1 (permalink)  
Antiguo 26/10/2005, 16:16
 
Fecha de Ingreso: septiembre-2005
Mensajes: 99
Antigüedad: 18 años, 7 meses
Puntos: 0
Pregunta enviar formulario como argumento

Saludos a todos tengo una gran duda
tengo 4 formularios(vendedor1, vendedor2, comprador1,comprador2)
que tienen exactamente los mismos campos solo con la diferencia de una letra en el nombre de cada uno de estos. por ejmplo
campo nombre

txtnombreV1
txtnombreV2
txtnombreC1
txtnombreC2

son aproximadamente 15 campos y para pasar de un form al siguiente tengo un procedimiento que valida los campos pero tyengo 4 procedimientos exactamente iguales en los que solo cambian los nombres de los campos

mi pregunta es

Existe alguna forma de poder hacer un solo procedimiento golbal que me sirva para los 4 forms, nose tal vez enviando el form o los campos como argumento byRef o algo similar

para de esta forma pasar de administrar 4 procedimientos a solo 1

Muchas Gracias y disculpen si la pregunta es muy sosa pero apenas estoy empezando........

Saludos
  #2 (permalink)  
Antiguo 26/10/2005, 16:34
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
deberías mejor hacer un array de textbox para que te quede algo asi..

text1(0).text
text1(1).text
text1(2).text

y lo podes manejar con un for

for a = 1 to 15
text(a).text = ValorGeneral
next a


nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #3 (permalink)  
Antiguo 26/10/2005, 18:31
 
Fecha de Ingreso: septiembre-2005
Mensajes: 99
Antigüedad: 18 años, 7 meses
Puntos: 0
Muchas gracias por tu respuesta pero par lo que nesecito no me funciona
mas bien lo que ocupo saber es como pasar un objeto como arguemnto a una función(ya sea un form un textbox, combobox...)
y que la variable que recibe el objeto dentro de la función modifique el valor del mismo(creo que es con ByRef)

para que de esta forma los cambios que le realize a las variables afecten al objeto que fue enviado como argumento

Gracias.. y ayuda please....
  #4 (permalink)  
Antiguo 26/10/2005, 19:11
Avatar de jc_moty  
Fecha de Ingreso: septiembre-2005
Ubicación: Usulután, El Salvador
Mensajes: 477
Antigüedad: 18 años, 7 meses
Puntos: 1
La declaracion de el Procedimiento seria asi:

Sub miProcedimiento(Formulario As Form, Texto As TextBox, Combo as ComboBox, Etiqueta as Label)
' El Codigo aqui
' Ojo como parametro pasa el objeto que se pide ya sea form, text, combo o lo que necesites
' Y la manipulacion del objeto hacela con el nombre del parametro

End Sub
  #5 (permalink)  
Antiguo 26/10/2005, 19:40
 
Fecha de Ingreso: septiembre-2005
Mensajes: 99
Antigüedad: 18 años, 7 meses
Puntos: 0
Gracias por tu respuesta pero ya intenté eso y me da un error de todas las maneras que lo he intentado

lo probe como me dijiste y tambien agregandole el valor byref para que pueda modificar el control original así:

en un modulo

Public Sub prueba(texto As TextBox) ' o (Byref texto As TextBox)
texto.Text = "hola mundo"
End Sub

y en un formulario un textbox llamdo text1 y commandbutton
así:


Private Sub Command1_Click()
prueba (Text1)
End Sub


y en todas me da el mismo error:

"Error de compilación:
No coinciden los tipos"


Saludos y gracias por tu ayuda
  #6 (permalink)  
Antiguo 27/10/2005, 07:24
Avatar de jc_moty  
Fecha de Ingreso: septiembre-2005
Ubicación: Usulután, El Salvador
Mensajes: 477
Antigüedad: 18 años, 7 meses
Puntos: 1
Fijate que el error esta en la llamada a la funcion; en lugar de:
prueba(Text1)
proba asi:
prueba Text1

Ya lo comprobe y si funciona.
Saludos.
  #7 (permalink)  
Antiguo 27/10/2005, 08:24
 
Fecha de Ingreso: septiembre-2005
Mensajes: 99
Antigüedad: 18 años, 7 meses
Puntos: 0
SAludos

Muchas Gracias Jc_Moty eso era lo que estaba buscando muchas gracias
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 18:42.