atakito   09-05-2025, 17:18
#1
Buenas

no se si quiero recortar demasiado el código pero.. , intento controlar el Activado/Desactivado de los textbox con un for
La T es para asignar la letra para el componente TextBox

Código:
Public header As String[] = ["id", "proyecto", "area", "entidad", "fechaentrada"]  ' los campos de la db
Dim idx As Integer
Dim letra As String
 
For idx = 0 To header.Max
   Print "T" & header[idx] ' imprime  Tid , Tproyecto...

  "T" & header[idx].Enabled = status ' invalid assing

   letra = "T" & header[idx]
   letra.Enabled = status  '  Unknown symbol in class boxedstring
 
   Tproyecto.Enabled = status  '  OK

Next


saludos y gracias...
Shordi   10-05-2025, 08:08
#2
Creo que confundes un cadena de texto con un textbox El primero es una clase nativa de gambas String. El segundo es un control del componente gb.form
Un string, como es cada uno de los items de header, no tiene la propiedad enabled o disabled por eso lo del unknown simbol y lo del invalid assign.

Si explicas un poco qué es lo que intentas hacer quizá podamos ayudarte con el cómo deberías hacerlo.

Saludos

No podemos regresar
atakito   13-05-2025, 19:20
#3
Buenas tardes
con el for quería poder modificar los enabled, readonly y el text, de todos los campos, he modificado el header
Public header As String[] = ["Tproyecto", "Carea", "Vfechaentrada"]

Tproyecto.Enabled = True o False
CArea.Enabled = True o False
Vfechaentrada.Enabled = True o False

la primera letra es para identificar el tipo
T campo texto (proyecto)
C combo (area)
V campo valor (fecha)

supongo que es lo que decís, sigue siendo un string

gracias.
guizans   14-05-2025, 09:38
#4
Hola.

Sigo sin saber muy bien lo que quieres, pero estás confundiendo un String, con una propiedad de un TextBox, no son lo mismo, a pesar de que la propiedad de un TextBox se le asigne un String para identificarla. 
 Una forma de recorrer todos los TextBox de una ventana (en caso de tener muchos) y cambiar las propiedades, lo explica muy bien en esta entrada del blog de Jsban:

https://cursogambas.blogspot.com/2012/09...ga-un.html

También puedes crear los TextBox por código, con lo cual podrías tener un Array de TextBox y recorrerlos con un bucle For Each, que es otra opción.

https://cursogambas.blogspot.com/2014/04...odigo.html

Échale un vistazo a esos enlaces y a partir de ahí miras cual el que mejor se adapta a tus necesidades.

Un saludo.
atakito   14-05-2025, 18:58
#5
Buenas tardes y gracias a los dos
de aquí....
https://cursogambas.blogspot.com/2012/09...ga-un.html
así queda la función... ( de momento ) :-)

Saludos !!!

Private Sub EnableFields(Status As Boolean)
Dim objTemp As Object
For Each objTemp In Me.Controls
Select object.Type(objTemp)
Case "ComboBox"
objTemp.Enabled = Status
Case "TextBox"
objTemp.Enabled = Status
Case "ValueBox"
objTemp.Enabled = Status
If objTemp.Name = "VDataEntrada" Then
objTemp.Text = Date()
Endif
End Select
Next
End
guizans   Hace 4 horas
#6
Me alegro de que hayas podido resolver la duda.

Un saludo.
  
Usuarios navegando en este tema: 1 invitado(s)
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.