Всё о сервере, форум!
Основы программирования
ИНФОРМАЦИОННО-РАЗВЛЕКАТЕЛЬНЫЙ ПОРТАЛ

PrR[ Проект SAMP - Romashka [0.3e] ™18+™

Pawn :: Основы скриптинга
Функции sparam, iparam, fparam

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

Каждая функция вырежает только свой тип значения, она так и называется в соответствии со своим типом:
  • sparam – расшифровывается как «string param» - извлекает подстроку под указанным номером, по желанию и вместес остатком строки.
  • iparam – «integer param» - извлекает подстроку под указанным номером и возвращает ее численное значение
  • fparam - «float param» - извлекает подстроку под указанным номером и возвращает ее десятичное (Float) значение.
Функция 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 = "", т.к. подстроки с таким номером не существует



Логин: Пароль:
Забыли пароль?Регистрация
При копировании материала с сайта активная ссылка обязательна!
Сайт управляется SiNG cms © 2010-2015