Поиск в SongList
|
|
DEMBEL | Дата: Суббота, 10 Сентября 2011, 18:06 | Сообщение # 31 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| да это я так просто... можно и с ммб состряпать
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Drimuchiy | Дата: Воскресенье, 11 Сентября 2011, 14:38 | Сообщение # 32 |
Любопытный
Группа: Пользователи
Сообщений: 36
Репутация: 0
Награды: 0
Статус: Offline
| Ладно примеры у меня есть. Попробую что нибудь придумать! Добавлено (11 Сентябрь 2011, 14:38) --------------------------------------------- Чо то я не пойму ни как. Можно каким то образом добавить из html страницы в список информацию. Скажем на html странице есть картинка темы а ниже сслыка. Пользоатель нажимает на эту ссылку и полный путь к файлу (E:\Всё для телефона\База с контентом\THEMS\Sony Ericsson\Sony_files\1.thm) добаляеться в список. что бы потом пользоатель программе нажал заказать и файл скопировался.
|
|
| |
DEMBEL | Дата: Воскресенье, 11 Сентября 2011, 15:06 | Сообщение # 33 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| справку открываем, примеры в папке Samples открываем (495_examples\html\htmlObjectsTrick.mbd)...
Code <a href="script:Script">Run Script</a>
так мы запустим скрипт Script кликнув на ссылку, и все нам больше ничего не надо... в Script пропишем все что душе угодно. Есть опыт в JavaScript? Лепим запуск скрипта на любое событие и обьект на странице.
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Drimuchiy | Дата: Воскресенье, 11 Сентября 2011, 15:17 | Сообщение # 34 |
Любопытный
Группа: Пользователи
Сообщений: 36
Репутация: 0
Награды: 0
Статус: Offline
| Это я понял. я это знал. Проблема в том. Что если админ захочет изменить html страницу. то придется и скрипт в mmb переделывать. а я бы хотел чтобы программа была независима Добавлено (11 Сентябрь 2011, 15:17) --------------------------------------------- Есть тогда такой вопрос. Я знаю как добавить файлы список. но к сожалению просматреть вид темы для телефона через список невозможно. Можно как то объеденить что ли рисунок темы и сам файл. то есть чтобы скажем в список загрузились картинки. но при этом если пользователь нажмет заказать то скопируеться не картинка а именно файлик самой темы. и чтобы админу не пришлось при добавлении тем в папку лазить в самом коде
|
|
| |
DEMBEL | Дата: Воскресенье, 11 Сентября 2011, 15:40 | Сообщение # 35 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| в список картинки не могут загрузиться. обычно рядом со списком делается обьект Картинка, в который грузится скриншот выбранной в списке темы
как связать файл и картинку? тут может быть много вариантов и все они очевидны, самый простой по названию файла. Если например выбран в списке файл c:\themes\MyTheme.thm то грузим картинку c:\pictures\MyTheme.jpg, это универсальный вариант, myTheme здесь как переменная.
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Drimuchiy | Дата: Воскресенье, 11 Сентября 2011, 15:56 | Сообщение # 36 |
Любопытный
Группа: Пользователи
Сообщений: 36
Репутация: 0
Награды: 0
Статус: Offline
| Немного понятно. немогли бы вы примерчик кинуть в MMB Добавлено (11 Сентябрь 2011, 15:56) --------------------------------------------- Сделал так. Code ListBoxGetSelectedItems("SongList","Items$,ItemsNum$,#,NumItems") For i=1 To NumItems n$ = GetArrayItem(ItemsNum$,#,i) n = VAL(n$) image$=seldir$+'\ '+CHAR(n)+'.jpg' ReplaceImage("Image","image$") Next i Но беда в том, что после \ надо ставить пробел, а у меня нет пробела в имени.
|
|
| |
DEMBEL | Дата: Воскресенье, 11 Сентября 2011, 16:04 | Сообщение # 37 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| целый сайт примерчиков перед глазами
http://mmbuilder.ru/load/projects/spares/30-1-0-386
и вообще изучите содержимое http://mmbuilder.ru/load/projects/spares/30 этого раздела найдете ответы на все свои вопросыДобавлено (11 Сентябрь 2011, 16:04) ---------------------------------------------
Quote (DEMBEL) Но беда в том, что после \ надо ставить пробел да? замените двойным слешем '\\' или попробуйте вставить как спецсимвол CHR(92) точно не помню как эти проблемы со слешем решались
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Drimuchiy | Дата: Воскресенье, 11 Сентября 2011, 16:05 | Сообщение # 38 |
Любопытный
Группа: Пользователи
Сообщений: 36
Репутация: 0
Награды: 0
Статус: Offline
| Я уже давно реализовал загрузку картинок из списка. Я другое не могу понять. Я в список гружу файлы тем. и при нажатии хочу чтобы вывелся рисунок сделал вот так Code ListBoxGetSelectedItems("SongList","Items$,ItemsNum$,#,NumItems") For i=1 To NumItems n$ = GetArrayItem(ItemsNum$,#,i) n = VAL(n$) image$=seldir$+'\ '+CHAR(n)+'.jpg' ReplaceImage("Image","image$") Next i Но в имени файла после слеша пробел. его можно как то убрать?
|
|
| |
DEMBEL | Дата: Воскресенье, 11 Сентября 2011, 16:10 | Сообщение # 39 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| Quote (Drimuchiy) его можно как то убрать? вопрос не понял, что вам мешает его убрать?
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Drimuchiy | Дата: Понедельник, 12 Сентября 2011, 17:07 | Сообщение # 40 |
Любопытный
Группа: Пользователи
Сообщений: 36
Репутация: 0
Награды: 0
Статус: Offline
| Если написать так image$=seldir$+'\'+CHAR(n)+'.jpg' то выдает ошибку.Добавлено (12 Сентябрь 2011, 17:07) --------------------------------------------- Сделал вот так Code ListBoxGetSelectedItems("SongList","Items$,ItemsNum$,#,NumItems") For i=1 To NumItems n$ = GetArrayItem(ItemsNum$,#,i) n = VAL(n$) image$=seldir$+'\\'+CHAR(n)+'.jpg' ReplaceImage("Image","image$") Next i Но проблема в том что так се работает если файлы имеют названия в виде цифр. А если скажем файл имеет название (a), то есть слово. то уже не работает. может это как то можно исправить
|
|
| |
DEMBEL | Дата: Понедельник, 12 Сентября 2011, 17:17 | Сообщение # 41 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| этот вопрос надо по другому решать. зачем вы лепите извращения, когда можно сопоставить напрямую по имени файла строку в списке и картинку? просто картинка будет с другим расширением и/или находиться в другом месте.
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Drimuchiy | Дата: Понедельник, 12 Сентября 2011, 17:19 | Сообщение # 42 |
Любопытный
Группа: Пользователи
Сообщений: 36
Репутация: 0
Награды: 0
Статус: Offline
| Так вот именно это я сделать и не могу. То есть мне надо сравнивать номер в списке и в папке где лежат файлы. Я этот код написал по примеру как вы и посоветовали
|
|
| |
DEMBEL | Дата: Понедельник, 12 Сентября 2011, 17:25 | Сообщение # 43 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| Quote (Drimuchiy) То есть мне надо сравнивать номер в списке и в папке в списке лежит что, пути к файлам, правильно? что мешает достать из строки с путем файла его имя и подставить это имя в алгоритм нахождения нужной картинки? по номеру в списке бестолку чтото определять, там может оказаться что угодно, алгоритм будет неуниверсальным.
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Drimuchiy | Дата: Понедельник, 12 Сентября 2011, 17:26 | Сообщение # 44 |
Любопытный
Группа: Пользователи
Сообщений: 36
Репутация: 0
Награды: 0
Статус: Offline
| А если так Code
ListBoxGetItems("SongList","Items$,NumItems$,|,Count") seldir$='E:\Всё для телефона\База с контентом\THEMS\1' For i=1 To Count Item$=GetArrayItem(Items$,|,i) Name$=ExtractName(Item$) Name1$=seldir$+’\\’+Name$+’.jpg’ If (Name$,Name1$)<>0) Then ReplaceImage("Image","Name1$") End Next i
|
|
| |
DEMBEL | Дата: Понедельник, 12 Сентября 2011, 17:27 | Сообщение # 45 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| об этом я вам говорю уже второй день, допиливайте скрипт...
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Drimuchiy | Дата: Понедельник, 12 Сентября 2011, 17:33 | Сообщение # 46 |
Любопытный
Группа: Пользователи
Сообщений: 36
Репутация: 0
Награды: 0
Статус: Offline
| Сделал так. и все работает. Спасибо за наставление Code
ListBoxGetSelectedItems("SongList","Items$,NumItems$,|,Count") seldir$='E:\Всё для телефона\База с контентом\THEMS\1' For i=1 To Count Item$=GetArrayItem(Items$,|,i) Name$=ExtractName(Item$) Name1$=seldir$+'\\'+Name$+'.jpg' ReplaceImage("Image","Name1$") Next i Добавлено (12 Сентябрь 2011, 17:33) --------------------------------------------- Спасибо что не стали сами писать скрипт. Намного приятней добиться решения самому
|
|
| |
DEMBEL | Дата: Понедельник, 12 Сентября 2011, 17:43 | Сообщение # 47 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| вставьте необходимые условия, если вдруг картинки не существует, показывайте какую-нибудь другую как заставку, и так все остальные ошибочные случаи просчитайте.
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Drimuchiy | Дата: Понедельник, 12 Сентября 2011, 17:50 | Сообщение # 48 |
Любопытный
Группа: Пользователи
Сообщений: 36
Репутация: 0
Награды: 0
Статус: Offline
| У меня в дипломе есть такой документ как руководство администратора. Я там пропишу что администратор должен Обязательно создавать соответсвующий файл картинуи для темы с тем же именем что и тема.
|
|
| |
DEMBEL | Дата: Понедельник, 12 Сентября 2011, 17:56 | Сообщение # 49 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| разумнее прописать наличие в папке картинок файла заставки по умолчанию, скажем no_image.jpg и перенаправлять на этот файл при отсутствии нужного. к чему ограничивать админа, он может не захотеть создавать превьюшки, или это трудоемко при их большом кол-ве, получается пока не будут все превьюшки проект не будет работать, таких ограничений следует избегать. А файл картинки по умолчанию можно внедрить в проект и показывать никого не спрашивая вообще
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Drimuchiy | Дата: Понедельник, 12 Сентября 2011, 18:44 | Сообщение # 50 |
Любопытный
Группа: Пользователи
Сообщений: 36
Репутация: 0
Награды: 0
Статус: Offline
| Ну да. Хорошая идея. Спасибо за совет Добавлено (12 Сентябрь 2011, 18:18) --------------------------------------------- Сделал так и не совсем работает Code ListBoxGetSelectedItems("SongList","Items$,NumItems$,|,Count") image$='<Embedded>\No_Image.jpg' For i=1 To Count Item$=GetArrayItem(Items$,|,i) Name$=ExtractName(Item$) Name1$=seldir$+'\\'+Name$+'.jpg' Name2$=ExtractName(Name1$) If (Name$=Name2$) Then ReplaceImage("Image","Name1$") Else ReplaceImage("Image","image$") End Next i Если файлы с картинками есть все грузит. а если нет картинки для темы то пишет не могу загрузить картинку. И выдает полный путь к файлу картинки с названием темы.Добавлено (12 Сентябрь 2011, 18:44) --------------------------------------------- Сделал так Code ListBoxGetSelectedItems("SongList","Items$,NumItems$,|,Count") For i=1 To Count Item$=GetArrayItem(Items$,|,i) Name$=ExtractName(Item$) Name1$=seldir$+'\\'+Name$+'.jpg' FileExist("Name1$","check") If (check=1) Then ReplaceImage("Image","Name1$") Else RunScript("Start") End Next i все работает
|
|
| |
DEMBEL | Дата: Понедельник, 12 Сентября 2011, 18:55 | Сообщение # 51 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| чтото намудрили... Quote (Drimuchiy) все работает а где команды загрузки дефолтного изображения, в скрипте Start?
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Drimuchiy | Дата: Понедельник, 12 Сентября 2011, 19:36 | Сообщение # 52 |
Любопытный
Группа: Пользователи
Сообщений: 36
Репутация: 0
Награды: 0
Статус: Offline
| Я создал отдельный скрипт на странице. И там есть загрузка дефолтового изображения. У меня сейчас такая проблема. У меня один список и 4 кнопки на странице. нажав на каждую список грузиться из определенной папки темы. но вот мой код Code ListBoxGetSelectedItems("SongList","Items$,NumItems$,|,Count") For i=1 To Count Item$=GetArrayItem(Items$,|,i) Name$=ExtractName(Item$) Name1$=seldir$+'\\'+Name$+'.jpg' FileExist("Name1$","check") If (check=1) Then ReplaceImage("Image","Name1$") Else RunScript("Start") End Next i В переменной seldir$ содержиться путь к каждой из папок. То есть при нажатии кнопки эта переменная заменяеться. Соответсвенно в ней содержиться только последний путь к папке. Я сделал 4 переменные seldir1$, seldir2$, seldir3$, seldir4$ Но в списке проверятеься только одна переменная как это исправить не могу понять
|
|
| |
DEMBEL | Дата: Понедельник, 12 Сентября 2011, 19:40 | Сообщение # 53 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| но ведь выбор возможен только из одного списка, с последней папкой. при чем тут остальные и зачем их проверять? В момент времени доступен только один список и одна папка. Если бы у вас было четыре списка...
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Drimuchiy | Дата: Понедельник, 12 Сентября 2011, 19:47 | Сообщение # 54 |
Любопытный
Группа: Пользователи
Сообщений: 36
Репутация: 0
Награды: 0
Статус: Offline
| Я наверно не так объяснил. Все грузиться нормально. Помните у меня есть такая кнопка добавить в заказ. Code ListBoxGetSelectedItems("SongList","SongListArray$,ItemsNum$,#,NumItems") arr3=arr3+1 listbox3$[arr3]=GetArrayItem(SongListArray$,#,1) Файлы переносяться в другой список на другой странице. все нормально. но вот там и проблема. Когда я начинаю просматривать файлы в другом списке куда их перенес, то там при нажатии на файлик выводиться только одна картинка последнего элемента в списке
|
|
| |
DEMBEL | Дата: Понедельник, 12 Сентября 2011, 19:50 | Сообщение # 55 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| ну и какой там сценарий при нажатии?
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Drimuchiy | Дата: Понедельник, 12 Сентября 2011, 19:52 | Сообщение # 56 |
Любопытный
Группа: Пользователи
Сообщений: 36
Репутация: 0
Награды: 0
Статус: Offline
| Code ListBoxGetSelectedItems("Zakaz3","Items$,NumItems$,|,Count") For i=1 To Count Item$=GetArrayItem(Items$,|,i) Name$=ExtractName(Item$) Name1$=seldir$+'\\'+Name$+'.jpg' FileExist("Name1$","check") If (check=1) Then ReplaceImage("Image","Name1$") Else RunScript("Start") End Next i вот. Я понимаю что это из за того что в переменной seldir$ содержится последний путь который добавлялся в список. а вот как этого избежать
|
|
| |
DEMBEL | Дата: Понедельник, 12 Сентября 2011, 19:56 | Сообщение # 57 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| Quote (Drimuchiy) а вот как этого избежать т.е. в итоговом списке могут лежать файлы из разных папок, поэтому проблемы? логично этого избежать отвязавшись от всех заранее заданных переменных, и работать (получать путь к папке) непосредственно с вынутой из списка строкой, она же содержит полный путь, с именем файла, папкой? что еще надо то, ничего...
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Drimuchiy | Дата: Понедельник, 12 Сентября 2011, 19:59 | Сообщение # 58 |
Любопытный
Группа: Пользователи
Сообщений: 36
Репутация: 0
Награды: 0
Статус: Offline
| Сделал так. Все нормально Code
ListBoxGetSelectedItems("Zakaz3","Items$,NumItems$,|,Count") For i=1 To Count Item$=GetArrayItem(Items$,|,i) Name$=ExtractName(Item$) Namedir$=ExtractDir(Item$) Name1$=Namedir$+'\\'+Name$+'.jpg' FileExist("Name1$","check") If (check=1) Then ReplaceImage("Image","Name1$") Else RunScript("Start") End Next i Добавлено (12 Сентябрь 2011, 19:59) --------------------------------------------- Я так и сделал. Проблема была не такая серьезная
|
|
| |
DEMBEL | Дата: Понедельник, 12 Сентября 2011, 20:06 | Сообщение # 59 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| лучше так везде и делать, получать инфу на месте ее применения. в других списках тоже лучше также сделать мало ли че
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Drimuchiy | Дата: Четверг, 15 Сентября 2011, 16:56 | Сообщение # 60 |
Любопытный
Группа: Пользователи
Сообщений: 36
Репутация: 0
Награды: 0
Статус: Offline
| Понял спасибо Добавлено (12 Сентябрь 2011, 20:11) --------------------------------------------- Все супер. Аш душа поет))). Осталось реализовать копироване. и проект готов. Добавлено (15 Сентябрь 2011, 16:56) --------------------------------------------- Есть вопросик маленький. Я создал кнопку заказать. там такой код Code
ListBoxGetItems("Zakaz","Items$,Nums$,#,Num") If (Num=0) Then Else For k=1 To Num Item$=GetArrayItem(Items$,#,k) Imya$=ExtractName(Item$) Ext$=ExtractExt(Item$) Zakaz$[k]=Zakaz$+'\\'+'Мелодии'+'\\'+Imya$+Ext$ SysCommand("CopyFile","Item$,Zakaz$[k]") Next k End ListBoxGetItems("Zakaz1","Items$,Nums$,#,Num") If (Num=0) Then Else For k=1 To Num Item$=GetArrayItem(Items$,#,k) Imya$=ExtractName(Item$) Ext$=ExtractExt(Item$) Zakaz$[k]=Zakaz$+'\\'+'Картинки'+'\\'+Imya$+Ext$ SysCommand("CopyFile","Item$,Zakaz$[k]") Next k End ListBoxGetItems("Zakaz2","Items$,Nums$,#,Num") If (Num=0) Then Else For k=1 To Num Item$=GetArrayItem(Items$,#,k) Imya$=ExtractName(Item$) Ext$=ExtractExt(Item$) Zakaz$[k]=Zakaz$+'\\'+'Видео'+'\\'+Imya$+Ext$ SysCommand("CopyFile","Item$,Zakaz$[k]") Next k End ListBoxGetItems("Zakaz3","Items$,Nums$,#,Num") If (Num=0) Then Else For k=1 To Num Item$=GetArrayItem(Items$,#,k) Imya$=ExtractName(Item$) Ext$=ExtractExt(Item$) Zakaz$[k]=Zakaz$+'\\'+'Темы'+'\\'+Imya$+Ext$ SysCommand("CopyFile","Item$,Zakaz$[k]") Next k End все хорошо работает. Но мне бы еще хотелось что бы в конце выдавалась сообщение вроде такого. Стоимость заказанных мелодий 50 рублей. к примеру. Количество мелодий храниться в переменной Num. Это я знаю. Я писал вот так M$=Num*10. Выдает ошибку.
|
|
| |