Просмотр полной версии : старый вопрос
andrey2003
29.08.2004, 13:31
возможно такой вопрос уже был, но всеравно
ответте, кто знает как сделать, что бы после набора
определенного слова или набора символов в динамическом
поле осуществлялся переход на указанный фрейм?
начинающий
29.08.2004, 17:03
password.onChanged = function()
{
if(password.text=='123')
trace('Autorized')
}
Да, а что значит в динамическом
поле? В смысле DynamicText? А разве в поля, кроме Input Text можно вводить текст?
var i = 0;
_global.key = "bingo";
_root.createTextField("o",1,0,0,120,20)
arr = ['as', 'add', 'object', 'bingo'];
id = setInterval(function ()
{
o.text = arr[i++];
if (i == arr.length) {
clearInterval(id);
}
}, 500);
onEnterFrame = function ()
{
if (o.text == key) {
trace("i find");
delete onEnterFrame;
}
};
_global.key = "bingo";
_root.createTextField("o",1,0,0,120,20)
o.type = "input"
o.border = true
o_listener = {}
o_listener.onChanged = function (){
if (o.text == key){
trace(';)')
o.removeListener(this)
}
}
o.addListener(o_listener)
andrey2003
29.08.2004, 17:42
спасибо!
насчет Dinamic text я просто перепутал название, я имел ввиду input text ;)
-----------------------------------------------------------------------------------
а как сделать, чтобы из набора слов (я слова буду использовать вместо пароля) выбирались только определенные комбинации ?
сейчас поясню:
к примеру нужно ввести "stop time" ,
а я ввожу "stop this time now"
тоесть если присутствует комбинация слов "stop time",
то чтобы выводилась в другом текстовом поле (динамическом)
надпись "autorization successfull"
PS
а можно, сделать чтобы не считались некоторые символы??
тоесть я пишу stop, а нужно без запятой - stop, чтобы flash`ka
запятую не воспринимала.
String.prototype.search = function()
{
var $array = [], find = 0;
$array = this.split(" ");
for (var item in arguments) {
for (var $item in $array) {
if (arguments[item] == $array[$item]) {
++find;
}
}
}
return (find == arguments.length ? true : false);
};
_root.createTextField("o", 1, 0, 0, 120, 20);
o.type = "input";
o.border = true;
// не воспринимает всё что после ^
o.restrict = "^.,";
o_listener = {};
o_listener.onChanged = function()
{
// TextField.text.search( перечисляем в кавычках через запятую искомые слова )
if (o.text.search("stop","time")) {
// то, что произойдёт если найдёт
_root.createTextField('autorize',2,50,50,200,21)
autorize.text = "autorization successfull"
// убираем слушатель, на случай что бы действия не повторялось
o.removeListener(this);
}
};
o.addListener(o_listener);
artfla$her
29.08.2004, 21:24
str = "блин куча";
your = "Это вообще блин куча слов"
if(your.indexOf(str)>0) trace("Авторизация :), комбинация '"+your.substr(your.indexOf(str), str.length)+"'");
Если я правильно тебя понял )
str - нужная комбинация, your - твой ввод.
А удалить ",", например, можно substr(index1, index2) совместно с indexOf(str, index). Если же тебе надо сделать "умное" удаление, т.е. удалять только в определенном сочетании, то его перед этим надо найти, а потом, зная индекс первого символа, искать и килять ненужные символы.
насчет Dinamic text я просто перепутал название, я имел ввиду input text
А разве любой объект, который может менять свое значение хотя бы через код, не является динамическим? ;) Input тоже ведь динамичен, иначе его назвали бы static-ом, по-моему ))))
Оригинал написал(а) artfla$her
str = "блин куча";
your = "Это вообще блин куча слов"
if(your.indexOf(str)>0) trace("Авторизация :), комбинация '"+your.substr(your.indexOf(str), str.length)+"'");
твой поиск не корректно работает.
задача была такова:
к примеру нужно ввести "stop time" ,
а я ввожу "stop this time now"
тоесть если присутствует комбинация слов "stop time"
А разве любой объект, который может менять свое значение хотя бы через код, не является динамическим? ;) Input тоже ведь динамичен, иначе его назвали бы static-ом, по-моему ))))
я думаю, что он имел ввиду type.
artfla$her
29.08.2004, 21:56
Сорри
str = "stop time";
your = "stop this time now"
words = str.split(" ");
count = words.length;
repeat = 0;
for(i=0; i<count; i++){
if(your.indexOf(words[i])>=0) {
repeat++;
}
}
if(repeat==count)trace("ok")
artfla$her
29.08.2004, 21:57
Ай, млин, тут даже и count-то никчему)))
Оригинал написал(а) artfla$her
Ай, млин, тут даже и count-то никчему)))
ты вообще видел что я написал 5 постов назад ?
artfla$her
29.08.2004, 23:43
:D :D :D :D :D :D :D
Я аж до колик хохотал :D Во я млин дурак :D :D Извини еще раз, просто времени не было читать все ответы, вот я сразу и написал о насущном :D :D :D В следующий раз буду читать :D
YuriiZelenev
30.08.2004, 05:03
createTextField("t",1,0,0,120,20);
createTextField("r",2,120,0,120,20);
t.type="input",t.border=r.border=true;
words=["stop","time"];
tLstn={}
t.addListener(tLstn);
tLstn.onChanged=function(){
for(var i=0,l=words.length,k;i<l;i++){
if(t.text.indexOf(words[i])!=-1){
k++;
}
}
if(k==2){
r.text="autorization successfull";
t.removeListener(this);
}
}
YuriiZelenev
30.08.2004, 06:54
createTextField("t",1,0,0,120,20);
createTextField("r",2,120,0,120,20);
t.type="input",t.border=r.border=true;
words=["stop","time"];
tLstn={}
t.addListener(tLstn);
chkTxt=function(){
for(var i=0,l=words.length,k;i<l;i++){
if(t.text.indexOf(words[i])!=-1){
k++;
}
}
if(k==2){
r.text="autorization successfull";
t.removeListener(this);
}
}
tLstn.onChanged=function(){
chkTxt();
}
/// Test for lazy people:
var type="stop this time now",l=type.length,i=0;
onEnterFrame=function(){
if(i!=l){
t.text+=type.charAt(i);
}else{delete this.onEnterFrame;}
i++,chkTxt();
}
YuriiZelenev
и чего ни кто не видит мой пост 29-08-2004 19:14 ???
там ведь, уже всё реализовано!
artfla$her
30.08.2004, 13:19
Всем лень читать :) Ладно, тебе-то какая разница - пускай будет куча вариантов поиска ;) Может тут конкурс негласно открыт на лучший код? :D :D :D
TextField.prototype.check = function()
{
var $search = [], $find = 0;
$search = arguments[0].split(" ");
for (var item in $search) {
if (this.text.indexOf($search[item]) != -1) {
++$find;
}
}
return ($find == $search.length ? true : false);
};
_root.createTextField("pass", 1, 0, 0, 120, 20);
pass.type = "input";
pass.border = true;
pass.restrict = "^.,";
pass_listener = {};
pass_listener.onChanged = function()
{
if (pass.check("stop time")) {
_root.createTextField('autorize', 2, 50, 50, 200, 21);
autorize.text = "autorization successfull";
pass.removeListener(this);
}
};
pass.addListener(pass_listener);
YuriiZelenev
немного дороботал, по твоему способу.
artfla$her
это точно.
andrey2003
31.08.2004, 05:30
Огромадное всем СПАСИБА, теперь кодов поиска хоть (извиняюсь) Ж**ой ешь! есть из чего выбрать!!!
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.