Oppure

Loading
24/05/09 13:31
bios1993
Sto creando un programma di geometria e mi sono bloccato al primo intoppo
ho provato vari modi per risolvere però non sono riuscito a risolvere ho anche dichiarato
Public Sub Triangolo_eq()
        Dim b As Object = Form2.TextBox3.Text
        Dim ht As Object = Form2.TextBox4.Text
        Dim At As Object = Form2.TextBox5.Text
        If ht < 0 & b < 0 & At = "?" Then
            RichTextBox1.Text = "At = b·h/2 =" & (b * ht) / 2
        End If
End sub

da come si capisce da codice le textbox non si trovano nello stesso form del codice
poi dopo ho anche sostituito gli object con i Double ma non va
qualcuno sa come risolvere

PS: a me serve che nelle textbox possono avere entrambi i valori sia numeri che lettere
se è possibile
Ultima modifica effettuata da bios1993 24/05/09 13:52
aaa
24/05/09 14:56
lorenzo
scusa ma perché usi un object?
la proprietà text resituisce uno String quindi devi metterlo in uno string


poi quando avrai tutto in 3 string farai i controlli del caso trasformando i numeri in double
aaa
24/05/09 15:11
bios1993
:hail: non me n'ero accorto, che figura:rofl:
grazie
aaa
25/05/09 17:14
Puoi anche dichiarare una variabile in questo modo
Dim NOMEVARIABILE

senza specificare il contenuto. "Pesa di più" nel programma, ma ,a volte, è molto utile.
Quando la assegni il programma non sà che tipo di dato è, ma dopo lo "capisce".
Ciao :k:


EDIT: ma perchè usi la richtextbox per un dato che non hai bisogno cambiare font o colore???:-|
Ultima modifica effettuata da 25/05/09 17:15
25/05/09 17:16
Il Totem
Postato originariamente da cassin.simone:
Quando la assegni il programma non sà che tipo di dato è, ma dopo lo "capisce".
Ciao :k:

Questo vale solo nella versione 2008. Dalla 2005 in giù, si tratta solo di conversioni implicite.
aaa
25/05/09 17:18
Totem, mi dispiace dirtelo, ma io ho la 2005 e ho usato un paio di volte questa bellissima funzione.
25/05/09 17:27
Il Totem
Fidati di me. Non ho detto che non si può fare, ho solo rettificato che dalla 2005 in giù si tratta di conversioni implicite. Infatti, scrivere:
Dim Var

equivale a scrivere
Dim Var As Object

Quindi eseguendo un'assegnazione viene sempre perpetrata una conversione da object al tipo desiderato (processo di unboxing), che, come hai detto tu, influisce sulla pesantezza del risultato.
In vb2008 e nelle versioni successive, invece, il tipo viene inferito, quindi dedotto, dal dato che viene assegnato alla variabile: l'inferenza è un processo differente dalla conversione. Infatti, scrivere:
Dim Var = 1

equivale a scrivere:
Dim Var As Integer = 1

Nota che c'è un passaggio in meno (la variabile non è di tipo object, ma direttamente Integer).
aaa
25/05/09 17:39
Postato originariamente da Il Totem:

Fidati di me. Non ho detto che non si può fare, ho solo rettificato che dalla 2005 in giù si tratta di conversioni implicite. Infatti, scrivere:
Dim Var

equivale a scrivere
Dim Var As Object

Quindi eseguendo un'assegnazione viene sempre perpetrata una conversione da object al tipo desiderato (processo di unboxing), che, come hai detto tu, influisce sulla pesantezza del risultato.
In vb2008 e nelle versioni successive, invece, il tipo viene inferito, quindi dedotto, dal dato che viene assegnato alla variabile: l'inferenza è un processo differente dalla conversione. Infatti, scrivere:
Dim Var = 1

equivale a scrivere:
Dim Var As Integer = 1

Nota che c'è un passaggio in meno (la variabile non è di tipo object, ma direttamente Integer).


Esattamente quello che stavo dicendo io...c'è stata un incongruenza...:asd: