Форум 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)
-   -   Цыклический поиск фалов! почему не получается? (http://www.flasher.ru/forum/showthread.php?t=134342)

deman455 27.12.2009 16:52

Цыклический поиск фалов! почему не получается?
 
Вот мой код в флешке :
Код AS1/AS2:

for (var i=0; <= 1000; i++){
        xml = new XML();
        xml.ignoreWhite = true;
        xml.onLoad = function (ok){
                if(ok){
                text += this.childNodes[0].childNodes[0].attributes.text;
                text += this.childNodes[0].childNodes[1].attributes.text;
                _root.all.text = Number(_root.all.text) + 1; //количество файлов film[i]
        }
};
xml.load("film"+_root.all.text+".xml");
}

Суть проблемы: Я хочу чтобы этот цыкл проверял есть ли файл film1.xml/film2.xml/film3.xml/ и тд. в моей папке. Иными словами, чтобы цыкл прощитывал количество файликов film учитывая то что film с каждым разом на +1 больше.
Вот это у меня не получилось( Помогите пожалуйсто!

Hauts 27.12.2009 17:01

Цикл пишется через "и".

Может проще будете к пхп-скрипту обращаться, который вашей флэшке вернет одну xml-ку, собраную из всех, что есть в папке, где вы их ищете?

Напишите "var" перед xml = new XML(); и вставьте в тело цикла загрузку xml, чтобы проверить, есть ли файл.

iflamberg 27.12.2009 17:10

Цитата:

и xml.load("film"+_root.all.text+".xml"); вставьте в тело цикла.
и получится черти что. Эта хрень создаст 1000 соедиений, чтобы проверить наличие 10и файликов и вернуть 990 ошибок.

mooncar 27.12.2009 17:17

Если флешка на сервере, все нужно организовать средствами PHP.
В PHP: функции readdir(), file_existst() и цикл while вам в помощь.

deman455 27.12.2009 17:53

Цитата:

Сообщение от Hauts (Сообщение 875583)
Напишите "var" перед xml = new XML(); и вставьте в тело цикла загрузку xml, чтобы проверить, есть ли файл.

Чо ты гониш, не обязательно ОШИБКА БЫЛА ТУТ
Код AS1/AS2:

for (var i=0; i <= 1000; i++){ // <<<<<< Я ЗАБЫЛ i ПОСТАВИТЬ ! перед <=1000 .
        for (var i=0; i <= 1000; i++){
        xml = new XML();
        xml.ignoreWhite = true;
        xml.onLoad = function (ok){
                if(ok){
                text += this.childNodes[0].childNodes[0].attributes.text;
                text += this.childNodes[0].childNodes[1].attributes.text;
                _root.all.text = Number(_root.all.text) + 1;
 
        }
};
xml.load("film"+i+".xml"); // Все нормально считыва с 990 ошибками :D
}

Цитата:

Сообщение от iflamberg (Сообщение 875587)
и получится черти что. Эта хрень создаст 1000 соедиений, чтобы проверить наличие 10и файликов и вернуть 990 ошибок.

Да вы правы. 1000 соеденений в милисекунуду, без багов все и нормально.

Все очень хорошо находит. Количество файло. Пре max 1000 . и без php обойтись можно.

Но назрел другой вопрос.
Вот есть число по адрессу _root.Num.text скажем "1" или 2
Код AS1/AS2:

xml.load("film"+_root.Num.text+".xml");

Знаю что бред. Как заменить ?
Мне надо чтобы число из _root.Num.text попало в название файла film1.xml film2.xml и тд

Hauts 27.12.2009 18:06

Правила читали?
Цитата:

Чо ты гониш, не обязательно ОШИБКА БЫЛА ТУТ
Запрещается:
Брань на любом языке, оскорбления, насмешки и любые другие унижающие достоинство высказывания, переход на личности в споре.

"вставьте в тело цикла загрузку xml, чтобы проверить, есть ли файл" — ошибся, понял. Из-за форматирования вашего кода в первом сообщении.

AlexCooper 27.12.2009 18:58

Код AS1/AS2:

xmlURL="film"+_root.Num.text+".xml";
xml.load(xmlURL);

или я не понял вопроса?
Еще хотелось бы пару слов добавить по первому посту.
1: Если нумерация хмл идёт по очерёдности, логичным было б после первой ошибке использовать команду Break
2: Но пакеты бывают теряются, самым оптимальным мне кажется будет создание основного хмл, который будет хранить линки.


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

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