Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Функция format

XemyL

Компетентный
Урок по запросу #531

Каждый из нас постоянно встречается с функцией format, но не все знают какие у неё есть функции и как её правильно использовать. В этом уроке я поделюсь с вами своими знаниями по этому поводу.

Итак, для начала мы разберём аргументы этой функции:
PHP:
native format(output[], len, const format[], {Float,_}:...);
output[] - массив (Например, new string[123]), в который будет занесён отформатированный текст. Старайтесь не указывать ему размер больше, чем будет содержаться символов в тексте.
len - максимальная длина отформатированной строки. Если она будет больше этого значения, то она обрежется.
const format[] - сам текст, подробнее разберём дальше.
{Float,_}:... - переменные и массивы, которые участвуют в форматировании строки.


В аргументе const format[] может храниться не только текст, но и специальные операторы, которые помогают правильно и легко сделать форматирование строки.

Операторы вставки выглядят так:
%d - переменная Integer (обычный new), %f - переменная Float (new Float), %s - массив (new string[10])

Такие операторы указывают на то, что в этой части текста будет вставлена переменная\массив из следующего аргумента {Float,_}:...
При использовании этих операторов нужно строго соблюдать очерёдность! То есть, если вы написали "... %d ... %f ... %d ... %s", то и переменные у вас должны быть в таком же порядке:

PHP:
new perem1, perem2, Float:perem3, massiv[10];
"... %d ... %f ... %d ... %s", perem1, perem3, perem2, massiv
А такие операторы вставки как %02d, %.0f и т.п. используются редко, но имеют довольно интересные возможности. Оператор %02d будет выводить минимум 2 числа, не зависимо от того, какое это число. Например, если переменная равна 9, но при форматировании она вставляется в текст через %02d, то в результате получится "09". Это полезно для создания цифровых часов вида "03:12".

%.0f используется только для переменный Float, он указывает сколько цифр после точки будет выводиться. Например, при выводе через %f будет выглядеть "12.356437", а с %.0f - "12", c %.1f - "12.3" и т.п.


Ну и последний оператор является цветовым, благодаря которому можно раскрашивать текст в разные цвета. Весь текст после такого аргумента будет окрашен в указанный цвет. Правда, использовать этот аргумент можно не только в format, а в любом тексте.
Сами коды цветов можно найти .
"текст {00FFFF}текст"

PHP:
new perem1 = 5;
new Float:perem2 = 10.52;
new massiv[10] = "'Текст'";
new string[60];
format(string, sizeof(string), "Число Int. %d, число Float %.1f, {00FFFF}массив %s", perem1, perem2, massiv);
SendClientMessage(playerid, -1, string);

На этом у меня всё, если кто-то хочет дополнить - пишите об этом в тему.

Автор "урока" - XemyL
При копировании материала в другие источники, указывать автора.
 
Последнее редактирование:
Сверху Снизу