ВНИМАНИЕ! Наша конференция посвящена космической тематике и компьютерным играм. Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!
» Мини Конкурс от X-Dron | страница 2
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.
Задачка мной решена. Все гениальное просто.
Обошелся всего еще 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 раз