Visual Basic - Ayuda con FOR EACH

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 145
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Ayuda con FOR EACH

Publicado por Sah1d Ra (191 intervenciones) el 28/04/2022 20:22:58
Hola a todos.

Me surge una duda, espero me ayuden a aclararla, en un Formulario tengo tres PictureBox

en el primer Picture1 dentro tiene un TextBox1 y un Command1
en el segundo Picture2 dentro tiene un TextBox2 y un Label1
en el tercer Picture3 dentro tiene un Command2 y un Label2

Y deseo hacer lo siguiente recorrer un PictureBox y si dentro encuentra un Textbox utilizando
la funcion TypeName="TextBox" entonces deseo asignarle un valor "a" y e realizado lo siguiente:

1
2
3
4
5
6
Public Function fAsigna(fPicture as PictureBox)
 Dim obJ as Object
 For Each obJ in fPicture 'Aqui me manda el error 438
  if TypeName(obJ)="TextBox" then obJ.Text = "a"
 Next
End Function

espero me puedan ayudar a aclarar, de antenamo muchas 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
sin imagen de perfil
Val: 145
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Ayuda con FOR EACH

Publicado por Sah1d Ra (191 intervenciones) el 18/05/2022 05:35:58
Hola a todos regularmente me doy una vuelta para ver que encuentro alguna respuesta a la pregunta/inquietud que hice y de momento nada.

Bueno les dejo algo para pensar un poco para quienes les gusta: Creo regulamente todos hemos utilizado la function Replace hasta que requerimos que haga algo especial, en mi caso:

Eliminar los dobles espacios
1
2
3
Dim Texto As String
Texto = "Hola                       Adios"
Texto = Replace(Texto, "  ", " ")
como pueden ver esa funcion no sirve.

a lo que hice una función
1
2
3
4
5
6
Public Function Elicar(eTexto As String, eBusca As String, eCambia As String) As String
 Do While InStr(eTexto, eBusca) > 0
  eTexto = Replace(eTexto, eBusca, eCambia)
 Loop
 Elicar = eTexto
End Function

y si hacemos la prueba de la siguiente manera en el Msgbox se mostrara el resultado
1
2
3
4
5
6
7
8
9
Private Sub Form_Load()
 Dim vTexto As String
 Dim fTexto As String
 vTexto = "Hola                       Adios"
 fTexto = vTexto
 vTexto = Replace(vTexto, "  ", " ")
 fTexto = Elicar(fTexto, "  ", " ")
 MsgBox vTexto + vbCrLf + fTexto
End Sub

La duda surgió cuando intente separar comas o puntos en cadenas, para utilizar el StrConv y hacer mayusculas todos los caracteres despues del punto.
1
2
fTexto = "Hola.Mundo"
fTexto = Elicar(fTexto, ".", ". ")

Si realizan la prueba con el siguiente código vayan dándole paso a paso y vean que sucede, uds que harían para resolverlo, por la atención e interés gracias, felices líneas de programa10n.
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