Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

сдвиг в DWord


tmpl ©   (2006-08-24 20:54:00) 

Привет! Есть DWord'овая переменная, TmpValue = $010f0002. Необходимо прочитать сначало word:$010f, а затем word:$0002.

в итоге, нужно будет использовать так.

if первая_половина_dword(TmpValue) = $0101 then ...
if вторая_половина_dword(TmpValue) = $0f01 then ...


Германн   (2006-08-25 02:42:00) [1]


> Pavia ©   (25.08.06 02:35) [6]
>
> Var Z:Single;
>
> l:=HiWord(z); - не работает, нужно дополнительно приведение
> типа
> l:=LongRec(z).Hi; - работает
>

Неужели работает? И без "дополнительного приведения типов, и с ним"?
Может даже "разумные" значения возвращает? :-)
Хочешь стать "Звездой Ореха"!?


Pavia   (2006-08-25 02:35:00) [2]

Var Z:Single;

l:=HiWord(z); - не работает, нужно дополнительно приведение типа
l:=LongRec(z).Hi; - работает


Германн   (2006-08-25 02:23:00) [3]


> Pavia ©   (25.08.06 01:26) [4]
>
> А извеняюсь не заметил что DWordб подумал что Word.
> Тогда
> LongRec(TmpValue).Lo
> LongRec(TmpValue).Hi
>
> LongRec(TmpValue).Words[0]
> LongRec(TmpValue).Words[1]

И чем, по-твоему они лучше begin...end ©   (24.08.06 20:59) [1]

LOWORD, HIWORD

?


Pavia   (2006-08-25 01:26:00) [4]

А извеняюсь не заметил что DWordб подумал что Word.
Тогда
LongRec(TmpValue).Lo
LongRec(TmpValue).Hi

LongRec(TmpValue).Words[0]
LongRec(TmpValue).Words[1]

Int64Rec для 64битных.


Германн   (2006-08-25 01:06:00) [5]


> Pavia ©   (25.08.06 00:30) [2]
>
> Помойму лучше
> WordRec(TmpValue).Lo
> WordRec(TmpValue).Hi
> или
> WordRec(TmpValue).Bytes[0]
> WordRec(TmpValue).Bytes[1]

Не только нелучше, а вообще не то! В сабже нужен результат типа Word, а твои варианты дают тип Byte.


Pavia   (2006-08-25 00:30:00) [6]

Помойму лучше
WordRec(TmpValue).Lo
WordRec(TmpValue).Hi
или
WordRec(TmpValue).Bytes[0]
WordRec(TmpValue).Bytes[1]


begin...end   (2006-08-24 20:59:00) [7]

LOWORD, HIWORD


Наверх

Титульная страница Поиск, карта сайта Написать письмо