Un TextBox Con Una Propiedad Nueva Llamada Filtro!!


Objetivo: Un TextBox Con Una Propiedad Nueva Llamada Filtro!!
Buenas,

creo que esta propiedad le vendría mas que bien al textbox, trata de un filtro donde pones los caracteres que no queres que se escriban, parando el evento key.

' gambas class file

Export

Inherits UserControl

Public Const _property As String = "*,Filtro"
Public Const _Similar As String = "TextBox"
Public Const _DefaultSize As String = "100,40"

Property Filtro As String
Private $TextBox As TextBox

Private $Filtro As String


Public Sub _new()

$TextBox = New TextBox(Me) As "TextBox"

With Me
.X = 100
.y = 200
.H = 30
.W = 250
.Visible = True

End With

End


Public Sub TextBox_KeyPress()
Dim a As Integer
Print "key.code=" & Key.Code & ":" & Key.Text

For a = 1 To Len($Filtro)
Print "Mid($Filtro, a, 1)=" & Mid($Filtro, a, 1)
Print "key.text=" & Key.Text
If Key.Text = Mid($Filtro, a, 1) Then
Stop Event
Break
Endif
Next


End

Private Function Filtro_Read() As String
Return $Filtro
End

Private Sub Filtro_Write(Value As String)
$Filtro = Value
End




Public Mitexto As Numeros


Public Sub Form_Open()

Mitexto = New Numeros(Me)
Mitexto.Filtro = "456"

End


lastima que soy muy novato aun sino ya habría hecho muchos completos o mejoras de estos. ideas me sobran capacidad me faltaaaa

Objetivo: Re: Un TextBox Con Una Propiedad Nueva Llamada Filtro!!
' gambas class file

Export

Inherits UserControl

Public Const _property As String = "*,Filtro{String}"
Public Const _Similar As String = "TextBox"
Public Const _DefaultSize As String = "24,4"

Property Filtro As String '' Bloquea los caracteres asignados en la propiedad filtro, ejemplo MiTextBoxF.Fitro="123-*/tr"
Private $TextBox As TextBox

Private $Filtro As String


Public Sub _new()

$TextBox = New TextBox(Me) As "TextBox"

End


Public Sub TextBox_KeyPress()
Dim a As Integer

For a = 1 To Len($Filtro)
If Key.Text = Mid($Filtro, a, 1) Then
Stop Event
Break
Endif
Next


End

Private Function Filtro_Read() As String
Return $Filtro
End

Private Sub Filtro_Write(Value As String)
$Filtro = Value
End


ahí va mejorado un poco, lo que no esta saliendo es la propiedad filtro en la ida en propiedades... no se que esta mal....

Objetivo: Re: Un TextBox Con Una Propiedad Nueva Llamada Filtro!!
le voy agregar una propiedad "FiltroInvertido"

Objetivo: Re: Un TextBox Con Una Propiedad Nueva Llamada Filtro!!
tengo dos problemas con este código:

1-la nueva propiedad filtro no aparece en la ide en las propiedades de la clase(si aparece cuando escribo por código)
2-en la ide de abajo a la derecha donde están las clases no aparece el icono que le corresponde (sino otro que le asigna gambas) y que esta ubicado correctamente en la carpeta "control" y tienen el mismo nombre de la clase ( TextBoxF)

dejo el código.... en donde estoy fallando?

Objetivo: Re: Un TextBox Con Una Propiedad Nueva Llamada Filtro!!
Hola v3ctor.

Como estaba haciendo cosas con la creación de controles he visto mejor tu mensaje.
Te respondo esta:

Citar:

1-la nueva propiedad filtro no aparece en la ide en las propiedades de la clase(si aparece cuando escribo por código)


No es property , es properties

He cambiado el código a este: Te he ahorrado el bucle en el evento Keypress.

Export

Inherits UserControl

Public Const _Properties As String = "*,Filtro"
Public Const _Similar As String = "TextBox"
Public Const _DefaultSize As String = "24,4"

Property Filtro As String '' Bloquea los caracteres asignados en la propiedad filtro, ejemplo MiTextBoxF.Fitro="123-*/tr"
Private $Filtro As String

Private $TextBox As TextBox


Public Sub _new()

$TextBox = New TextBox(Me) As "TextBox"

End


Public Sub TextBox_KeyPress()

If InStr(Me.Filtro, Key.Text) > 0 Then Stop Event

End

Private Function Filtro_Read() As String
Return $Filtro
End

Private Sub Filtro_Write(Value As String)
$Filtro = Value
End


Yo le habría puesto otro nombre al manejador de eventos, distinto al nombre del control.
Nunca es tarde si la dicha es buena.

"No importa el tiempo que esperemos por algo, si eso nos brinda felicidad y regocijo."

Saludos

Objetivo: Re: Un TextBox Con Una Propiedad Nueva Llamada Filtro!!
Respecto al icono, tiene que llamarse igual que en la clase pero sin ninguna mayúscula, todo en minúsculas (textboxf.png)

Saludos

Perfil MP  
Objetivo: Re: Un TextBox Con Una Propiedad Nueva Llamada Filtro!!
excelente shell!!

si es un tema pendiente que tengo el crear controles, veo en ello mucho poder, ya sea de funcionamiento y mucho mas en las interfaces.

quisiera saber montones sobre creación de controles pero por ahora se muy poquito.

recuerdo cuando deseaba hacer una simple base de datos y no sabia y la impotencia y decepción que sentía y después aprendí.

supongo que con respecto a la creación de controles sera igual, cuestión de tiempo y practica.

me he dado cuenta de algo y esto presten atención porque se podría decir que es una regla para programador

no es bueno programar mucho en una o varias aplicaciones y no dejar un tiempo o cuota para hacer pequeñitos proyectos con el objetivo de aprender.

aunque esa regla se puede aplicar en el deporte y otras cosas

saludos

última edición por v3ctor el Martes, 15 Noviembre 2016, 13:37; editado 1 vez
Objetivo: Re: Un TextBox Con Una Propiedad Nueva Llamada Filtro!!
shordi escribió: [Ver mensaje]
Respecto al icono, tiene que llamarse igual que en la clase pero sin ninguna mayúscula, todo en minúsculas (textboxf.png)

Saludos


después de hacer eso que vos decís, para que aparezca la imagen o icono, hay que cerrar gambas y abrirlo nuevamente sino no se ve el icono en la ide.

un pequeño inconveniente que se solucionara mas adelante supongo.

saludos.


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
No 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.1084s (PHP: 26% SQL: 74%)
Consultas SQL: 20 - Debug off - GZIP Activado