Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [VB6] Valore double

  1. #1
    Utente di HTML.it L'avatar di quincy
    Registrato dal
    Aug 2003
    Messaggi
    247

    [VB6] valore double

    Salve a tutti la mia domanda è molto semplice.

    Ho creato in Visual Basic un software che comunica tramite porta seriale con una schedina hardware: la cosaè semplice scrivo sulla come e leggo dalla com.

    Il problema stà nel recupero dei valori: la schedina in questione mi manda gli otto byte che compongono un double, che leggo, ma non sò comericostruire il valore double corrispondente. Fino a quando devo leggere caratteri nessun problema. Ma ricomporre un numero double dai suoi 8 byte non sò proprio.


    Qualche idea.


    Grazie
    Andrea

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466

    Moderazione

    Ho spostato la discussione nell'apposito forum dedicato a Visual Basic.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Dove memorizzi gli 8 byte quando li ricevi?

    In che ordine sono (prima il piu' significativo o il meno significativo)?

  4. #4
    Utente di HTML.it L'avatar di quincy
    Registrato dal
    Aug 2003
    Messaggi
    247
    I BYTE li leggo dalla seriale da quello più significativo a quello meno significativo. Ora li memorizzo in una variabile stringa.

    Grazie per l'aiuto
    Andrea

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    357
    Io diverso tempo fa ho fatto una routine che converte un numero binario in un numero decimale, guarda se ti può servire.

    codice:
    Sub BinDec(NumeroB As String, NumeroD As Long)
    Dim Indice As Integer
        NumeroBin = NumeroB
        Indice = Len(Trim(NumeroBin))
        X = 1
        NumeroDec = 0
        Indi = Indice
        Do Until X > Indi
            NumeroDec = NumeroDec + Val(Mid(NumeroBin, X, 1)) * 2 ^ (Indice - 1)
            Indice = Indice - 1
            X = X + 1
        Loop
        NumeroD = NumeroDec
    End Sub
    Ciao

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da quincy
    I BYTE li leggo dalla seriale da quello più significativo a quello meno significativo. Ora li memorizzo in una variabile stringa.

    Grazie per l'aiuto
    In una stringa? Perche'?

    E' meglio utilizzare un array di byte ... in seguito puoi usare una semplice CopyMemory ...

    Sei sicuro che siano da quello più significativo al meno significativo?

    Mostra il codice in cui leggi i dati e ti dico cosa scrivere ...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.