X-Dron
675 EGP
       Рейтинг канала: 5(123) Репутация: 149 Сообщения: 634 Откуда: Санкт-Петербург, Россия Зарегистрирован: 07.02.2001
 |
|
Задачка мной решена. Все гениальное просто.
Обошелся всего еще 4-мя строчками в этой секции
---------------------------------------
Private Function Float_To_Hex(In_Value As Single) As String
'/....
End Function
---------------------------------------
, две из которых деклорации.
У меня на решение ушло ~4 часа, по часу на сточку .
Кто хочет может потренироваться. Чтобы сэкономить время желающим даю подсказки.
1. Стандартными функциями VBA задачку не решить. Требуется подключение "ядерного" оружия.
2. Метод очень хорошо описан в MSDN MSVB.
Ответ под спойлером
|
Cкрытый текст (кликните здесь для просмотра)
Public Declare Sub HMemCpy Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Private Function Float_To_Hex(In_Value As Single) As String
Dim B_Long As Long
HMemCpy B_Long, In_Value, 4
Float_To_Hex = Hex(B_Long)
End Function
Public Sub Macro1()
Dim A_float As Single
Dim A_String As String
'.......
A_float = 12.123
A_String = Float_To_Hex(A_float)
'.......
End Sub
|
_________________ Самое тяжелое в открытом космосе - "репа". Один раз уронишь, потом фиг поднимешь.
Последний раз редактировалось: X-Dron (17:51 29-03-2009), всего редактировалось 1 раз |