Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 30.10.2013, 14:52
grafillo! вне форума Посмотреть профиль Отправить личное сообщение для grafillo! Найти все сообщения от grafillo!
  № 1  
Ответить с цитированием
grafillo!

Регистрация: Sep 2011
Сообщений: 366
По умолчанию Создать комбоБокс с городами мира

Возникла задача создать две формы со странами и с городами мира, хочу сделать так чтобы не грузить сервер, а все города добавить в само приложение, на могу понять как сделать массивы городов и как их присваивать второй форме в зависимости от выбранной страны, со странами сделал так:
Код AS3:
import fl.controls.ComboBox;
import fl.data.DataProvider;
import flash.sampler.NewObjectSample;
 
var xml:XML = <items><item label="Россия" /><item label="Украина" /><item label="Абхазия" /><item label="Австралия" /><item label="Австрия" /><item label="Азербайджан" /><item label="Албания" /><item label="Алжир" /><item label="Ангола" /><item label="Ангуилья" /><item label="Андорра" /><item label="Антигуа и Барбуда" /><item label="Антильские о-ва" /><item label="Аргентина" /><item label="Армения" /><item label="Арулько" /><item label="Афганистан" /><item label="Багамские о-ва" /><item label="Бангладеш" /><item label="Барбадос" /><item label="Бахрейн" /><item label="Беларусь" /><item label="Белиз" /><item label="Бельгия" /><item label="Бенин" /><item label="Бермуды" /><item label="Болгария" /><item label="Боливия" /><item label="Босния/Герцеговина" /><item label="Ботсвана" /><item label="Бразилия" /><item label="Британские Виргинские о-ва" /><item label="Бруней" /><item label="Буркина Фасо" /><item label="Бурунди" /><item label="Бутан" /><item label="Валлис и Футуна о-ва" /><item label="Вануату" /><item label="Великобритания" /><item label="Венгрия" /><item label="Венесуэла" /><item label="Восточный Тимор" /><item label="Вьетнам" /><item label="Габон" /><item label="Гаити" /><item label="Гайана" /><item label="Гамбия" /><item label="Гана" /><item label="Гваделупа" /><item label="Гватемала" /><item label="Гвинея" /><item label="Гвинея-Бисау" /><item label="Германия" /><item label="Гернси о-в" /><item label="Гибралтар" /><item label="Гондурас" /><item label="Гонконг" /><item label="Гренада" /><item label="Гренландия" /><item label="Греция" /><item label="Грузия" /><item label="Дания" /><item label="Джерси о-в" /><item label="Джибути" /><item label="Доминиканская республика" /><item label="Египет" /><item label="Замбия" /><item label="Западная Сахара" /><item label="Зимбабве" /><item label="Израиль" /><item label="Индия" /><item label="Индонезия" /><item label="Иордания" /><item label="Ирак" /><item label="Иран" /><item label="Ирландия" /><item label="Исландия" /><item label="Испания" /><item label="Италия" /><item label="Йемен" /><item label="Кабо-Верде" /><item label="Казахстан" /><item label="Камбоджа" /><item label="Камерун" /><item label="Канада" /><item label="Катар" /><item label="Кения" /><item label="Кипр" /><item label="Кирибати" /><item label="Китай" /><item label="Колумбия" /><item label="Коморские о-ва" /><item label="Конго (Brazzaville)" /><item label="Конго (Kinshasa)" /><item label="Коста-Рика" /><item label="Кот-дИвуар" /><item label="Куба" /><item label="Кувейт" /><item label="Кука о-ва" /><item label="Кыргызстан" /><item label="Лаос" /><item label="Латвия" /><item label="Лесото" /><item label="Либерия" /><item label="Ливан" /><item label="Ливия" /><item label="Литва" /><item label="Лихтенштейн" /><item label="Люксембург" /><item label="Маврикий" /><item label="Мавритания" /><item label="Мадагаскар" /><item label="Македония" /><item label="Малави" /><item label="Малайзия" /><item label="Мали" /><item label="Мальдивские о-ва" /><item label="Мальта" /><item label="Мартиника о-в" /><item label="Мексика" /><item label="Мозамбик" /><item label="Молдова" /><item label="Монако" /><item label="Монголия" /><item label="Марокко" /><item label="Мьянма (Бирма)" /><item label="Мэн о-в" /><item label="Намибия" /><item label="Науру" /><item label="Непал" /><item label="Нигер" /><item label="Нигерия" /><item label="Нидерланды (Голландия)" /><item label="Никарагуа" /><item label="Новая Зеландия" /><item label="Новая Каледония о-в" /><item label="Норвегия" /><item label="Норфолк о-в" /><item label="О.А.Э." /><item label="Оман" /><item label="Пакистан" /><item label="Панама" /><item label="Папуа Новая Гвинея" /><item label="Парагвай" /><item label="Перу" /><item label="Питкэрн о-в" /><item label="Польша" /><item label="Португалия" /><item label="Пуэрто Рико" /><item label="Реюньон" /><item label="Руанда" /><item label="Румыния" /><item label="США" /><item label="Сальвадор" /><item label="Самоа" /><item label="Сан-Марино" /><item label="Сан-Томе и Принсипи" /><item label="Саудовская Аравия" /><item label="Свазиленд" /><item label="Святая Люсия" /><item label="Святой Елены о-в" /><item label="Северная Корея" /><item label="Сейшеллы" /><item label="Сен-Пьер и Микелон" /><item label="Сенегал" /><item label="Сент Китс и Невис" /><item label="Сент-Винсент и Гренадины" /><item label="Сербия" /><item label="Сингапур" /><item label="Сирия" /><item label="Словакия" /><item label="Словения" /><item label="Соломоновы о-ва" /><item label="Сомали" /><item label="Судан" /><item label="Суринам" /><item label="Сьерра-Леоне" /><item label="Таджикистан" /><item label="Тайвань" /><item label="Таиланд" /><item label="Танзания" /><item label="Того" /><item label="Токелау о-ва" /><item label="Тонга" /><item label="Тринидад и Тобаго" /><item label="Тувалу" /><item label="Тунис" /><item label="Туркменистан" /><item label="Туркс и Кейкос" /><item label="Турция" /><item label="Уганда" /><item label="Узбекистан" /><item label="Уругвай" /><item label="Фарерские о-ва" /><item label="Фиджи" /><item label="Филиппины" /><item label="Финляндия" /><item label="Франция" /><item label="Французская Гвинея" /><item label="Французская Полинезия" /><item label="Хорватия" /><item label="Чад" /><item label="Черногория" /><item label="Чехия" /><item label="Чили" /><item label="Швейцария" /><item label="Швеция" /><item label="Шри-Ланка" /><item label="Эквадор" /><item label="Экваториальная Гвинея" /><item label="Эритрея" /><item label="Эстония" /><item label="Эфиопия" /><item label="ЮАР" /><item label="Южная Корея" /><item label="Южная Осетия" /><item label="Ямайка" /><item label="Япония" /></items>;
var dp:DataProvider = new DataProvider(xml);	
var cb:ComboBox = new ComboBox();
cb.dataProvider = dp;
addChild(cb);
не делать же 200 xml массивов(

Старый 30.10.2013, 15:12
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 2  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
я бы посветил время на поиски готовых баз данных со странами.
Вам это в любом случаи надо и Вы будете искать или делать, поделитесь пожалуйста результатом.
Стран всего около 300..

Старый 30.10.2013, 16:30
grafillo! вне форума Посмотреть профиль Отправить личное сообщение для grafillo! Найти все сообщения от grafillo!
  № 3  
Ответить с цитированием
grafillo!

Регистрация: Sep 2011
Сообщений: 366
базы данных есть , просто не могу придумать как реализовать это всё в самом приложении без использования сервера

Старый 30.10.2013, 16:33
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 4  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Скачайте базу в xml или даже есть сайты, которые предоставляют базы xml, json.
И делайте с ними, что хотите.

Старый 30.10.2013, 17:31
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 5  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Цитата:
не делать же 200 xml массивов(
А какой набор полей вообще предполагается?

Нужно заранее подготовить хмл как говорит Akopalipsis, но сделать это можно очень по-разному.
Уточните задачу может кто-то что-то и подскажет.
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 30.10.2013, 17:38
grafillo! вне форума Посмотреть профиль Отправить личное сообщение для grafillo! Найти все сообщения от grafillo!
  № 6  
Ответить с цитированием
grafillo!

Регистрация: Sep 2011
Сообщений: 366
предполагается два комбобокса в первом выбираем страну и в зависимости какую страну выбрали во второй грузятся города

Старый 30.10.2013, 17:43
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 7  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
предполагается два комбобокса в первом выбираем страну и в зависимости какую страну выбрали во второй грузятся города
Это не проблема, её можно реализовать многими способами. Но в Вашем случаи нужно отталкиваться не от того, как Вам хочется, а от того, как Вы эти данные получите из скаченных баз. По этому прежде всего нужно найти максимально подходящею базу и уже потом покажите, как она устроена и Вам подскажут наиболее оптимальный вариант.

Старый 30.10.2013, 17:45
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 8  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Код:
<root>

	<country id="US" name="Unated States">
		<city id="ws" name="Washington"/>
		<city id="ws" name="Washington"/>
		<city id="ws" name="Washington"/>
	</country>
	<country id="UK" name="Ukraine">
		<city id="ws" name="Kyiv"/>
		<city id="ws" name="Dnipropetrovsk"/>
		<city id="ws" name="Odessa"/>
	</country>

</root>
можно как-то так.

Добавлено через 1 минуту
Переформатировать потом не проблема будет, но
Цитата:
от того, как Вы эти данные получите из скаченных баз
Тоже верно Так что гуглите да смотрите. Может вы сразу адекватный вариант найдете.

Добавлено через 8 минут
работа с моим примером будет выглядеть как-то так:
Код AS3:
 
countryCombo.dataProvider = fullXml.country;
//*****************
function onCountryComboChange(event:Event):void
{
    cityCombo.dataProvider = fullXml.country(@id == countryCombo.current.@id).city;
}
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 30.10.2013, 18:14
grafillo! вне форума Посмотреть профиль Отправить личное сообщение для grafillo! Найти все сообщения от grafillo!
  № 9  
Ответить с цитированием
grafillo!

Регистрация: Sep 2011
Сообщений: 366
как раз это и спрашивал, вот в том то и загвоздка что в комбо бокс нельзя преобразовать переменный типа иксэмэль лист, пишет TypeError: Error #1034: Ошибка типа Coercion: невозможно преобразовать XMLList@16b7ac11 в fl.data.DataProvider.

Старый 30.10.2013, 18:39
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 10  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Ну добавь туда еще две строки конвертации.
Не буду код показывать.
__________________
Кто к нам с чем для чего - тот у нас того от того.

Создать новую тему Ответ Часовой пояс GMT +4, время: 21:25.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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