Flash Lite 1.1 строковые функции

Загрузить рабочий .fla файл

Несколько примеров работы со строками в Flash Lite 1.1. Т.к стандартных функций не предусмотрено, — придется писать свои. Рассмотрим наиболее основные: перевод строки в нижний регистр, перевод строки в верхний регистр, нахождение позиции(номера) символа в строке, замена слова в строке, разбиение строки. Собственно их и будем реализовывать.
Написанные нами «функции» мы сможем вызывать из главной сцены, при помощи функции call(). Приступим к написанию первой из них — перевод строки в нижний регистр:
// input_str set by calling script
output_str = "";
len = length(input_str);
for (i=1; i64 && ord(let)<91)
let = chr(ord(let)+32);
output_str = output_str add let;
}

Перевод строки в верхний регистр:
output_str = "";
len = length(input_str);
for (i=1; i
{
let = substring(input_str, i, 1);
if (ord(let)>96 && ord(let)<123)
let = chr(ord(let)-32);
output_str = output_str add let;
}

Теперь попробуем найти позицию символа в строке:
thePos = -1;
len = length(input_str);
for (i=1; i
{
let = substring(input_str, i, 1);
if (let eq theChr)
{
thePos = i;
break;
}
}

ш в конце добавим скрипт для замены слова в строке:

output_str = "";
inputLen = length(input_str);
searchLen = length(search_str);for (i=1; i
{
inputChr = substring(input_str, i, 1);
searchChr = substring(search_str, 1, 1);

if(inputChr eq searchChr)
{
/**
* First character matches,
* attempting to match the rest of search_str
*/
matchFound = true;
pos = i;
k = 1;
for (j=pos; j
{
searchChr = substring(search_str, k++, 1);
matchChr = substring(input_str, j, 1);

if (!(searchChr eq matchChr))
{
matchFound = false;
break;
}
}

if (matchFound)
{
// Perform the replace
i += length(search_str)-1;
output_str = output_str add replace_str;
}
else
{
output_str = output_str add inputChr;
}
}
else
{
output_str = output_str add inputChr;
}
}

вот, собственно, это весь код, который нам понадобится, чтобы реализовать работу со строками. Осталось только на главной сцене сделать клип, войти в него и разместить на отдельных кадрах эти "функции". Затем на главной сцене в первом кадре пишем вызов. Например:

// lowercase
StringFunctions.input_str = "uSerNAMe";
call("StringFunctions:lowercase");
output = StringFunctions.output_str;
trace(output);

Добавить комментарий