Oppure

Loading
14/04/09 21:01
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

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:
mediafire.com/…

Grazie a tutti quelli che mi vorrano aiutare
se ce qualcosa di nn chairo chiedete pure
Ultima modifica effettuata da Dyango 14/04/09 21:02
aaa
14/04/09 21:32
tippolo
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:
Dim sc1, sc2, sc3                          As Byte
tu hai dichiarato sc1 ed sc2 di tipo Variant e solamente sc3 di tipo byte

togliendo sc3
Dim sc1, sc2  As Byte
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?
aaa
15/04/09 11:35
Dyango
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.

msdn.microsoft.com/it-it/library/…

Quindi il problema risiede altrove
aaa
15/04/09 12:04
tippolo
Chissà... a volte MSDN potrebbe portare fuori strada? :D

prova un pò questi 2 codici, a te sembreranno uguali ma....:nono:

Private Sub Form_Load()
    Dim A As String
    Dim B As String
    A = 2
    B = 3
        MsgBox A + B
End Sub

Private Sub Form_Load()
    Dim A, B As String
    A = 2
    B = 3
        MsgBox A + B
End Sub


:pat:

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 15/04/09 12:13
aaa
15/04/09 12:41
ruggy94
Postato originariamente da tippolo:
Il motivo del perchè MSDN riporta quanto sopra hai giustamente affermato non lo conosco.

MSDN non sbaglia mai :D semplicemente si riferisce a VB.NET e non a VB6.
aaa
15/04/09 12:57
Dyango
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?
aaa
15/04/09 13:08
ruggy94
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 :D
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:
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
aaa
15/04/09 13:41
Dyango
ti riporto qui di seguito la porzione interessata:
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 15/04/09 13:42
aaa