palei Skrevet 27. august 2003 Del Skrevet 27. august 2003 Hei, Jeg leser inn en binærfil hvor jeg matcher på hex. Dvs at jeg finner en hex tag. Denne sier meg at dataene jeg skal ha ligger bak denne taggen. Jeg programmerer vb.net og bruker BinaryReader for å lese inn. Denne klassen har ikke funksjoner for å konvertere 14 bytes direkte til decimal. Det jeg kan gjøre er å hente ut de 14 bytene i en Byte array. Men så kommer problemet; hvordan får jeg gjort en 14 bytes array om til en decimal? Pål Lenke til kommentar
GeirGrusom Skrevet 28. august 2003 Del Skrevet 28. august 2003 Vel, i .NET er det veldig enkelt, men det er vel VB5/6 det er snakk om. En metode: Dim ptr As Long Dim ptr2 As Long Dim x As Long Dim arr() As Byte Dim target As Decimal ptr = VarPtr(target) For X = 0 To UBound(arr) ptr2 = VarPtr(arr(X)) //Kopier 1 byte fra arrayen inn i target decimal pekeren pluss posisjonen til bytet. Call MemCpy(ptr, arr(x), 1) ptr = ptr + 1 Next Men siden jeg for tiden sitter på en elendig iMac kan jeg ikke bekrefte om dette fungerer. MemCpy henter du fra API Viewer Håper dette hjelper. Grunnen til // er at jeg ikke fant appostroff Lenke til kommentar
palei Skrevet 29. august 2003 Forfatter Del Skrevet 29. august 2003 Hei, Jeg glemte si at det var .Net jeg jobbet med. Hvordan gjør man det der da? Jeg har jobbet rundt det ved å ta ut ett og ett byte og gjøre de om til char som jeg så konkatanerer til en string. Så problemet er for såvidt løst, men dersom du har en bedre løsning så er jeg klar for å høre den! Pål Lenke til kommentar
GeirGrusom Skrevet 29. august 2003 Del Skrevet 29. august 2003 Dim var As Byte() Dim dec As Decimal = BitConverter.ToDecimal(var, 0) Enkleste sak i verden. Lenke til kommentar
palei Skrevet 24. september 2003 Forfatter Del Skrevet 24. september 2003 BitConverter.ToDecimal er ikke en metode som er tilgjengelig? Ikke i min BitConverter klasse i allefall Andre forslag? Pål Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå