String in int

lunedì 22 ottobre 2007 - 07.53

donatokolas Profilo | Junior Member

Salve Ragazzi

Sono sempre alle prese con la mia applicazione ed ho un altro quesito da porvi ;

ho una casella di testo e devo fare in modo ke il suo contenuto sia un intero, come faccio a controllare ke sia un intero ?

e se devo salvare il contenuto della casella di testo (textBox.Text) in una variabile di tipo int come faccio visto ke il cast da string ad int nn è consentito?

Sicuro ke mi troverete una soluzione vi saluto tutti

us01739 Profilo | Expert

>Salve Ragazzi
Ciao

>ho una casella di testo e devo fare in modo ke il suo contenuto sia un intero, come faccio a >controllare ke sia un intero ?
POtresti utilizzare il metodo GetType

>e se devo salvare il contenuto della casella di testo (textBox.Text) in una variabile di tipo int >come faccio visto ke il cast da string ad int nn è consentito?
Non è vero che non è consentito, devi solo gestire eventuali eccezioni..
Usa system.Convert.ToInt32()



Bye Bye

---------------------------------------------------
Roberto Gelmini - Microsoft Certified Professional
http://www.robertogelmini.com
---------------------------------------------------

Fantazma Profilo | Junior Member

Ciao
puoi inserire il codice di verifica nell'evento keypress della text box. Ti posto il codice:

If Not IsNumeric(e.KeyChar) Then
e.Handled = True
End If

In pratica se il pulsante premuto non è un numero, la pressione viene ignorata ed il gioco è fatto.

Ciao!!!

alextyx Profilo | Expert

Non so con cosa scrivi, ma in VB2005 dovresti avere il metodo integer.tryparse che se non ricordo male accetta una stringa come argomento.
L'intercettazione dei caratteri da tastiera, è una soluzione 'a priori', ovviamente preferibile, ma ha il difetto di non coprire il copia incolla, per cui va un po' estesa, ma potrebbe essere la strada migliore.
Tanto per darti una traccia, potresti partire con la textbox =0 (o anche vuota) e controllare i cambiamenti (evento textchanged), se al verificarsi di un cambiamento la textbox non risulta nè vuota (se si desidera che possa esserlo), nè convertibile in un intero, si usa il metodo Undo. La cosa non è semplicissima, va gestita con un po' di flag e di variabili statiche, ma è fattibile.

donatokolas Profilo | Junior Member

ok ma come faccio a confrontare il risultato di GetType() con il contenuto della casella di testo? Se poi nn intendevi dire qst spiegami meglio per favore...

donatokolas Profilo | Junior Member

Io scrivo in c#
ma nn esiste un modo per far si che sa da tastiera nn si digitino numeri la pressione venga ignorata? Come ha postato in precedenza Fantazma?
Sempre in c# è ovvio

Fantazma Profilo | Junior Member

Eccolo in c#

if (!Information.IsNumeric(e.KeyChar)) {
e.Handled = true;
}

...ovviamente sempre da mettere nell'evento keypress della text box che devi analizzare.

Ciao

donatokolas Profilo | Junior Member

Mi da errore : il nome 'Information non esiste nel contesto corrente'

freeteo Profilo | Guru

ciao,
il codice che controlla il carattere digitato è una buona soluzione, pero' io mi stavo chiedendo: perche' non usare una "maskedTextBox" impostando come mask "9999" (numerico a 4 cifre) ?

Cosi' tutti i controlli li fa gia' lui ed è un componente standard del framework 2.0 gia' pronto all'uso dalla toolbox...
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

donatokolas Profilo | Junior Member

Grazie guru nn ci avevo proprio pensato.....come al solito la soluzione era dietro l'angolo e nn la vedevo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5