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

Вниз

Шестнадцатиричные числа   Найти похожие ветки 

 
stef ©   (2005-11-14 06:45) [0]

Задача состоит в следующем:
Нужно проанализировать каждый разряд шестнадцатиричного (именно 16-ричного)числа отдельно друг от друга.
Имеется переменная типа TColor и в ее первых слева двух разрядах хранится показатель, который мне и нужно достать.
Предполагал перевести число в строку и так с ним работать, но похоже, что либо руки кривые либо что-то здесь не так.
Попробовал разобраться с функцией HexToBin, но с англицким плохо.
А функция IntToHex из модуля SysUtils вообще работает не так как ей следовало бы из названия.
Подскажите, может компонент какой или функцию, или уж точно самому писать?
А сам пробовал через нетипизированный указатель, но тоже не получилось.


 
stef ©   (2005-11-14 06:52) [1]

Чтоб точно никаких сомнений не осталось поясню:
есть переменная qwe (qwe:TColor), еt необходимо разделить на разряды, и взависимости от значения допустим первого разряда выполнять действия.
типа так:

if qwe[1]=$1 then ...
if qwe[2]=$a then ...


 
ЮЮ ©   (2005-11-14 07:07) [2]

if qwe and $10000000 = $10000000
if qwe and $0A000000 = $0A000000


 
MBo ©   (2005-11-14 07:08) [3]

Не помешает прочитать какую-либо книжку.

Получение n-го (справа, нумерация с нуля)  "разряда":
(qwe shr (4*n)) and $f


 
stef ©   (2005-11-14 07:15) [4]

Не ожидал, такого быстрого ответа.
> MBo ©   (14.11.05 07:08) [3]

про нумерацию то я знаю, спасибо огромное. А shr это функция сдвига вправо, так?
Пользовались ли вы когданибудь функциями inttohex и hextobin, что это такое то?


 
MBo ©   (2005-11-14 07:41) [5]

>Пользовались ли вы когданибудь функциями inttohex и hextobin, что это такое то?

Первое - функция для строкового представления чисел в 16-ричном виде, второе - обратное преобразование, как недвусмысленно описано в хелпе?


 
Anatoly Podgoretsky ©   (2005-11-14 09:05) [6]

stef ©   (14.11.05 06:52) [1]
if qwe[1]=$1 then ...
if qwe[2]=$a then ...
<Цитата>

Данная конструкция с успехом заменяется на
if (LongRec(qwe).Bytes[1]=1) and (LongRec(qwe).Bytes[2]=$0A) then ...
Если ты ничего не перепутал в своем путаном объяснении.



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

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

Наверх




Память: 0.48 MB
Время: 0.078 c
2-1132232399
Bagdat
2005-11-17 15:59
2005.12.04
Мультиязычность


14-1132034084
syte_ser78
2005-11-15 08:54
2005.12.04
подскажите компонент


1-1131370818
DelphiLexx
2005-11-07 16:40
2005.12.04
TLogFont (вывод текста по 90 градусов)


10-1108642942
Карелин Артем
2005-02-17 15:22
2005.12.04
Авторизация для вызова удаленного com-интерфейса. Как?


1-1131440816
DinoRay
2005-11-08 12:06
2005.12.04
непонятки с таймером 2