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

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

Pawn :: Основы скриптинга
Работа со строками

Начнем с функции strlen – эта функция возвращает длину строки. При подсчете символов, пробелы считаются тоже, так как также являются символами.

new string[20] = “pawno scripting”;
printf(“длина строки: %s”,strlen(string))
//выведет в консоли сервера длину строки 15

Далее мы рассмотрим функцию strval, которая конвертирует строку в число. У нас есть строка 21. Именно «строка», если через format мы попытаемся вывести через строковой тип «%d», то получим совсем не то, что нам нужно. Если же с помощью данной функции мы сконвертируем строку в число, то мы получим соответствующий результат, вот пример:

new string[2] = “21”;
printf(“значение string = %s”,strval(string)) // 21


Есть обратная функция – valstr, которая конвертирует число в строку, она аналогична strval, только выполняет обратную операцию, поэтому объяснять данную функцию не стану.
Теперь возвратимся к первому примеру, только работать мы будем с функцией strdel, которая удаляет часть строки.

new string[20] = “pawno scripting”;
strdel(string,6,15);
printf(“%s”, string) //выведет в консоли сервера “pawno”


Конечно, если вы хотите вырезать, например с 6 символа до конца строки, то чтобы не считать символы до конца, разумнее вместо цифры 15 поставить функцию strlen, которая узнает длину строки. Вот как это показано на примере ниже:

new string[20] = “pawno scripting”;
strdel(string,6, strlen(string));
printf(“%s”, string)
//выведет в консоли сервера “pawno”

А, что если нам нужно извлечь часть символов из строки. В этом нам поможет функция strmid.
Допустим, у нас есть две переменные, одна уже содержит текст, а другая пустая.
Пишем эту функцию, в скобках пишем имя переменной, в которую будет извлекаться часть строки, дальше через запятую пишем имя переменной, из которой будет извлекаться данная часть строки. А дальше через запятую номер символа, с которого начинается извлекаемая часть и номер символа, с которого извлекаемая часть заканчивается.

new string[20] = “pawno scripting”;
new test[20];
strmid(test, string,0, 5);
printf(“%s”, test) //выведет в консоли сервера “pawno”

Теперь разберем функцию поиска символов в строке – strfind.

Функция пишется следующим образом.

1 new instring = strfind("Are you in here?", "you", true);

Если cтрока найдена, функция возвращает вхождение строки, если нет, она возвращает –1.
А следующая функция strcmp, известна вам еще при создании простых команд.
Она сравнивает строки.

1 if(strcmp("/mycommand", cmdtext, true, 10) == 0)

strcmp – сравнивает два значения, в данном примере «/mycommand» с командой, которой игрок вводит в чат (cmdtext). Значение true означает нечувствительность к регистру.
Если мы напишем false, игрок должен будет соблюдать регистр букв при написании команды.

Ну и последняя функция strcat связывает несколько строк в одну.
Вот пример для демонстрации работы функции, я думаю, тут также не возникнет вопросов.

new string[20] = “pawno ”;
new test[20] = “scripting”;
strcat(string, test);
printf(“%s”, string);
//выведет в консоли сервера “pawno scripting”


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