Jump to content

PoLLo

Members
  • Posts

    1
  • Joined

  • Last visited

Everything posted by PoLLo

  1. Hi, I managed how to get data from database using read_db function from activex.dll in vb6. I want to read whith copymemory function a float value from database but i get a large decimal number with cientific notation. Also i cannot read the entire database, so im doing it in groups of 19 cuz if i do 20 i get an error "9 Subscript out of range". Here is my code: Private Sub LeerBD() Dim Valores() As Byte Dim i As Integer Dim iFecha As String Dim iHora As String Dim iTipo As String Dim iLote As Long Dim iTemCam As Double Dim iHumedad As Integer Dim iPresion As Integer Dim iPeso As Double Dim iEst As String Dim Pointer As Long Dim grupo As Long On Error GoTo mal For grupo = 0 To 101949 Step 19 * 51 Call mComDriver.Read_DB(grupo, 19, 51, 51, Valores) Pointer = 0 For i = 1 To 19 iFecha = PointerToString(VarPtr(Valores(Pointer))) Pointer = Pointer + 10 iHora = PointerToString(VarPtr(Valores(Pointer))) Pointer = Pointer + 10 iTipo = PointerToString(VarPtr(Valores(Pointer))) Pointer = Pointer + 10 Call CopyMemory(iLote, Valores(Pointer), 4) Pointer = Pointer + 4 Call CopyMemory(iTemCam, Valores(Pointer), 4) Pointer = Pointer + 4 Call CopyMemory(iHumedad, Valores(Pointer), 2) Pointer = Pointer + 2 Call CopyMemory(iPresion, Valores(Pointer), 2) Pointer = Pointer + 2 Call CopyMemory(iPeso, Valores(Pointer), 4) Pointer = Pointer + 4 iEst = PointerToString(VarPtr(Valores(Pointer))) Pointer = Pointer + 5 Debug.Print iFecha & "-" & iHora & "-" & iTipo & "-" & iLote & "-" & iTemCam & "-" & iHumedad & "-" & iPresion & "-" & iPeso & "-" & iEst Next i Next grupo Exit Sub mal: MsgBox "[" & Err.Number & "] " & Err.Description, vbCritical, "Error" End Sub the results for iTemCam or iPeso are like this: 8.39516345413446E-320 1.27321882187115E-314 Any ideas what im doing wrong?
×
×
  • Create New...