Visual Basic - Cómo leer un bit de un archivo binario?

Life is soft - evento anual de software empresarial
 
Vista:

Cómo leer un bit de un archivo binario?

Publicado por Mario Ruiz (6 intervenciones) el 11/11/2002 11:41:03
Mu Güenas!!!
Estoy intentando leer de un archivo binario, nueve bits y no sé cómo hacerlo ya que en principio siempre que leo como mínimo son 8 bits (1byte).
Si me podéis ayudar os lo agradecería esto Pillao.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Cómo leer un bit de un archivo binario?

Publicado por Josetxu (75 intervenciones) el 12/11/2002 01:56:41
Mu Güenas, Mario!!!

No sé muy bien para que necesitas esos nueve bits, pero aquí va una solucion.

Por ejemplo asumimos que lees Lectura1 y lectura2 que son dos bytes del archivo:

...
MsgBox NueveBits (Lectura1, Lectura2)
...
Function NueveBits(Byte1 As Byte, Byte2 As Byte) As String
Dim Temp As Byte
Dim i As Long
Temp = Byte1
For i = 1 To 8
If Temp / 2 <> Temp \ 2 Then
NueveBits = "1" & NueveBits
Else
NueveBits = "0" & NueveBits
End If
Temp = Temp \ 2
Next i
If Byte2 >= 128 Then
NueveBits = NueveBits & "1"
Else
NueveBits = NueveBits & "0"
End If
End Function

Obtienes una cadena de nueve caracteres (solo unos y ceros) con los 8 bits de la primera lectura y el primer bit de la segunda.

Espero que te sirva
Josetxu
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cómo leer un bit de un archivo binario?

Publicado por Mario Ruiz (6 intervenciones) el 12/11/2002 12:32:21
Gracias Josetxu.
El problema es que estos nueve bits están en mitad de un registro que tiene más de 200 bytes por lo que a partir de estos nueve bits se me descoloca todo ya que no puedo leer un bit solo y tengo que leer un byte.

Me podrías echar una mano?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar