ЗАМЕЧАНИЕ: В оригинале спецификатор %а заставляет функцию саму решать, в какой форме выводить число - с десятичной точкой или в экспоненциальной форме, из соображений здравомыслия и удобочитаемости. IDA всегда при задании этого спецификатора представляет числа в экспоненциальной форме.
вывод указателя (не поддерживается)
ЗАМЕЧАНИЕ: вместо спецификатора %p IDA использует %a, преобразующее линейный адрес в строковой сегментный, и автоматически подставляет имя сегмента.
Так, например, Message("%a \n",0x10002) выдаст seg000:2. Обратите внимание, что таким способом нельзя узнать адрес переменной.
Пример:
auto a; a="Heno!\n"; Message("%a \n",a); 0
Возвращается ноль, а не указатель на переменную.
вывод десятичного целого всегда со знаком, не опуская плюс.
в оригинале - вывод шестнадцатеричного целого всегда со знаком, но ida воспринимает эту конструкцию точно так же как и x.
n длина выводимого десятичного числа, при необходимости дополняемая слева пробелами. Например:
Message("Число-%3d \n",1); Число- 1
Если выводимое число не укладывается в n позиций, то оно выводится целиком.
Например:
Message("Число-%3d \n",10000);
Число-10000
n длина выводимого шестнадцатеричного числа, при необходимости дополняемая слева пробелами. Например:
Message("Число-%3x \n",1); Число- 1
Если выводимое число не укладывается в n позиций, то оно выводится целиком.
Напрмер:
Message("Число-%3x \n",0x1234); Число-1234
n длина выводимого десятичного числа, при необходимости дополняемая слева незначащими нулями. Пример:
Message("Число-%03d",1);
Число-001
Если выводимое число не укладывается в n позиций, то оно выводится целиком.
Пример
Message("Число-%03d",1000) Число-1000
%0nx
n длина выводимого шестнадцатеричного числа, при необходимости дополняемая слева незначащими нулями. Пример:
Message("Число-%03x",0x1);
Число-001
Если выводимое число не укладывается в n позиций, то оно выводится целиком.
Пример:
Ме55аде("Число-%03х",0х1234); Число-1234
Вывод префикса 0x перед шестрадцатиричными числами Пример:
Message("%#x",123); 0x123
Вывод префикса 0 перед восьмеричными числами Пример:
Message("%#o",1);
%n Количество выведенных символов (не поддерживается)
void Warning (char format,...);
Функция выводит диалоговое окно, предупреждающие об аварийной ситуации. Обратите на тип возращаемого значения void. То есть функция не предоставляет информации , о том какая клавиша была нажата.
<OK> или <ESC> просто возвращают управление скрипту; <Abort> приводит к аварийному выходу из IDA (правда перед этим у пользователя будет запрошено подтверждение). А <SILENT> включает «тихий» режим, в котором подобные окна не отображаются.