Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Problema con variabili ed errori di calcolo
Forum - Visual Basic 6 - Problema con variabili ed errori di calcolo

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Dyango (Normal User)
Pro


Messaggi: 83
Iscritto: 02/01/2009

Segnala al moderatore
Postato alle 23:01
Martedì, 14/04/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
PM Quote
Avatar
tippolo (Normal User)
Pro


Messaggi: 157
Iscritto: 21/09/2008

Segnala al moderatore
Postato alle 23:32
Martedì, 14/04/2009
Testo quotato

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

  1. 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

  1. 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?

PM Quote
Avatar
Dyango (Normal User)
Pro


Messaggi: 83
Iscritto: 02/01/2009

Segnala al moderatore
Postato alle 13:35
Mercoledì, 15/04/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

PM Quote
Avatar
tippolo (Normal User)
Pro


Messaggi: 157
Iscritto: 21/09/2008

Segnala al moderatore
Postato alle 14:04
Mercoledì, 15/04/2009
Chissà... a volte MSDN potrebbe portare fuori strada? :D

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

Codice sorgente - presumibilmente VB.NET

  1. Private Sub Form_Load()
  2.     Dim A As String
  3.     Dim B As String
  4.     A = 2
  5.     B = 3
  6.         MsgBox A + B
  7. End Sub


Codice sorgente - presumibilmente VB.NET

  1. Private Sub Form_Load()
  2.     Dim A, B As String
  3.     A = 2
  4.     B = 3
  5.         MsgBox A + B
  6. 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 il 15/04/2009 alle 14:13
PM Quote
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 14:41
Mercoledì, 15/04/2009
Testo quotato

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.

PM Quote
Avatar
Dyango (Normal User)
Pro


Messaggi: 83
Iscritto: 02/01/2009

Segnala al moderatore
Postato alle 14:57
Mercoledì, 15/04/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?

PM Quote
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 15:08
Mercoledì, 15/04/2009
Testo quotato

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:
Codice sorgente - presumibilmente VB.NET

  1. Dim i as integer
  2. Dim d as double
  3.  
  4. Private Sub Button1_Click()
  5. d=4.7
  6. i=d
  7. msgbox(i)
  8. 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

PM Quote
Avatar
Dyango (Normal User)
Pro


Messaggi: 83
Iscritto: 02/01/2009

Segnala al moderatore
Postato alle 15:41
Mercoledì, 15/04/2009
ti riporto qui di seguito la porzione interessata:
Codice sorgente - presumibilmente VB.NET

  1. dim SomImpo as currency
  2. Dim impo20, impo10, impo4 As Currency
  3. lbl2_impo20.Caption = Calc_BaseImpo.lbl_impo20
  4.     lbl2_impo10.Caption = Calc_BaseImpo.lbl_impo10
  5.     lbl2_impo4.Caption = Calc_BaseImpo.lbl_impo4
  6.     impo20 = Val(lbl2_impo20)
  7.     impo10 = Val(lbl2_impo10)
  8.     impo4 = Val(lbl2_impo4)
  9.     SomImpo = impo20 + impo10 + impo4
  10.     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
PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 18:05
Mercoledì, 15/04/2009
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...

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo