Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Переменную типа Object привести к Number (http://www.flasher.ru/forum/showthread.php?t=128865)

bulya123 19.08.2009 13:00

Переменную типа Object привести к Number
 
Всем привет!
Возникла следующая проблема, нужно срочно решить, буду очень благодарен за ответы:drinks:

Задача наладить связь между два флэшками через LocalConnection, одна выступает в роли отправителя данных, другая в роли получателя и обработчика.

У отправителя есть текстовое поле phone_txt и кнопка send_btn. Пользователь воодит номер телефона и жмет на кнопку отправить, функция validPhone проверяет верность введенных данных и при нажатии на кнопку отправляет переменную REQUEST во вторую флэшку.

ОТПРАВИТЕЛЬ:
Код AS1/AS2:

phone_txt.border = true;
phone_txt.borderColor = 0x000000;
var REQUEST:XML;
 
var login_out:LocalConnection = new LocalConnection();
 
 
function validPhone(phoneNumber:String):Boolean {
        if (phoneNumber.length == 10 && isNaN(phoneNumber) == false) {
                return true;
        } else {
                return false;
        }
 
}
send_btn.onRelease = function() {
        if (validPhone(phone_txt.text) == true) {
                var REQUEST:XML = new XML("<request type=\"login\"><phone>"+phone_txt.text+"</phone></request>");
                login_out.send("login","phone",REQUEST);
                trace("отправили");
        } else {
                trace("ошибка");
                error_txt.text = "Телефон должен содержать 10 цифр";
        }
};

REQUEST отправляется в виде XML файла так надо:)

Вся проблема в получателе. В получателе содержиться табличка USERS с номерами телефонов, пин-кодами и именами абонентов.

ПОЛУЧАТЕЛЬ

Код AS1/AS2:

var USERS:Array = new Array(
[9035231127, 7777, "Петр Петрович", "Шлагбаум"],
[9034234233, 2343, "ВАСИЛИЙ", "ДУРАК"],
[9544665656, "Роман", "Трахтенберг"]
);
 
var k:Number = 0;
var login_in:LocalConnection = new LocalConnection();
 
login_in.connect("login");
login_in["phone"] = function (REQUEST:XML):Void {
 
 
        for (i=0; i<USERS.length; i++) {
 
                if (USERS[i][0] == REQUEST.firstChild.firstChild.firstChild) {
 
                        if(!isNaN(USERS[i][1])) {k=1; trace("1")} else {k=2; trace("2")}
                } else {k=3; trace("3")}
        }
};

Ошибка возникает при проверке на равенство введенного телефона и телефона из таблицы:
Код AS1/AS2:

USERS[i][0] == REQUEST.firstChild.firstChild.firstChild

Типы переменных не совпадают USERS[i][0] типа Number, а REQUEST.firstChild.firstChild.firstChild типа Object.

Первый вопрос почему так получилось?:)
Второй как поправить?:)

В принципе все. Всем заранее большое спасибо за ответы, с меня :drinks:

udaaff 19.08.2009 13:12

Код AS1/AS2:

REQUEST.firstChild.firstChild.firstChild.nodeValue


bulya123 19.08.2009 13:54

Большое, спасибо!
все гуд:)


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

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