Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   прочесть имя swf файла в переменну ... - ? (http://www.flasher.ru/forum/showthread.php?t=64894)

digi-est 15.11.2004 21:19

прочесть имя swf файла в переменну ... - ?
 
Privet,
Nau4ite pozailusta 4itat imja .swf faila v peremenuju?! :)

ja pitajus tak:
Код:

a = this._url.length;
trace(a);
if(id==undefined){
d = this._url.slice((a-6), (a-4))
ndex = d
} else {
        ndex=id
}

,no ne polu4aetsja...
hotja v ideale, hotelos bi 4to bi v peremennuju(id) zanesti mozno bilo vse znaki do naprimer znaka "-"

Esli imja faila(naprimer): flash-23.swf
to vilovit hotelos bi eto 23(no pri etom eto mozet bit i ne 23, a skazem 123 ili 00123).

Probival tak:

Код:

a = this._url.length;
if(id==undefined){
        d = a.split("-");
        d2 = d.slice((d),(d-4));
ndex = d2
} else {
        ndex=id
}

..., vsjo ravno ne rabotaet, pomogite pozailusta
Zaranie blagodaren!

Iv 15.11.2004 23:33

_root.addProperty("filename", function () {
return unescape(this._url.split("/").pop());
}, null);
_root.getNumber = function (delimiter) {
return _root.filename.split(".")[0].split(delimiter)[1]
}
trace(_root.getNumber("-"));

digi-est 16.11.2004 01:40

mozno glupii vopros, kak eto rabotaet?

trace vidajot sledushee:
name=onLoadthis name=[type Function]


(srazu izvenjajus esli glupost sprashivaju, do etogo ne vstre4al takogo roda kod)

Iv 16.11.2004 14:42

я не совсем понял, это к этому же вопросу?

если у тебя есть функция onLoad, то выражением
name=onLoad
ты присваиваешь переменной name ссылку на функцию и в трейсе получаешь [type Function]. так и должно быть.

как это работает:

// создаем пользовательское свойство "filename", задаем get-обработчик, set-обработчик не нужен: null
_root.addProperty("filename", function () {
// сплитуем url и берем последний элемент, заодно конвертируем эскейпнутые символы
return unescape(this._url.split("/").pop());
}, null);
// теперь при обращении к свойству "filename" возвращается имя файла.

// теперь нам нужно получить "номер" файла
// для этого пишем метод, в котором
_root.getNumber = function (delimiter) {
// разбиваем по точке и берем первый элемент массива
// этот элемент в свою очередь разбиваем по разделителю, указанному в аргументах и берем второй элемент.
return _root.filename.split(".")[0].split(delimiter)[1]
}

// всё. тестируем.
trace(_root.filename);
trace(_root.getNumber("-"));


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

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