Формат числа
В AutoIt3 существует два типа представления чисел десятичный и шестнадцатеричный. Десятичный имеет ещё и экспоненциальное представление числа. Многие функции такие как установка цвета текста или фона элементов поддерживают числа в любом представлении, а не только в шестнадцатеричном. Это говорит о том, что не требуется преобразовывать числа с помощью Hex или Dec, чтобы использовать привычное представление числа. Если число считывается из ini-файла и имеет строковый тип переменной, то она будет преобразована в числовое представление, так как функции автоматически делают приведение типа по правилам преобразования.
Пример, в котором 5 вариантов представления одного и того же числа, и результат получается одинаковым.
GUICreate('Числа', 250, 130)
GUICtrlCreateLabel('', 10, 10, 150, 17)
GUICtrlSetBkColor(-1, '0xfdffae')
GUICtrlCreateLabel('', 10, 30, 150, 17)
GUICtrlSetBkColor(-1, 0xfdffae)
GUICtrlCreateLabel('', 10, 50, 150, 17)
GUICtrlSetBkColor(-1, 16646062)
GUICtrlCreateLabel('', 10, 70, 150, 17)
GUICtrlSetBkColor(-1, '16646062')
GUICtrlCreateLabel('', 10, 90, 150, 17)
GUICtrlSetBkColor(-1, 1.6646062e7)
GUISetState()
Do
Until GUIGetMsg() = -3
Многие константы, стили GUI, параметры представлены в виде шестнадцатеричного числа, все они также могут быть представлены в виде десятичного числа и это не изменит их свойств.
Если некоторая функция требует число в качестве параметра, то используйте числовой тип переменной, а не строковый. Строковое представление числа тоже будет работать, но функции потребуется преобразовать строковый тип переменной в числовой.
ChrW(0x2022) ; правильно
ChrW('0x2022') ; неправильно
Если требуется принудительно сделать вывод числа в определённом виде, то используйте следующие варианты преобразования.
MsgBox(0, 'Сообщение', 0xFDFFAE) ; по умолчанию отображает в десятичном виде
MsgBox(0, 'Сообщение', Dec('FDFFAE'))
MsgBox(0, 'Сообщение', Hex(16646062, 6))
MsgBox(0, 'Сообщение', StringFormat("%06X", 16646062))
|