Форум 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=99266)

kliger 01.08.2007 12:34

вызов файла по части имени
 
Добрый день!

Вот такой вопрос:
картинка загружалась из определенной папки и все работало хорошо.

loadMovie("images/" add area add "/" add text add "/" add "1680x1050/" add "image1.jpg", imagekontainer1);

(area и text - переменные, одна определяет верхнюю директорию, другая - связана со счетчиком и определяет порядок показа картинок: по номеру папки (1, 2, 3, 4 и т.д.).
Теперь задача изменилась: вызываемые файлы в папке называются не "image1.jpg", а, например "001_image1.jpg" или "033_image1.jpg" или "abc_image1.jpg"... То есть первая часть имени может быть различной, а часть "image1.jpg" остается. Что нужно изменить, чтобы все равно вызывался файл, где в имени есть "image1.jpg" независимо от первой части, то есть "замаскировать" первую часть имени файла?
Я не очень путанно объяснил?
С уважением и надеждой на ответ
Анатолий

iNils 01.08.2007 13:44

Самим флешом это не сделать. Есть локально, то надо обрачивать swf в exe старронними продуктами, которые имеют доступ к файловой системе, если на сервере, то сервер должен возращать точное имя.

aksios 01.08.2007 13:49

А если файлов будет 2 и более с разными первыми частями названия?
- Будет бяка.
Проще в ручную или скриптом сначало все файлы переименовать.
Или, если эти "приставки" все таки даются осознано, поставить перебор возможных имен.

kliger 02.08.2007 00:09

Я видимо все-таки плохо объяснил условия. Файл со второй частью "_image1.jpg" может быть только один, но неизвестно всякий раз, как выглядит первая часть имени (001 до 999). Папки, в которых лежат картинки, называются "1", "2" и т.д. Эти номера определяют последовательность показа картинок. Но какая именно картинка (001_ image1.jpg или 033_image1.jpg) лежит на этот раз в папке "1", неизвестно. Какая лежит, та и должна вызываться, независимо от первой части имени (другие картинки есть в папке тоже, есть и тексты, но они называются "033_image2.jpg", "044_text1.txt" и т.д., то есть вторая часть имени определена однозначно).
Спасибо и с уважением
Анатолий

CorC 02.08.2007 10:05

Берете MovieClipLoader, поставляете число перед заданной строкой, если error то нету файла, иначе грузится. И так по циклу

Kikasso 02.08.2007 10:14

Это может занять бешеное количество времени. А если на сервере кастомный error 404, то вы загрузите его (и файл будет).
Надо на серваке сканить папку и выдавать список доступных файлов.

screamge 02.08.2007 10:18

А если на стороне сервера создавать хмл файл с именами джпег картинок
и потом уже делать массив со стригами содержащими image1.jpg, ну и далее грузить файлы исходя из длины массива?

etc 02.08.2007 10:43

Цитата:

Сообщение от CorC
Берете MovieClipLoader, поставляете число перед заданной строкой, если error то нету файла, иначе грузится. И так по циклу

Угу. Как слепой щенок долбится по винту, выискивая файлы…
Такой подход — дикость.

kliger 02.08.2007 12:03

Спасибо всем, кто ответил!
Опять неточно объяснил:
1. вся эта штука, во всяком случае пока, размещена локально и с сервером не связана.
2. картинки ложатся в папки не динамично, т.е. администратор знает, какую картинку в он положил в 1-ю папку, какую во вторую и т.д., но имена и порядок картинок могут меняться от раза к разу.

Так как у меня есть переменная "text", которая связана со счетчиком, то я сделал текстовый файл с переменными (mov1=033&mov2=045&...), где mov1, mov2... это пременные, связанные с "text", а 033, 045... это первая часть имени картинки. Таким образом, устанавливается порядок их показа. Это работает, но элегантным это решение назвать никак нельзя.
Я думал, есть какая-то функция, типа SQL апроса, где я мог бы "отключить" первые 3 знака и искать только по последней части имени файла, так как она однозначна и не повторяется в пределах папки...

CorC 03.08.2007 10:41

Если есть файл с порядком и номерами, то LoadVars вам в руки. Хотя лучше б ХМЛ.


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

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