Hvis du læser i binær mode, så kan du bruge
Dim lMyLong as long
Get lFileHandle,lFilePos,lmyLong
Så konverterer den selv little endian, og det hele
Elers må beregningen jo være byte4 + byte3 * 2 ^ 8 + byte2 * 2 ^16 + byte1 *
2 ^ 24
Og der skal du huske at bruge longs, da den ellers giver overflow.
Husk også at du i VB ikke kan indlæse en "unsigned long" dvs. hvor den føste
bit ikke bruges til at angive negative tal.
Mvh. Rayman
"Helge Bjørkhaug" <helgesnutten@techie.online.no.invalid> wrote in message
news:4n3t6uoa9ff8u63eo9vpgq84utqk3v8bkk@4ax.com...
> On Sat, 16 Feb 2002 01:00:25 +0100, "Jens Rex Bræmhøj" <nospam@fuckup.dk>
> wrote:
>
> >Jeg har en fil som jeg gerne vil læse de 4 første bytes fra. Kan se med
> >UltraEdit at disse bytes er "FF FB 90 4C". Hvordan kan jeg læse en fil i
VB
> >så jeg får dette output? Lige nu siger den bare "ÿû?L". Og hvad med
binært?
> >(11111111111110111001000001001100).
> >
> >Altså, det er ikke så meget det at læse selve filen, det har jeg
efterhånden
> >fundet ud af... det er mere formatet af outputtet jeg gerne vil ændre.
> >
> >Har rodet rundt på MSDN, men jeg kunne ikke finde noget klart og tydeligt
om
> >det. Er ikke super stærk i det her.
>
> Ingen elegant løsning, men....
 
>
> Private byte1 As Byte
> Private byte2 As Byte
> Private byte3 As Byte
> Private byte4 As Byte
> Private header As String
> Private Function Hex2Bin(ByVal sHex As String) As String
>
>     Dim i As Integer
>     Dim j As Integer
>     Dim nDec As Double
>     Const HexChar As String = "0123456789ABCDEF"
>
>     For i = 1 To Len(sHex)
>         nDec = InStr(1, HexChar, Mid(sHex, i, 1)) - 1
>
>         For j = 3 To 0 Step -1
>             Hex2Bin = Hex2Bin & nDec \ 2 ^ j
>             nDec = nDec Mod 2 ^ j
>         Next j
>
>     Next i
>
>     i = InStr(1, Hex2Bin, "1")
>     If i <> 0 Then Hex2Bin = Mid(Hex2Bin, i)
> End Function
> Private Sub Form_Load()
>     Dim myfile
>     myfile = FreeFile
>     Open "d:\clock.exe" For Binary Access Read As #myfile
>     Get #myfile, , byte1
>     Get #myfile, , byte2
>     Get #myfile, , byte3
>     Get #myfile, , byte4
>     header = Hex$(byte1) & Hex$(byte2) & Hex$(byte3) & Hex$(byte4)
>     MsgBox header
>     MsgBox Hex2Bin(header)
>     Close #myfile
> End Sub
>
> --
> Snutten
> Fjern helge og .invalid fra mailadressen før du svarer via mail.