У меня есть внешний файл журнала, имя которого меняется каждый сеанс в формате XXXXX.log
Мне нужно загрузить его внутри SWF-файла, чтобы показать его данные, но каждый раз, когда имя журнала отличается, мне нужно открыть .fla, изменить имя файла и затем повторно опубликовать SWF.
Итак, я сделал простой скрипт для загрузки другого .txt, чтобы вручную ввести в него номер 5 имени журнала и загрузить его внутри swf:
var logNumLoader:URLLoader = new URLLoader();
logNumLoader.dataFormat=URLLoaderDataFormat.VARIABLES;
logNumLoader.addEventListener(Event.COMPLETE, loadedLogNum);
logNumLoader.load(new URLRequest("infoLogNum.txt"));
function loadedLogNum(e:Event):void {
trace(e.target.data.logNum); // HOW TO GET THE VALUE OF logNum... *(see below)
}
"infoLogNum.txt" содержит только переменную, которая представляет собой имя .log, введенное вручную, например:
logNum=12345
Этот скрипт отлично работает, так как выводит значение переменной, в данном случае «12345».
Но мне нужно, чтобы это значение "logNum" было передано в другую функцию, которая загружает и открывает XXXXX.log (см. Код внизу):
...
var tracksLoader:URLLoader = new URLLoader();
tracksLoader.addEventListener(Event.COMPLETE,onTracksLoaded);
tracksLoader.addEventListener(IOErrorEvent.IO_ERROR,onTracksError);
tracksLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR,onTracksError);
loadTracks();
function onTracksLoaded(e:Event):void {
trace("onTracksLoaded");
parseTracks(tracksLoader.data);
reload.start();
}
function onTimer(event:TimerEvent):void{
loadTracks();
}
function onTracksError(e:Event):void {
trace("onTracksError", e);
reload.start();
}
function loadTracks():void {
tracksLoader.load(new URLRequest(logNum+".log")); // (*) ...AND SET THE logNum VALUE HERE
}
Хотя я не могу присвоить значение logNum последней функции, файл .log открыть нельзя.
Понятия не имею, как заставить это работать. Есть идеи, пожалуйста?
ТИА.