http://laska-samp.biz/articles/pawn-book/osnovy-skripttting/sparam-iparam
°•°•° Проект SAMP - Romashka [0.3e] ™18+™ °•°•° :: Теория :: Pawn :: Основы скриптинга

Функции sparam, iparam, fparam

Эти функции служат для вырезания строки из строки разделенные каким либо символом.

Каждая функция вырежает только свой тип значения, она так и называется в соответствии со своим типом: Функция sparam

Синтаксис функции sparam следующий:

1 sparam(dest[], maxSize, const source[], delimiter = ' ', substrIndex, withRest)

dest[] - строка для вывода результата;
maxSize - максимальная длина подстроки, помещенная в dest[];
source[] - основная строка, из которой вырезаем подстроку;
delimiter - символ, который будет делить основную строку на подстроки;
substrIndex - порядковый номер подстроки;
withRest - логический флаг, если равен 1, то в dest[] будут помещены все подстроки, начинающиеся с указанного номера substrIndex, в том числе и все символы delimiter;

Функция ничего не возвращает!

new str[20];
sparam(str, 20, "First|Second|Third", '|', -1); //str = "", т.к. подстроки с таким номером не существует
sparam(str, 20, "First|Second|Third", '|', 0 ); //str = "First"
sparam(str, 20, "First|Second|Third", '|', 1 ); //str = "Second"
sparam(str, 20, "First|Second|Third", '|', 2 ); //str = "Third"
sparam(str, 20, "First|Second|Third", '|', 1, 1); //str = "Second|Third"
sparam(str, 20, "First|Second|Third", '|', 3);
//str = "", т.к. подстроки с таким номером не существует

То же самое можно делать в диалогах, других функциях и строках.

Функция iparam

Синтаксис функции iparam следующий:

1 iparam (const source, delimiter = ' ', substrIndex)

source[] - основная строка, из которой вырезаем подстроку;
delimiter - символ, который будет делить основную строку на подстроки;
substrIndex - порядковый номер подстроки;

Возвращает целочисленное значение подстроки!

new value;
value = iparam("First 56 345 8", ' ', -1); //str = "", т.к. подстроки с таким номером не существует
value = iparam("First 56 345 8", ' ', 0); //str = 0, т.к "First» это не число.
value = iparam("First 56 345 8", ' ', 1); //str = "56"
value = iparam("First 56 345 8", ' ', 2); //str = "345"
value = iparam("First 56 345 8", ' ', 3); //str = "8"
value = iparam("First 56 345 8", ' ', 4); //str = "", т.к. подстроки с таким номером не существует


Функция iparam

Синтаксис функции iparam следующий:

1 fparam(const source, delimiter = ' ', substrIndex)

source[] - основная строка, из которой вырезаем подстроку;
delimiter - символ, который будет делить основную строку на подстроки;
substrIndex - порядковый номер подстроки;

Возвращает дробное численное значение подстроки!

new Float:value;
value = fparam("First 56.3 345.26 8", ' ', -1); //str = "", т.к. подстроки с таким номером не существует
value = fparam("First 56.3 345.26 8", ' ', 0); //str = 0.0, т.к "First» это не число.
value = fparam("First 56.3 345.26 8", ' ', 1); //str = "56.3"
value = fparam("First 56.3 345.26 8", ' ', 2); //str = "345.26"
value = fparam("First 56.3 345.26 8", ' ', 3); //str = "8.0"
value = fparam("First 56.3 345.26 8", ' ', 4);
//str = "", т.к. подстроки с таким номером не существует




Опубликовано 11 December 2013