Italian riconoscere numeri da lettere

fifiddu70

Well-Known Member
Licensed User
Longtime User
Ciao a tutti, ho una applicazione con due pulsanti e una edittext nella edittext premendo un pulsante per i numeri si dovrebbero aggiungere solo dei numeri se clicco sul pulsante dei caratteri questi dovrebbe aggiungere solo caratteri e non numeri,
ho pensato ad un if, vorrei che alla pressione del pulsante dedicato all'aggiunta dei numeri in uno spinner, se nella editext non contiene numeri allora mi dovrebbe apparire una msgbox altrimenti aggiunge i numeri sullo spinner.
 

Dominex

Active Member
Licensed User
Longtime User
Quando inserisci un nuovo carattere nella edittext controlla che il suo valore ASCII sia compreso tra 48 e 57 che sono l'equivalente dei caratteri 0-9.

Se si, lo lasci, altrimenti lo togli. Fai il tutto utilizzando le funzioni prelevano il testo in un punto da definire (e quantità) all'interno di una stringa.

In questo modo puoi fare una edittext che accetti solo numeri.
 

AlpVir

Well-Known Member
Licensed User
Longtime User
Tra proprietà del view EditText c'è anche lnputType che può valere
NONE
NUMBERS
DECIMAL_NUMBERS
TEXT
PHONE
Puoi usare il Designer oppure una sola riga di codice. Ad esempio, per una EditText che accetta praticamente tutto :
B4X:
NomeEditText.InputType = Dial.INPUT_TYPE_TEXT
 

Dominex

Active Member
Licensed User
Longtime User
Tra proprietà del view EditText c'è anche lnputType che può valere
NONE
NUMBERS
DECIMAL_NUMBERS
TEXT
PHONE
Puoi usare il Designer oppure una sola riga di codice. Ad esempio, per una EditText che accetta praticamente tutto :
B4X:
NomeEditText.InputType = Dial.INPUT_TYPE_TEXT

Si capisce vero che non avevo ancora usato un EditText? :D
 

fifiddu70

Well-Known Member
Licensed User
Longtime User
faccio presente che la editext è condivisa dai due pulsanti, uno per confermare solo numeri, un'altro solo lettere.
la funzione input type non credo che funzioni.
 

AlpVir

Well-Known Member
Licensed User
Longtime User
Funziona, funziona ...

B4X:
Sub Process_Globals
End Sub

Sub Globals
    Dim EditText1 As EditText
End Sub

Sub Activity_Create(FirstTime As Boolean)
   Activity.LoadLayout ("NumeriAndTesto")
End Sub

Sub Activity_Resume
End Sub

Sub Activity_Pause (UserClosed As Boolean)
End Sub


Sub BotTesto_Click
   EditText1.text =""
   EditText1.InputType = EditText1.INPUT_TYPE_TEXT 
End Sub

Sub BotNumeri_Click
   EditText1.text =""
   EditText1.InputType = EditText1.INPUT_TYPE_NUmbers
End Sub
 
Top