Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [VB]Как в VisualBasic поменять порядок слов в Long


Автор: l2_mik 26.3.2009, 22:13
Всезнающий Ол, 

подскажите, как в языке Visual Basic изменить порядок следования 16-битных слов в переменной Long, т.е. перовое слово поменять со вторым,
Пока на ум только приходит, что это возможно сделать так:
 1. Преобразовать число long в HEX строку;
 2. Переставить местами две фразы по 4 знака, в этой строке;
 3. Выполнить обратное преобразование в Long.
Неужели нет более простых способов?

С уважением, l2_mik

Автор: Akina 26.3.2009, 22:36
Можно получить адреса переменных (VarPtr) - источника и приёмника, и скопировать (CopyMemory) кусками по 2 байта...

Автор: l2_mik 27.3.2009, 18:38
А в VBA эти функции есть?

Автор: Akina 27.3.2009, 18:43
VarPtr (и StrPtr) - встроенная, хотя и не документированная, функция.
CopyMemory - это WinAPI.

Автор: l2_mik 28.3.2009, 08:29
А в VBA  случайно нет аналога union как в С?

Автор: Akina 28.3.2009, 18:42
Нет.

Автор: l2_mik 29.3.2009, 21:13
Жаль!  :-(
Значит буду работать  через промежуточное преобразование в строку

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)