Гость
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Преобразование массива байт в переменную типа Long / 9 сообщений из 9, страница 1 из 1
28.05.2016, 15:01
    #39245441
Jagare
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование массива байт в переменную типа Long
Имею одномерный массив байт с размером 4 элемента. Как его преобразовать в переменную типа Long средствами VBA Excel.
Заранее благодарю всех откликнувшихся.
...
Рейтинг: 0 / 0
29.05.2016, 01:16
    #39245539
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование массива байт в переменную типа Long
например так:
Код: vbnet
1.
CLng("&H"+Hex(n(0))+Hex(n(1))+Hex(n(2))+Hex(n(3)))
...
Рейтинг: 0 / 0
29.05.2016, 15:32
    #39245663
Jagare
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование массива байт в переменную типа Long
Спасибо вам огромное за помощь.
Только у меня правильно получилось при обратно порядке элементов массива: 3 - 0. Стандартной функции с проверкой порядка записи байтов нет?
...
Рейтинг: 0 / 0
29.05.2016, 15:45
    #39245668
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование массива байт в переменную типа Long
А откуда какая бы то ни была функция может знать правильный порядок четырех случайных чисел? Это программиста забота - вынимать в том порядке, в каком укладывал.
...
Рейтинг: 0 / 0
29.05.2016, 16:56
    #39245678
Jagare
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование массива байт в переменную типа Long
Shocker.Pro, не корректный у меня вопрос получился. Тогда интересно, например, как автор данного макроса узнал, что размер заголовка файла всегда будет записан в dbf-файле в порядке big-endian. Имею ввиду вот эту строчку:
Код: vbnet
1.
2.
  ' Установить указатель на начало данных
  ptrData = b(9) * 256 + b(8) + 1


Где
Код: vbnet
1.
b(9) * 256 + b(8)

- длина заголовка.
...
Рейтинг: 0 / 0
29.05.2016, 17:14
    #39245685
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование массива байт в переменную типа Long
ну для начала это ведь little-endian - более поздний (9) байт считается старшим (*256) (ЕЯННП)

собственно, порядок хранения определяется либо соглашением, либо каким-нить признаком. Откуда узнал - может спецификацию прочитал? ))
...
Рейтинг: 0 / 0
29.05.2016, 18:03
    #39245707
Jagare
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование массива байт в переменную типа Long
Shocker.Proну для начала это ведь little-endian - более поздний (9) байт считается старшим (*256) (ЕЯННП)
Так было бы удобнее запомнить. Но логика с этими названиями негуманоидная) В little-endian в конце записывается старший байт.

собственно, порядок хранения определяется либо соглашением, либо каким-нить признаком. Откуда узнал - может спецификацию прочитал? ))
Ну, да) Туплю.
...
Рейтинг: 0 / 0
29.05.2016, 18:07
    #39245710
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование массива байт в переменную типа Long
JagareВ little-endian в конце записывается старший байт.ну так я о чем? 9 же больше, чем 8 ))
...
Рейтинг: 0 / 0
29.05.2016, 18:29
    #39245725
Jagare
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование массива байт в переменную типа Long
Shocker.Pro, у меня просто очки запотели)
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Преобразование массива байт в переменную типа Long / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]