Visual Basic - NO COINCIDEN LOS TIPOS

Life is soft - evento anual de software empresarial
 
Vista:

NO COINCIDEN LOS TIPOS

Publicado por Karla (42 intervenciones) el 24/09/2003 01:20:04
HOLA
Tengo un procedimiento donde mando modificar el left de una label y como son 40 labels que tengo que modificar hice este procedimiento pero me marca error de que no coinciden los tipos,alguien me puede ayudar u otra cosa que se le ocurra que no genere tanto codigo pues son 40 labels, este es el codigo
Private Sub compacta(labe As Label)
labe.Left = vp
labe.Top = 360
vp = vp + 480
End Sub
Y EN CADA LABEL LO MANDO LLAMAR ASI
If incorrecto1.Visible = True Then compacta (incorrecto.left)
PERO ME MARCA ERROR DICE QU ENO COINCIDEN LOS TIPOS
DE QUE FORMA LE PUEDO EXPRESAR AL PARAMETRO QUE QUIERO QUE SOLO CAMBIE EL LEFT DE LAS ETIQUETAS?
GRACIAS!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Necesito que lo expliques mejor

Publicado por MxOndo (13 intervenciones) el 24/09/2003 12:48:07
No entiendo muy bien lo que pretentes con el procedimiento ese, y me ayudaria saber que es exactamente que es lo que tienes y que quieres hacer. Que es "vp" y por que le vas acumulado el valor 480.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Necesito que lo expliques mejor

Publicado por Karla (42 intervenciones) el 24/09/2003 16:28:17
Hola
Lo que pasa que tengo que alinear 40 labels el espacio entre ellas es de 480 por eso cada que este visible una lable debe serra alineada y por eso tiene que incrementar su left 480 para que no aparezcan amontonadas pero el top es el mismo para todas, y como son 40 quisiera reducir codigo y hacer un procedimiento que me haga esto lo malo que me marca error por eso pido una sugerencia porfavor
Espero haberme explicado
GRACIAS!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Necesito que lo expliques mejor

Publicado por kikecg (352 intervenciones) el 24/09/2003 16:39:00
Hola de nuevo. He visto que ya había otro post tuyo sobre este tema. Si solo quieres cambiar el left de la etiqueta, cambia solo el left. Es decir, si no vas a cambiar el Top, te sobra la linea Labe.Top = XXX. Aunque si el top ya era XXX, aunque se lo indiques de nuevo no va a cambiar, logicamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:NO COINCIDEN LOS TIPOS

Publicado por kikecg (352 intervenciones) el 24/09/2003 16:31:15
Hola.
El error de que no coinciden los tipos lo obtienes por que el procedimiento espera un label como parámetro, no la propiedad left de un label. Por tanto, no debería darte el error si llamas al procedimiento asi:
compacta (incorrecto)

Ahora, como bien te comenta MxOndo, no queda muy clara tu pregunta:
"DE QUE FORMA LE PUEDO EXPRESAR AL PARAMETRO QUE QUIERO QUE SOLO CAMBIE EL LEFT DE LAS ETIQUETAS? "
Al parametro no le tienes que expresar nada. Si lo que quieres es que el procedimiento haga una cosa en un caso y otra en otro, lo mejor es que definas un parametro mas de tipo boolean, por ejemplo:

Private Sub compacta(labe As Label, Caso as Boolean)
If Caso then
labe.Left = vp
labe.Top = 360
vp = vp + 480
else
'Lo que sea en caso contrario
End If
End Sub

y despues, en la llamada:

compacta (incorrecto, True) o bien compacta (incorrecto, False)

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:NO COINCIDEN LOS TIPOS

Publicado por Fabian (501 intervenciones) el 24/09/2003 19:57:22
Muy bien explicado eso es lo que tiene que hacer, le di la misma solucion en la otra nota pero creo tu lo hiciste primero. Asi es que el merito es tuyo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:NO COINCIDEN LOS TIPOS

Publicado por Karla (42 intervenciones) el 24/09/2003 23:20:48
Me sigue marcando error en compacta(incorrecto,true) dice que le falta un=
Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:MUCHAS GRACIAS A TODOS

Publicado por Karla (42 intervenciones) el 24/09/2003 22:36:04
Gracias por sus respuestas!!!!
No se mucho de vb, por eso no se que cosas pueda hacer con el, por eso mi insintecia en la pregunta.
Me quedo muy clara la explicación Muchas gracias por su tiempo y su amabilidad de responderme.
Que tengan un exelente día!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar