Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как узнать, существует ли файл? (http://www.flasher.ru/forum/showthread.php?t=117287)

Crash512 23.10.2008 16:47

Как узнать, существует ли файл?
 
Флешка должна подгружать XML файлы. Имеется имя файла... Если данного файла не существует, то должен загрузиться файл по умолчанию (какой-нить "default.xml"). Как сие реализовать?

Alex Lexcuk 23.10.2008 17:21

Код:

var myLoader:Loader = new Loader();
var count_try:int;
var myRequest:URLRequest =  new URLRequest("http://www.dnadillo.dn.ua/fla/cat_.swf");
myLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
try_load();
function try_load() {
        try {
                myLoader.load(myRequest);
                addChild(myLoader);
        } catch (error:Error) {
        }
}
function ioErrorHandler(event:IOErrorEvent):void {
        count_try++;
        if (count_try<2) {
                trace("error (нету его)"+myRequest.url);
                trace("попытка номер "+count_try);
                myRequest.url =  "http://www.dnadillo.dn.ua/fla/cat.swf";
                try_load();
        }
}


Crash512 23.10.2008 21:17

Чёрт... Не в том разделе написал, мне надо AS2.0... Попробую адаптировать=))

_Smirnoff 24.10.2008 00:30

к [Alex Lexcuk] не хочу укорять, но я за красивое форматирование и оригинальные название переменных и функция. У Вас отвратительный стиль написания кода, даже не смотря, что это пример. var myLoader, лоадер может быть чужой? там yourLoader, если не хватает фантазии называем просто loader:Loader, без фанатизма.Далее, название функции try_load, не стоит вставлять символ подчеркивание в название метода, подчеркивания, только в константах и в ресурсах.
Даешь на flasher.ru примеры кода с нормальными именованиями и форматированием!
Не огорчайся!

Пример от меня, обсуждаем!

Код:

private var _loader:Loader = new Loader();
private var _loadAttempCount:int = 0;
private var _urlRequest:URLRequest = null;

private function simpleFunction():void
{   
    _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onIOErrorHandler);   
    _urlRequest =  new URLRequest("http://www.dnadillo.dn.ua/fla/cat_.swf");

    tryLoad();
}

private function tryLoad():void
{
    try
    {
        _loader.load(_urlRquest);
        addChild(_loader);
    }
    catch (error:Error)
    {
    }
}

private function onIOErrorHandler(event:IOErrorEvent):void
{
    _loadAttempCount++;
 
    if  (_loadAttempCount < 2)
    {
        trace("error (нету его)" + _urlRequest.url);
        trace("попытка номер " + _loadAttempCount);
        _urlRequest.url =  "http://www.dnadillo.dn.ua/fla/cat.swf";
        tryLoad();
    }
}


elmortem 24.10.2008 01:16

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

_Smirnoff
Фигня какая, каждый пишет так, как ему потом удобнее читать. Я вот никогда не называю методы классов с маленькой буквы и всегда разделяю слова в названиях параметров подчёркиванием и вообще пишу их в нижнем регистре. Мне так удобнее читать. Я считаю, что у меня очень красивые исходные коды с "правильным" форматированием. При этом я никому свой стиль не навязываю. Мне он подходит, кому-то, возможно, нет. Стиль этот у меня и в Delphi и в C++: AS2\3 так же не стал исключением. Харе фигнёй страдать и придираться к примерам... (:

mre 24.10.2008 01:21

elmortem, а в команде никогда не планируете работать?

_Smirnoff 24.10.2008 11:15

к [elmortem] видимо ты пишешь только для себя "Мне так удобнее читать". Код нужно писать понятный всем.

Felicast 25.10.2008 22:43

Цитата:

Сообщение от mre (Сообщение 772563)
elmortem, а в команде никогда не планируете работать?

ну вообще у команды могут быть приняты разные стандарты. так уж получилось, что я пишу в основном на C# и для меня привычнее другое оформление: там все с большой буквы, кроме переменных (к томуже не рекомендовано использование публичных переменных - все через геттеры и сеттеры)
хотя согласен, что для АС лучше придерживаться рекомендаций Адоб. легче потом в чужом коде разбираться и свой показывать:)

divinus 26.10.2008 02:04

Цитата:

к томуже не рекомендовано использование публичных переменных - все через геттеры и сеттеры
в AS такое думаю тоже приветствуется :)

wvxvw 26.10.2008 02:41

>> в AS такое думаю тоже приветствуется
Смотря где... если это свойство планируется, или вообще возможно в будущем / классе наследнике нужно будет "слушать" и реагировать на изменения - тогда да, а если нет - это просто добавить 1 лишний вызов функции, и скорее даже вредно.


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

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