Что нового

Почему код цвета в переменной определяется как-то не так?

agikon

Знающий
Сообщения
789
Репутация
17
вот написал скрипт но непойму в чём дело.
при нажатии на кнопку должно выскочить "цвет 0хffffff"
оно показывает только другое какоето число, совсем не код цвета.
Почему в переменной $color код цвета изменяется, или что оно вообще показывает?
Подскажите пожалуйста как чтобы переменная $color нормально видела код цвета.

Код:
#include <GUIConstantsEx.au3>
#Include <WinAPIEx.au3>

$GUI  = GUICreate('', 300, 250)
$Button = GUICtrlCreateButton('показать код цвета', 20, 100, 150, 30)

$color = 0xffffff

GUISetState()

While 1
	$nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
		Case $Button
            _color()
	EndSwitch
wend


Func _color()
MsgBox(64,'Info','цвет '&Round($color)&'  !!!' ) ;
Endfunc
 

Dm666

Осваивающий
Сообщения
221
Репутация
48
- Лишнее

при нажатии на кнопку должно выскочить "цвет 0хffffff"
Замените
Код:
Round
на
Код:
Hex

Остается неясным назначение скрипта. Код какого цвета требуется показать?
Все что делает этот скрипт - это показывает значение переменной $color
 
Автор
A

agikon

Знающий
Сообщения
789
Репутация
17
да это он и должен показывать.

заменил, но почему пишет 00ffffff а не 0хffffff ?
Это нормально что вместо х подставляет 0 ?
 

dwerf

Использует ArchLinux
Сообщения
478
Репутация
219
agikon [?]
Почему в переменной $color код цвета изменяется, или что оно вообще показывает?
Переводит FFFFFF из шестнадцатиричной в десятичную систему счисления.

[?]
заменил, но почему пишет 00ffffff а не 0хffffff ?
Потому что Hex без второго параметра делает из числа строку с 8 символами.
Поскольку число слишком маленькое, спереди дорисовываются нули.

0x стирается. Этими двумя символами мы указываем AutoIt, что число написано в шестнадцатиричной системе счисления. Особого значения они не имеют.
 
Автор
A

agikon

Знающий
Сообщения
789
Репутация
17
спасибо ребята.
теперь понял.
 
Верх