LEADERSOFT.ru
Разработка на заказ программ и сайтов
Разработка
Заказ программы
Прайс-лист
Техническое задание
Проектная документация
Наши клиенты
Реклама и продвижение
Магазин
Перейти в магазин
Новинки магазина
Бизнес программы
Финансовый учет
Документооборот
Исходные коды
Интернет решения
Обучение
Перейти в раздел
Форумы по разработке
Примеры на Access
Рассылка статей
Магазин IT литературы
Блог
Все статьи
Microsoft Access (VBA)
Microsoft Access (Проекты)
Microsoft ASP.NET
Сервисы Google
Технические задания
Новости IT технологий
Сервисы
Форумы разработчика
Контакты
О компании
Регистрация на сайте
Подписка на новости по Email
Сообщество Google+
Подписка subscribe.ru
Новости в формате Атом
Загрузить
Загрузить каталог программ
Форумы по информационным технологиям
Начало
Forums
Регистрация
|
Вход
Forums
Обновлено ::
06 февраля 2005
Форумы
Поиск
Список форумов
Программирование
Microsoft Access. Файлы mdb и accdb
Тема: Перетипиз...
Тема: Перетипизация Date -> array of byte
15.06.2007 21:09:46
Ру
2 сообщения
Тема: Перетипизация Date -> array of byte
Подскажите пож., что-то никак не найду, как в VBA переинтерпретировать данные, в частности - прочесть содержимое переменной типа Date (или Double) как если бы это был массив байт. Помнится, в паскале это делалось элементарно, декларацией вида var2 absolute var1, либо присвоением значения указателю.
ЗЫ: Алгоритмы наподобие последовательного деления на 256 не предлагать.
P.S. Управление датой
Автор:
Ру
от 08.10.2005 14:13:48
Источник ...
15.06.2007 21:09:46
All
4316 сообщения
RE: Перетипизация Date -> array of byte
В редакторе VBA жмем F2
В открывшемся окне в верхнем выпадающем списке выбираем VBA
Выбираем класс Conversion и смотрим
Dim bt() As Byte
Dim i As Long
bt = Hex(Date)
For i = 0 To UBound(bt) - 1
Debug.Print bt(i)
Next i
P.S. Управление датой
Автор:
Anonymous
от 0:00:00
Источник ...
15.06.2007 21:09:46
Ру
2 сообщения
RE: Перетипизация Date -> array of byte
Спасибо, что откликнулись. Однако ж Hex не годится хотя бы потому что переполняется. То есть, Date (тип данных, а не функция бейсика) хранит дату с точностью до секунды. Если в Вашу формулу подставить не Date(), а Now(), дробная часть (время) просто потеряется, а если домножить Now() на 86400 (для обеспечения целости), Hex выдаст ошибку - Overflow. Понятно, что можно изголяться, делить на части, чтоб втиснуться в формат Hex, однако ж не будем усложнять простое. Напоминаю, что задача стоит элементарная: прочитать содержимое уже существующей переменной типа Double как сли бы это был array of byte, не отводя никакой лишней памяти и не производя никаких лишних вычислений. Нужен просто побайтный дампинг 8-байтовой переменной.
P.S. Управление датой
Автор:
Ру
от 10.10.2005 1:10:05
Источник ...
15.06.2007 21:09:46
All
4316 сообщения
RE: Перетипизация Date -> array of byte
Есть недокументированная функция (типа adressoff, точно не помню) - работает как указатель на переменную (например, в c++)
P.S. Управление датой
Автор:
Admin
от 0:00:00
Источник ...
15.06.2007 21:09:46
All
4316 сообщения
RE: Перетипизация Date -> array of byte
Вообще в VB не заложены функции для операций прямого доступа к памяти (а также работа с указателями и пр, - для этого есть дрю языки)
Тем не менее есть недокументированная функция VarPtr - возвращает адрес переменной
Либо можно воспользоваться API
Private Sub Conv2()
Dim i As Long
Dim bbuf() As Byte
Dim dsrc As Double
Dim str As String
dsrc = CDbl(Now())
i = Len(dsrc)
Debug.Print dsrc & Chr(9) & i
ReDim bbuf(i)
CopyMemory bbuf(0), dsrc, i
str = ""
For i = 0 To UBound(bbuf) - 1
str = str & CStr(Hex(bbuf(i)))
Next i
Debug.Print str
dsrc = 0#
CopyMemory dsrc, bbuf(0), i
Debug.Print CDate(dsrc)
End Sub
P.S. Управление датой
Автор:
Anonymous
от 0:00:00
Источник ...
Страница 1 из 2
1
2
Следующий
Программирование
Microsoft Access. Файлы mdb и accdb
Тема: Перетипиз...
Одноуровневый вид
Древовидная структура
Самый старый из новых
Новейший из старых
Поиск
Список форумов
Начало
|
Forums
Copyright 2002-2016 Leadersoft.ru
::
Leadersoft
::
Соглашение о безопасности
::
Условия использования