PDA

Visualizza la versione completa : [VB] TextBox (banalissimmoooooo!!)


monicafiore
17-11-2002, 17:54
Nn riesco a a prendere 2 valori da 2 text in un form.exe di vb!!!
le ho provate tutte anke text1.value ma mi da errore....
come faccio???:dh:

Johnny_Depp
17-11-2002, 18:01
dim variabile1 as variant
variabile1 = text1.text

'ora variabile1 contiene il valore della casella di testo text1

monicafiore
17-11-2002, 18:06
ma ci ho provatooo!!
mi dice impossibile a trovare il metodo o il membro dei dati!!!
ti posto il copdice...ma veramente una stronzata!!!
Private Sub Command1_Click()
Dim a As variant
a = Text1.Text
'a = CInt(Text1) + CInt(Text2)
'MsgBox (a)
End Sub

michele79
17-11-2002, 19:32
Il codice che hai riportato funziona benissimo,ma nelle textbox ci metti dei valori numerici spero!

Giulio C.
17-11-2002, 19:51
Ciao.
L'amico Michele79 ha perfettamente ragione...
Perch non metti un controllo sui valori digitati nelle due text?
Attraverso la funzione "isnumeric", controlli che non siano stati digitati valori non numerici.

Mi spiego meglio con un esempio che mi viene in mente cos, di corsa:

Private Sub Command1_Click()
if not isnumeric(text1) or not isnumeric(text2) then
msgbox "Attenzione: digitato un valore non numerico!", vbcritical, "Messaggio di errore"
exit sub
end if
Dim a As variant
a = Text1.Text
'a = CInt(Text1) + CInt(Text2)
'MsgBox (a)
End Sub

Volendo si pu anche mandare, in caso di errore, il focus sulla text che contiene l'errore.

Fammi sapere se pu interessarti.

:ciauz:

Johnny_Depp
17-11-2002, 19:55
scusami...

ma sul form aggiungi 2 componenti TextBox prima di eseguire il prog???

vonkranz
17-11-2002, 22:00
Originariamente inviato da Johnny_Depp
scusami...

ma sul form aggiungi 2 componenti TextBox prima di eseguire il prog???
:quote:


...scherzi a parte...

sei sicura di aver messo 2 textbox e non 2 controlli label???

alpho
17-11-2002, 23:53
Ciao Monica

scusa ma c' una cosa che non capisco, perch dai alla variabile a due valori differenti? mi spiego.

Prima dichiare a=text1.text
dopo, alla stessa variabile passi il valore
a = CInt(Text1) + CInt(Text2)
sinceramente non capisco.

se vuoi solo fargli fare un'operazione, prima di tutto non dichiari la variabile come variant, perch uno spreco di memoria, visto che sai gi che all'interno delle text box non metterai stringhe ma solo numeri, al massimo la dichiari come long, per essere sicura che non ti dia errore di overflow
E in secondo luogo nel command button, puoi semplicemente mettere

dim lngA as long 'Perch pi leggibile nel codice

'Controlla che i valori immessi siano numeri
If Not IsNumeric(Text1) Or Not IsNumeric(Text2) Then

MsgBox "Attenzione: digitato un valore non numerico!", vbCritical, "Messaggio di errore"

'Cancella il contenuto delle caselle di testo
Text1.Text = ""
Text2.Text = ""
Exit Sub

End If

'Somma i valori presi dalla casella di testo
lngA=Text1.text + Text2.text

'Comunica il risultato
msgbox lngA



:ciauz:

monicafiore
18-11-2002, 20:55
X alpho: Nn farci caso... ke le ho provate tutte!! poi alla fine ho fatto un copia e incolla e sara rimasto qls in +!!!

Cmq ho messo la textbox e nn una label e...penso (x nn sax n leggere e ne scrivere!!!) ke devo settare qlc nelle proprieta del progetto xke mi da proprio errore su .TEXT e mi dice impossibile trovare il metodo!!! KE COSA XO???
Ke ne pensate???

sebamix
18-11-2002, 21:46
Ciao. Scusa tu stai dicendo che hai un form con due textBox ed un bottone. Sul click del bottone tenti di accedere al .Text delle 2 textbox e il VB reagisce dicendoti che .Text non un metodo o membro dei dati :confused:

Hai provato facendo semplicemente
MsgBox Text1.Text
?

L'intellisense ti funziona? Nel senso, se tu scrivi Text1. , lui ti fa apparire la lista delle propriet e dei metodi? Text in questa lista?

Text1 e Text2 esistono nello stesso form in cui presente il codice che ti da errore?

Oppure, quando ti da errore te lo da se lanci in compilazione completa o premendo semplicemente F5 e poi cliccando il pulsante? (a volte l'IDE di VB si intorta e ti segnala la posizione sbagliata degli errori).

:ciauz:

Loading