Mostrando las entradas con la etiqueta Stop Event. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Stop Event. Mostrar todas las entradas

martes, 7 de abril de 2020

BoxInteger (clase)


Esta clase hereda de textbox, todo, valga la redundancia, pero le añadiremos un comportamiento particular en su evento KeyPress(). Este evento se lanza o se produce cuando presionamos una tecla. Por medio de un observador capturaremos este evento, haremos un filtro que si la tecla presionada no es un número del 0 a 9 retornemos previamente parando el evento mediante Stop Event haciendo que no se escriba el carácter elegido por el usuario mediante el teclado. Para escribir un número tendrá que presionar nuevamente otra tecla para lanzar el evento nuevamente y ahí actuará nuestro filtro. Otras teclas que permitiremos para que el usuario pueda editar serán suprimir, retornar, inicio, fin y alguna mas.

' gambas class file

'by postapase 07 abr 2020
Export

Inherits TextBox

Public Const Properties As String = "*"
Public Const _IsControl As Boolean = True
Public Const _DefaultSize As String = "14,4"
Public Const _Group As String = "Form"

Public obs As Observer

Property Read Valor As Integer

Public Sub _new()
'aquí esta el observador con el cual podremos manipular los eventos del textbox mediante la palabra "boxinteger" (aquí podemos poner un nombre a elección"
Obs = New Observer(Me) As "BoxInteger"

End




Public Sub BoxInteger_KeyPress()

Select Case Key.Code
Case Key.Del
Return
Case Key.Return
Return
Case Key.Home
Return
Case Key.End
Return
Case 16777234
Return
Case 16777236
Return
Case 16777219
Return
Case 48 To 57 'estos son los códigos ascii del número 0 al 9
Return
Default
End Select

Stop Event
Return

End

Private Function Valor_Read() As Integer

If Me.Text = "" Then Return 0

Return CInt(Me.Text)

End


Código:
https://gambas.one/gambasfarm/?id=776&action=search

jueves, 4 de septiembre de 2014

Continue

Aquí un ejemplo de como usar Continue y su modo de aplicarlo.


' gambas class file

'by postapase (novato en programación)

Public Sub btnBuscar_Click()
Dim x, contador, encontrados As Integer '

For x = 1 To txtNumero.Text
If Right$(CString(x)) <> 5 Then Continue 'Right$ nos devuelve el primer caracter empezando de la derecha, y si es diferente a cinco
' no ejecuta las lineas después de este comentario va derecho al Next y del Next a la primera linea dentro del For ,
' en este caso( If Right$(CString(x)) <> 5 Then Continue ), y si es igual se ejecutan las lines siguientes a continue
' aqui el sentido de usar continue
Inc encontrados
Wait 0.05
TextArea1.Text &= " (" & encontrados & ") números terminados en 5: " & x & gb.NewLine
Next

End

Public Sub txtNumero_KeyPress()
Select Case Key.Code ' examina que tecla fue presionada
Case 48 To 57 'si se preciona alguna tecla del 0 al nueve no hace nada
Case Else ' en cambio si se preciona cualquier tecla que no sea las incluidas en el Case anterior detiene el evento
'lo que logramos con esto es que el usuario no pueda teclear letras o cualquier caracter que no sea un número
Stop Event
End Select
End

Public Sub Form_Open()
Me.Center
End
Código fuente: Continue-0.0.1.tar.gz