Vraag : Zet een 8 byteVB6 datum in DateTime C# om

Ik heb een oud programma dat een VB6 datum in 8 bytes omzet en het over een netwerk verzendt. Ik kan niet het oude programma veranderen zodat moet ik met de 8 bytes leven die ik krijg. Hier is de code die de VB6 datum in 8 bytes omzet: (aBytes () als Byte, lPtr zoals lang, D-waarde als Datum)
Schemerige sTmp


Private zette SubDate2Bytes als String
Schemerig x als Long

op Fout GoTo ErrorHandler
'Eerste verandering het in een string
sTmp = Ruimte (8)
CopyMemory ByVal sTmp, D-waarde, 8

'het koord in bytes
voor x = 0 aan 7
aBytes (x + lPtr) = Medio Asc ((sTmp, x + 1, 1))De Uitgang Sub

ErrorHandler van
Next
:
Err.Clear
End Sub


As een voorbeeld, de bovengenoemde code produceert deze 8 bytes [E8 B4 81 8E B1 B4 E3 40] voor de datumwaarde van [het 1:10 van 6/28/2010: 03 PM].

When ik de 8 bytes in mijn programma (Visuele Studio 2005, C#) ik ontvang moet hen terug naar a. c. # DateTime waarde omzetten. Om het even welk idee hoe ik dit doe?

Antwoord : Zet een 8 byteVB6 datum in DateTime C# om

probeer bekeerling de hexuitdraai aan binay

en gebruik DateTime.FromBinary

http://msdn.microsoft.com/en-us/library/system.datetime.frombinary.aspx

Ik hoop het goed geluk zal werken

Andere oplossingen  
 
programming4us programming4us