Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 26.09.2008, 04:03
Mur4ik вне форума Посмотреть профиль Отправить личное сообщение для Mur4ik Найти все сообщения от Mur4ik
  № 1  
Ответить с цитированием
Mur4ik
ветеран форума

Регистрация: Sep 2008
Сообщений: 717
Записей в блоге: 4
Отправить сообщение для Mur4ik с помощью ICQ
По умолчанию проверка "Капчи" - задержка в коде

Есть у меня необходимость проверки капчи:

проверяю я так
Код:
function isDataCorrect():Boolean
{
	if (isCaptchaCorrect(_root.tCapcha.text) == false)
	{
		_root.MessageBox("ОШИБКА!!!", "Вы не правильно ввели код с изображения");
		getCaptcha(_root.cldrCaptcha);
		return false;
	}
        ....
        return true;
}
а вот функция проверки именно капчи
Код:
function isCaptchaCorrect(sCode:String):Boolean
{
	var oResponceData:Object = { };
	
	var sSend:String = '<?xml version="1.0" encoding="UTF-8"?><envelop type="captcha" session="' + $strSessionId + '" captcha_code="' + sCode + '" />';
	
	var xmlSend:XML = new XML(sSend);
	
	XMLParser.sendAndLoad(xmlSend, server_url, fnOnLoad, oResponceData, false, true);
	
	function fnOnLoad($bSuccess:Boolean, oResponceData:Object, $xmlOriginal:XML):Void
	{
		if ($bSsuccess) {
			echo("Капча: |>" + sCode + " - " + oResponceData.section[0].item[1].value);
			echo($xmlOriginal);
		} else {
			echo("Connection error");
		}
	}
	
	// TODO: вот тутачки нужно вставить задержку
	
	if (oResponceData.section[0].item[1].value == "correct") {
		echo("Капча: ||>" + sCode + " - " + oResponceData.section[0].item[1].value);
		return true;
	} else {
		echo("Капча: |||>" + sCode + " - " + oResponceData.section[0].item[1].value);
		return false;
	}
}
проблема в том что я проверяю oResponceData.section[0].item[1].value
тогда когда это значение еще не определено (не пришло с сервера),
как правильно в данном случае выдержать паузу перед этим фрагментом кода

или как вернуть значение функции isCaptchaCorrect(...) из fnOnLoad(...);

или какие вообще алгоритмы используются в подобных проверках
подскажите, пожалуйста....

З.Ы. В поиске рылся ничего подходящего для себя в данном случае
с исп. setInterval или setTimeout не нашел (или не сообразил)
__________________
trace("Остановите Землю, я сойду!!!");


Последний раз редактировалось Mur4ik; 26.09.2008 в 04:40.
Создать новую тему   Часовой пояс GMT +4, время: 17:10.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:10.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.