Comunidad Gambas-es
Usercontrol / Options - Manejo de 8 opciones con un solo byte - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forum-3.html)
+--- Foro: Controles/Librerías/Componentes (https://gambas-es.org/forum-7.html)
+--- Tema: Usercontrol / Options - Manejo de 8 opciones con un solo byte (/thread-992.html)



Usercontrol / Options - Manejo de 8 opciones con un solo byte - tincho - 13-08-2022

Hola amigos.
Finalmente logre crear un control que usando un solo byte permite manejar 8 opciones.
Gracias a Cogier y Vuott que me ayudaron con la codificación del byte con la cadena de texto, pero también a Jerry, Oliver, Fabien de la lista internacional.
Dejo aquí el código por si a alguien le interesa y por supuesto cualquier mejora en la simplificación del código, mejora de eficiencia, etc. es bienvenida.
Espero que les resulte igual de divertido que lo que me resulto a mi.
Este control esta hecho con la intensión de usarlo para editar un campo de una base de datos donde cada Bit es un grupo de trabajo y un usuario puede pertenecer a mas de un grupo, luego solo se gurda un solo Byte en la table.
[Imagen: imuTVSt.gif]


RE: Usercontrol / Options - Manejo de 8 opciones con un solo byte - tincho - 13-08-2022

Shordi, olvide agradecerte, ya que no hubiese podido hacer el control sin tus fantásticos vídeos de controles, sobretodo el de Usercontrol.
Así, que muchas gracias.

Luego al usarlo encontré algunos errores, así que los corregí y subí la versión nueva.
Aquí esta en funcionamiento.
[Imagen: UVJBfVH.gif]


RE: Usercontrol / Options - Manejo de 8 opciones con un solo byte - Shordi - 14-08-2022

¡Gracias, es un placer saber que algo de lo que hago le ha valido a alguien! Como que le da sentido a todo este lío... Big Grin Big Grin Big Grin


RE: Usercontrol / Options - Manejo de 8 opciones con un solo byte - vuott - 15-08-2022

...y este codigo ? Dodgy
Código:
Private tb As ToggleButton

Public Sub Form_Open()
  
  Dim b As Byte
  
  With Me
    .W = 300
    .H = 300
  End With
  For b = 0 To 7
    With tb = New ToggleButton(Me) As "TButton"
      .W = Me.W * 0.1
      .H = Me.H * 0.2
      .X = Me.X + (30 + (30 * b))
      .Y = 100
      .Text = CStr(2 ^ (7 - b))
    End With
  Next
  
End

Public Sub TButton_Click()

  Dim tgb As ToggleButton
  Dim binario As String

  For Each tgb In Me.Children
    binario &= Abs(tgb.Value)
  Next

  Me.Title = Val("&x" & binario)

End



RE: Usercontrol / Options - Manejo de 8 opciones con un solo byte - tincho - 15-08-2022

(15-08-2022, 16:54)vuott escribió: ...y este codigo ?

lo pruebo.
Si, también esta bien.
Una pregunta
¿Por que algunos ejemplos usan Val("&x" & ...) mientras que otros Val("%" & ...)? evidentemente el resultado es el mismo.


RE: Usercontrol / Options - Manejo de 8 opciones con un solo byte - gambix - 16-08-2022

Hexadecimal values start with &, &H or &h.

Binary values start with %, &X or &x.

Octal values start with &O or &o.

see it at -> gambaswiki.org/edit/lang/type/integer?ht=%26x

--
Fabien