' Decimal field for CURRENCY (9999= home decimal)
CURR
416
6
Dim NewCur As Currency
Dim bt(5) As Byte
CopyMemory NewCur, bt(0), 6
Private Type Cb
b(7) As Byte
End Type
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
(Destination As Any, Source As Any, ByVal Length As Long)
' Сначала записываю тип currency в файл
Dim CurrencyS As Currency
Dim fn As Integer: Dim fh As Integer
CurrencyS = 125
fn = FreeFile
Open "C:\apvend'r" For Random As fn Len = 8
Put #fn, 1, CurrencyS
Close fn
' потом считываю это значение в байтовый массив
' и CopyMemory пихаю обратно в Currency
Dim MyCur As Cb
fh = FreeFile
Open "C:\apvend'r" For Random As fh Len = 8
Get #fh, 1, MyCur
Close fh
CopyMemory CurrencyS, MyCur.b(0), 8
Debug.Print CurrencyS & " 0/" & MyCur.b(0) & " 1/" & MyCur.b(1) & _
" 2/" & MyCur.b(2) & " 3/" & MyCur.b(3) & _
" 4/" & MyCur.b(4) & " 5/" & MyCur.b(5) & _
" 6/" & MyCur.b(6) & " 7/" & MyCur.b(7)
End Sub
MOV писал(а):с четвертого по второй включительно, получается 150, то есть близко к истине, если будет 10000, то выведет 100.
Поясни, что это значит.
Сейчас этот форум просматривают: SemrushBot и гости: 144