En el trabajo a veces tengo que llevar el control de los productos de limpieza. No es que sea algo complicado, pero
si te falta uno, corre al super y el más cercano te clavará a la primera de cambio.
Con motivo de recordar y hacer algo sencillo. La idea es crear una especie de componente o algo parecido a eso, personalizado,
donde se muestra el nombre del producto o su imagen, su número, poder añadir y eliminar existencias.
La primera vez cree dos formularios. Acabé insertando el formulario con el control personalizado en cada parte de un control
donde se va mostrando el inventario.
Fijaros:
Si vemos el otro ejemplo, el resultado visualmente puede parecer lo mismo.
Este es con el formulario.
Decir que tan solo es un comienzo, ya que no dispongo de mucho tiempo.
Y al final decidí hacerlo con una clase.
Fmain:
La Clase:
Inherits HBox
Private hnombreproducto As String
Property nombreproducto As String
Private lbnomproducto As Label
Private lcdcontador As LCDLabel
Private grupobotones As New Button[]
Public Sub _new(Optional nombre As String)
Dim unboton As Button
'Dimensiona el contenedor principal
With Me
.Background = Color.Cyan
.Height = 35
.Spacing = True
.W = 427
End With
'Crea la etiqueta
lbnomproducto = New Label(Me)
With lbnomproducto
.Alignment = Align.Center
.Background = Color.White
.Border = Border.Plain
'.Expand = True
.H = 28
.W = 168
End With
'Asignar nombre del producto o nombre por defecto
If Len(nombre) = 0 Then
hnombreproducto = "Producto por defecto"
Else
hnombreproducto = nombre
End If
lbnomproducto.Text = hnombreproducto
'Crea la etiqueta lcd
lcdcontador = New LCDLabel(Me)
With lcdcontador
.Alignment = Align.Center
.H = 28
.w = 77
.Text = "0"
End With
'Crea el botón de sumar
unboton = New Button(Me) As "Botones"
With unboton
.Tag = "sumar"
.H = 30
.W = 70
.Picture = Picture["icon:/medium/add"]
End With
grupobotones.Add(unboton)
'Crea el botón de restar
unboton = New Button(Me) As "Botones"
With unboton
.Tag = "restar"
.H = 30
.W = 70
.Picture = Picture["icon:/medium/remove"]
End With
grupobotones.Add(unboton)
End
Public Sub Botones_Click()
Select Case Last.tag
Case "sumar"
lcdcontador.Text = CInt(lcdcontador.Text) + 1
Case "restar"
If CInt(lcdcontador.Text) > 0 Then
lcdcontador.Text = CInt(lcdcontador.Text) - 1
Else
lcdcontador.Text = "0"
Endif
End Select
End
Private Function nombreproducto_Read() As String
Return hnombreproducto
End
Private Sub nombreproducto_Write(Value As String)
hnombreproducto = Value
End
Private hnombreproducto As String
Property nombreproducto As String
Private lbnomproducto As Label
Private lcdcontador As LCDLabel
Private grupobotones As New Button[]
Public Sub _new(Optional nombre As String)
Dim unboton As Button
'Dimensiona el contenedor principal
With Me
.Background = Color.Cyan
.Height = 35
.Spacing = True
.W = 427
End With
'Crea la etiqueta
lbnomproducto = New Label(Me)
With lbnomproducto
.Alignment = Align.Center
.Background = Color.White
.Border = Border.Plain
'.Expand = True
.H = 28
.W = 168
End With
'Asignar nombre del producto o nombre por defecto
If Len(nombre) = 0 Then
hnombreproducto = "Producto por defecto"
Else
hnombreproducto = nombre
End If
lbnomproducto.Text = hnombreproducto
'Crea la etiqueta lcd
lcdcontador = New LCDLabel(Me)
With lcdcontador
.Alignment = Align.Center
.H = 28
.w = 77
.Text = "0"
End With
'Crea el botón de sumar
unboton = New Button(Me) As "Botones"
With unboton
.Tag = "sumar"
.H = 30
.W = 70
.Picture = Picture["icon:/medium/add"]
End With
grupobotones.Add(unboton)
'Crea el botón de restar
unboton = New Button(Me) As "Botones"
With unboton
.Tag = "restar"
.H = 30
.W = 70
.Picture = Picture["icon:/medium/remove"]
End With
grupobotones.Add(unboton)
End
Public Sub Botones_Click()
Select Case Last.tag
Case "sumar"
lcdcontador.Text = CInt(lcdcontador.Text) + 1
Case "restar"
If CInt(lcdcontador.Text) > 0 Then
lcdcontador.Text = CInt(lcdcontador.Text) - 1
Else
lcdcontador.Text = "0"
Endif
End Select
End
Private Function nombreproducto_Read() As String
Return hnombreproducto
End
Private Sub nombreproducto_Write(Value As String)
hnombreproducto = Value
End
Y esta fue la salida:
Fue lo primero que se me ocurrió para comenzar.
Aquí os subo el código. Le faltan muchas cosas, pero es el comienzo.
Saludos de Mr Shell. ( Es que no puedo poner el calvo de la limpieza).
ControlParaInventarioClases.tar.gz | ||
Descripción: | Descargar |
|
Nombre del archivo: | ControlParaInventarioClases.tar.gz | |
Tamaño: | 13.82 KB | |
Descargado: | 51 veces |
ControlParaInventarioClases.tar.gz | ||
Descripción: | Descargar |
|
Nombre del archivo: | ControlParaInventarioClases.tar.gz | |
Tamaño: | 13.82 KB | |
Descargado: | 51 veces |
ControlParaInventarioClases.tar.gz | ||
Descripción: | Descargar |
|
Nombre del archivo: | ControlParaInventarioClases.tar.gz | |
Tamaño: | 13.82 KB | |
Descargado: | 51 veces |