Enriqueciendo La Clase ValueBox


Objetivo: Enriqueciendo La Clase ValueBox
buenas,

no creen que la clase valueBox debería tener una propiedad o propiedades limitadora
que coincida con el formato sql?

por ejemplo cuando creamos un campo float pones

"costo" float(8,2)


el valuebox debería tener su propiedad o sus propiedades para limitar los enteros y decimales.

porque comento esto muy simple porque todo lo que sea repetitivo debe programarse, para que en vez de perder tiempo en tareas repetitivas ocupemos el tiempo en hacer funcionar nuestros programas.

esto es una sugerencia para el que programa la clase valuebox.

Objetivo: Re: Enriqueciendo La Clase ValueBox
Hola

Cierto, sería muy útil esa posibilidad. Sin embargo, creo que nosotros mismos podríamos crear un nuevo ValueBox heredando un control textbox que haga exactamente lo que queremos. Esa es una parte de la programación orientada a objetos muy bonita, porque permite reutilizar clases y dotarlas de nuevas características. Ahora no recuerdo si el valuebox de gambas es un control heredado, pero eso lo puedes ver fácilmente en el código fuente de gambas. En cualquier caso, si buscas por el foro o en el blog de jsbsan, encontrarás bastante información sobre la herencia y la forma de reutilizar controles con características añadidas al antojo del programador.

Saludos

Perfil MP  
Objetivo: Re: Enriqueciendo La Clase ValueBox
Algo que no hemos contado es con el control MaskBox.

Lo mismo eso si puede valer.

Supongamos esto:

Public Sub Form_Open()

MaskBox1.mask = "#.00"

End


Al ejecutar vemos esto:

emplo_maskbox

Lo que escribamos dentro de la caja de mascara respetara ese formato. En este caso un número con dos decimales
Probar e intentar escribir letras, veréis que ocurre...nada, no deja escribir textos, solo ese formato.

Con el formato también podéis limitar la cantidad de números enteros.

Saludos

última edición por Shell el Lunes, 21 Diciembre 2015, 20:24; editado 3 veces
Objetivo: Re: Enriqueciendo La Clase ValueBox
interesante shell, pero el tema es manejar las dos posibilidades en una misma caja, números enteros o decimales !!

en el caso del programa taller en el cual estoy trabajando ahora, en el se puede poner un costo de reparación que puede ser un entero en el caso de ser uruguayo

y decimales en caso de ser dolares u otro moneda que tenga centésimos.

Objetivo: Re: Enriqueciendo La Clase ValueBox
cree este modulo para poderlo usar con cualquier ValueBox

If FloatEntero.FormatoDecimal(vBoxCosto) = False Then Return




Public Sub FormatoDecimal(vBox As ValueBox) As Boolean
Dim partes As String[]

If Len(CStr(Int(vBox.Value))) > 6 Then
FMain.SError.Play
Message.Warning("La parte entera del número no puede ser mayor a 6 cifras!")
Return False
Else If InStr(vBox.Text, ",") <0> 2 Then
FMain.SError.Play
Message.Warning("La parte decimal del número no puede ser mayor a 2 cifras!")
Return False
Endif
Else
Return True
Endif

Return True

End


Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4495s (PHP: -81% SQL: 181%)
Consultas SQL: 46 - Debug off - GZIP Activado