Dyango (Normal User)
Pro
Messaggi: 83
Iscritto: 02/01/2009
|
Ciao raga programmando ho riscontrato questi 2 problemi
1)ho dovuto mettere una varibile in piu che non uso per far funzionare il programma e mi chiedo perche vb vuole questa varibile? la varibile si chiama sc3 e di fianco alla dichiarazioni ho scritto un commento per notarla
2)nel secondo form dopo aver acquisito dati dal primo form calcola varie cose correttamente pero TomImpo me lo calcola senza i numeri che ci sono dopo la virgola visualizzando solo il numero intero ovviamente vorre ivisualizzare l essatto calcolo nn arrontondato
qui di seguito allego il source perche è molto lungo:
http://www.mediafire.com/download.php?yjgzzyqotyn
Grazie a tutti quelli che mi vorrano aiutare
se ce qualcosa di nn chairo chiedete pure
Ultima modifica effettuata da Dyango il 14/04/2009 alle 23:02 |
|
tippolo (Normal User)
Pro
Messaggi: 157
Iscritto: 21/09/2008
|
Postato originariamente da Dyango:
Ciao raga programmando ho riscontrato questi 2 problemi
1)ho dovuto mettere una varibile in piu che non uso per far funzionare il programma e mi chiedo perche vb vuole questa varibile? la varibile si chiama sc3 e di fianco alla dichiarazioni ho scritto un commento per notarla
|
Proprio inutile non lo è.
Infatti dichiarndo in questo modo:
Codice sorgente - presumibilmente Visual Basic 6 |
Dim sc1, sc2, sc3 As Byte
|
tu hai dichiarato sc1 ed sc2 di tipo Variant e solamente sc3 di tipo byte
togliendo sc3
Codice sorgente - presumibilmente Visual Basic 6 |
dichiari sc1 di tipo Variant ed sc2 di tipo byte. Praticamente aggiungendo come hai fatto tu la variante sc3 hai praticamente annullato il tipo di dichiarazione di tipo byte che gli avevi assegnato.
Veniamo all'errore. Per quanto su esposto sarà che sc1 ed sc2 non devono essere di tipo Byte? |
|
Dyango (Normal User)
Pro
Messaggi: 83
Iscritto: 02/01/2009
|
guarda te ti sbagli come ho dichiarato io e giusto tutte e tre sono variabili di tipo bytee nn le prime 2 variant e solo la terza byte.
sono andato a vedere sul MSDN e infatti mi ha dato ragione riporto qui di seguito cio che dice:
È possibile dichiarare diverse variabili in un'istruzione senza necessità di ripetere il tipo di dati. Nelle istruzioni che seguono le variabili i, j e k vengono dichiarate come tipo Integer, l e m come Long, x e y come Single:
Dim i, j, k As Integer
' All three variables in the preceding statement are declared as Integer.
Dim l, m As Long, x, y As Single
' In the preceding statement, l and m are Long, x and y are Single.
http://msdn.microsoft.com/it-it/library/ke6sh835.aspx
Quindi il problema risiede altrove
|
|
tippolo (Normal User)
Pro
Messaggi: 157
Iscritto: 21/09/2008
|
Chissà... a volte MSDN potrebbe portare fuori strada?
prova un pò questi 2 codici, a te sembreranno uguali ma....
Codice sorgente - presumibilmente VB.NET |
Private Sub Form_Load() Dim A As String Dim B As String A = 2 B = 3 MsgBox A + B End Sub
|
Codice sorgente - presumibilmente VB.NET |
Private Sub Form_Load() Dim A, B As String A = 2 B = 3 MsgBox A + B End Sub
|
P.S. Il motivo del perchè MSDN riporta quanto sopra hai giustamente affermato non lo conosco. Posso solo presumere che il modo di dichiarare le variabili sia cambiato con l'avvento del VB6 o del VB5 o prima mentre la guida è rimasta sempre la stessa.
Ripeto questa è solo una mia supposizione, Antonio o altri esperti certamente ti saranno rispondere Ultima modifica effettuata da tippolo il 15/04/2009 alle 14:13 |
|
ruggy94 (Member)
Guru
Messaggi: 890
Iscritto: 21/04/2008
|
Postato originariamente da tippolo:
Il motivo del perchè MSDN riporta quanto sopra hai giustamente affermato non lo conosco. |
MSDN non sbaglia mai semplicemente si riferisce a VB.NET e non a VB6. |
|
Dyango (Normal User)
Pro
Messaggi: 83
Iscritto: 02/01/2009
|
ho appena provato i 2 codici e devo dire che mi sono proprio sbagliato sorry
nel primo concatena i 2 numeri nel secondo li somma output completamente diversi
nn si finisce mai d imparare
cmq per il secondo problema hai guardato?
|
|
ruggy94 (Member)
Guru
Messaggi: 890
Iscritto: 21/04/2008
|
Postato originariamente da Dyango:
2)nel secondo form dopo aver acquisito dati dal primo form calcola varie cose correttamente pero TomImpo me lo calcola senza i numeri che ci sono dopo la virgola visualizzando solo il numero intero ovviamente vorre ivisualizzare l essatto calcolo nn arrontondato
|
Non ho scaricato il source perchè non ho l'IDE su questo PC ed aprirlo col blocco note mi fa girare la testa
Comunque credo che un problema come il tuo possa nascere dal fatto che il numero che vuoi visualizzare è un Double, mentre tu lo assegni ad una variabile di tipo Integer magari.
Esempio:
Codice sorgente - presumibilmente VB.NET |
Dim i as integer Dim d as double Private Sub Button1_Click() d=4.7 i=d msgbox(i) End Sub
|
In questo codice il Msgbox non mi mostrerà 4.7 ma 5, mentre il codice esatto sarebbe lo stesso ma con la i dichiarata di tipo Double
|
|
Dyango (Normal User)
Pro
Messaggi: 83
Iscritto: 02/01/2009
|
ti riporto qui di seguito la porzione interessata:
Codice sorgente - presumibilmente VB.NET |
dim SomImpo as currency Dim impo20, impo10, impo4 As Currency lbl2_impo20.Caption = Calc_BaseImpo.lbl_impo20 lbl2_impo10.Caption = Calc_BaseImpo.lbl_impo10 lbl2_impo4.Caption = Calc_BaseImpo.lbl_impo4 impo20 = Val(lbl2_impo20) impo10 = Val(lbl2_impo10) impo4 = Val(lbl2_impo4) SomImpo = impo20 + impo10 + impo4 lbl_SomImpo = SomImpo
|
praticamente nn arrotonda nemmeno adesso ti faccio un esempio:
impo20 è uguale a 100
impo10 è uguale a 100,25
impo4 è uguale a 0
mi da in SomImpo 200 e nn 200,25
Ultima modifica effettuata da Dyango il 15/04/2009 alle 15:42 |
|
GrG (Member)
Guru^2
Messaggi: 3430
Iscritto: 21/08/2007
|
ho provato il prog ma neanke mi fa aprire il secondo form (dove vi è la somma) che mi da alcuni errori (non sulla somma ma su altre righe)... comunque se alle varie variabili assegni direttamente il loro valore viene quindi è una questione di label...
|
|