Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.189.185.251] |
|
Сообщ.
#1
,
|
|
|
Здраствуйте!
Кто может подсказать как собрать 4 байта которые передает прибор в одну переменную типа single в VBnet 2012? Так же нужно разделить переменную single на 4 байта. |
Сообщ.
#2
,
|
|
|
я попробовал вот таким образом.
Public Declare Function GetMem4 Lib "msvbvm60" (ByVal pSrc As Long, ByVal pDst As Long) As Long Private ModZ As Single Private ModZ1(3) As Byte GetMem4(ModZ1(0), ModZ) Но выдает ошибку |
Сообщ.
#3
,
|
|
|
Public Declare Function GetMem4 Lib "msvbvm60" (ByRef pSrc As Any, ByRef pDst As Any) As Long |
Сообщ.
#4
,
|
|
|
Цитата TheTrik @ Public Declare Function GetMem4 Lib "msvbvm60" (ByRef pSrc As Any, ByRef pDst As Any) As Long Выдает что AsAny в операторах Declare не подерживается |
Сообщ.
#5
,
|
|
|
Цитата Songrim @ Цитата TheTrik @ Public Declare Function GetMem4 Lib "msvbvm60" (ByRef pSrc As Any, ByRef pDst As Any) As Long Выдает что AsAny в операторах Declare не подерживается Какой язык программирования? |
Сообщ.
#6
,
|
|
|
Visual Studio 2012, Basic
|
Сообщ.
#7
,
|
|
|
В vb.net можно объединить single с четырёхбайтовым массивом в Union.
|
Сообщ.
#8
,
|
|
|
Цитата Mikle @ В vb.net можно объединить single с четырёхбайтовым массивом в Union. А как это можно сделать? Хотелось бы увидеть примеры кода. |
Сообщ.
#9
,
|
|
|
У меня сейчас на компе не установлена VS, но в сети есть примеры, например:
https://www.vbforums.com/showthread.php?761...claration-valid |
Сообщ.
#10
,
|
|
|
Цитата Mikle @ У меня сейчас на компе не установлена VS, но в сети есть примеры, например: https://www.vbforums.com/showthread.php?761...claration-valid не разобрался... Еще нашел в интернете описание класса BitConverter, вроде это подойдет, но я не могу его найти VS2012 Basic. Кто может подсказать как это сделать. |
Сообщ.
#11
,
|
|
|
В любом ЯП есть конструкт "сдвиг
Private uint_iModZ As UInteger Private ModZ As Single Private ModZ1(3) As Byte uint_iModZ = ModZ1(0) << 24 + ModZ1(1) << 16 + ModZ1(2) << 8 + ModZ1(3) ModZ = CType(uint_iModZ, Single) |