Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.17;
Скачать: CL | DM;

Вниз

Как работать отдельно с старшими и младшими байтами Cardinal?   Найти похожие ветки 

 
Makhanev A.S. ©   (2003-02-06 23:04) [0]

В waveoutsetvolume есть параметр типа Cardinal.

Причём:
"The low-order word contains the left-channel volume setting, and the high-order word contains the right-channel setting"

Насколько я понял, необходимо работать раздельно с первыми 2-мя байтами и последними. К примеру, одновременно изменять значения этих групп байтов.

Как это сделать?


 
Palladin ©   (2003-02-06 23:12) [1]

var
nCardinal:cardinal;
Words:array [0..1] of word absolute nCardinal;


 
MBo ©   (2003-02-06 23:19) [2]

d:Cardinal;
изменить:
d:=(d and $FFFF0000) or newlowordvalue;
d:=(d and $0000FFFF) or (newhiwordvalue shl 16);
получить: LoWord, HiWord


 
Anatoly Podgoretsky ©   (2003-02-06 23:25) [3]

LongRec.Hi/Low


 
Makhanev A.S. ©   (2003-02-08 14:12) [4]

2All:
Спасибо большое за примеры. Жаль, что сам не додумался.

> Palladin © (06.02.03 23:12)

Интересен пример с использованием одной области памяти 2-мя типами данных. Теперь знаем директиву absolute.
> MBo © (06.02.03 23:19)
Отличный пример на работу булевских операторов. Большое спасибо.
> Anatoly Podgoretsky © (06.02.03 23:25)

Наиболее простой пример. Им и воспользовался. Спасибо.



Страницы: 1 вся ветка

Текущий архив: 2003.02.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.07 c
4-53338
bobnew
2003-01-08 14:45
2003.02.17
attach


1-53078
UDS
2003-02-06 20:43
2003.02.17
Задержка выполнения программного кода (???)


1-52897
race1
2003-02-08 10:58
2003.02.17
простой вопрос


1-53031
Pat
2003-02-09 15:31
2003.02.17
Отчет в MSWord97


3-52800
Чайник
2003-01-29 18:52
2003.02.17
Ширина колонок в Гриде