Comunidad Gambas-es

Versión completa: Usercontrol / Options - Manejo de 8 opciones con un solo byte
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
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]
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]
¡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
...y este codigo ? Dodgy
GAMBAS
  1.  
  2. Public Sub Form_Open()
  3.   
  4.   Dim b As Byte
  5.   
  6.   With Me
  7.     .W = 300
  8.     .H = 300
  9.   For b = 0 To 7
  10.     With tb = New ToggleButton(Me) As "TButton"
  11.       .W = Me.W * 0.1
  12.       .H = Me.H * 0.2
  13.       .X = Me.X + (30 + (30 * b))
  14.       .Y = 100
  15.       .Text = CStr(2 ^ (7 - b))
  16.     End With
  17.   Next
  18.   
  19.  
  20. Public Sub TButton_Click()
  21.  
  22.   Dim binario As String
  23.  
  24.   For Each tgb In Me.Children
  25.     binario &= Abs(tgb.Value)
  26.   Next
  27.  
  28.   Me.Title = Val("&x" & binario)
  29.  


(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.
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