Форум
Написать нам
  • Страница 1 из 1
  • 1
Модератор форума: as-master  
Команды из списка
Sam726Дата: Четверг, 22 Октября 2009, 12:46 | Сообщение # 1
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
Вопрос таков. Необходимо выполнить определенную команду для каждого элемента из списка.
Пример:
Код страницы.
Code
ListBoxAddItem("SongList","D:\info.txt")

Код списка.
Code
ListBoxGetSelectedItems("SongList","Items$,ItemsNum$,#,NumItems")
For i=NumItems To 1
   ArrayItem$ = GetArrayItem(Items$,#,i)
   LoadText("Paragraph","ArrayItem$")
Next i

Вот только в коде списка необходимо что бы загружаемый текст был не строкой, а определенным файлом. Суть даже и не в загрузке текста, а в команде.


 
Sam726Дата: Четверг, 22 Октября 2009, 13:02 | Сообщение # 2
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
Проэкт
Прикрепления: Media1.zip (0.6 Kb)


 
DEMBELДата: Четверг, 22 Октября 2009, 15:54 | Сообщение # 3
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
Quote (Mad-Dog)
Вот только в коде списка необходимо что бы загружаемый текст был не строкой, а определенным файлом.

что-то я не понял. каким определенным файлом? можно например загрузить все файлы в указанной папке или открывать диалоговое окно выбора файла и загружать по одному... в чем заключается механизм и принцип отбора файлов? или тебе надо строку из файла загружать?

короче, если требуется отображать в списке только имена файлов, то используй:
path$ ='D:\info.txt'
ListBoxAddItem("SongList","STRING:path$")
А если требуется в обьекте Параграф отображать содержимое выбранного файла, то используй:
LoadText("Paragraph","FILE:ArrayItem$")




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Sam726Дата: Четверг, 22 Октября 2009, 17:30 | Сообщение # 4
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
DEMBEL, єто то чего мне не хватало.
Code
path$ ='D:\info.txt'
ListBoxAddItem("SongList","STRING:path$")

Только остается один нюанс. В списке пишется путь к файлу. А надо что бы было имя. Это возможно? Что необходимо изменить или добавить?




Сообщение отредактировал Mad-Dog - Четверг, 22 Октября 2009, 17:30
 
RushДата: Четверг, 22 Октября 2009, 17:47 | Сообщение # 5
Обозреватель-консультант
Группа: Проверенные
Сообщений: 216
Репутация: 10
Награды: 1
Статус: Offline
Quote (Mad-Dog)
В списке пишется путь к файлу. А надо что бы было имя.

Code

path$ ='D:\info.txt'  
name$=ExtractName(path$)
ListBoxAddItem("SongList","name$")
 
Sam726Дата: Четверг, 22 Октября 2009, 18:45 | Сообщение # 6
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
Rush, не-а... не катит. :(

 
RushДата: Четверг, 22 Октября 2009, 19:00 | Сообщение # 7
Обозреватель-консультант
Группа: Проверенные
Сообщений: 216
Репутация: 10
Награды: 1
Статус: Offline
Quote (Mad-Dog)
не катит

А объяснять, что не так, я сам себе должен? Или все же ты соизволишь?
А то уже и неохота тебе что-то отвечать с таким отношением.
Все должны как хрен знает кто вокруг него плясать, а он только будет говорить "катит-не катит".
Мне это надо или тебе? Нашел себе клоунов.


Сообщение отредактировал Rush - Четверг, 22 Октября 2009, 19:07
 
Sam726Дата: Четверг, 22 Октября 2009, 19:14 | Сообщение # 8
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
Rush, извеняй :)
Вообщем объясняю чего я хочу достич. Возможно я даже немного не то делаю. Вообщем так.
На странуцу вставляем простейший код: ListBoxAddItem("SongList","D:\info.txt"). В файле "D:\info.txt" три строки небольшого текста(строка1,строка2,строка3). При запуске проэкта в списке появляется три пункта с написаным текстом в файле "D:\info.txt". И необходимо что бы при нажатии на пункт выполнялась определенная команда(загрузка текста,открытие файла).
Нажимаем на первый пункт - открывается какойто файл
Нажимаем на другой пункт - загружается текст
Нажимаем на третий пункт - высвечивается сообшение MessageEx
В таком стиле надо. Надеюсь я не переборщил с запросами...


 
RushДата: Четверг, 22 Октября 2009, 19:33 | Сообщение # 9
Обозреватель-консультант
Группа: Проверенные
Сообщений: 216
Репутация: 10
Награды: 1
Статус: Offline
Тогда какого хрена ты
Quote (Mad-Dog)
В списке пишется путь к файлу. А надо что бы было имя.
вот это сказал?

Quote (Mad-Dog)
Нажимаем на первый пункт - открывается какойто файл
Нажимаем на другой пункт - загружается текст
Нажимаем на третий пункт - высвечивается сообшение MessageEx

Code

ListBoxGetSelectedItems("SongList","SelItems$,SelItemsNum$,#,SelNumItems")
If (VAL(SelItemsNum$)=1) Then
   Run("app.exe","")
End
If (VAL(SelItemsNum$)=2) Then
   LoadText("Text","txt$")
End
If (VAL(SelItemsNum$)=3) Then
   MessageEx("","")
End

И не говори что ты не то хотел - каков вопрос, таков и ответ.

Добавлено (22 Октябрь 2009, 19:33)
---------------------------------------------
Это пишется в actions листбокса

 
Alex3AДата: Четверг, 22 Октября 2009, 19:41 | Сообщение # 10
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
В данной ситуации, налицо отсутствие элементарных понятий, по этому я бы все же порекомедовал товарищу Mad-Dog, сначала немного изучить основы скриптового
языка, а уж затем строить корабли бороздящие просторы....
Тогда подобные вопросы просто не возникнут.
 
Sam726Дата: Четверг, 22 Октября 2009, 20:19 | Сообщение # 11
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
Rush, ты тему почитай. Я ж писал
Code
Вопрос таков. Необходимо выполнить определенную команду для каждого элемента из списка.

Добавлено (22 Октябрь 2009, 20:19)
---------------------------------------------
Rush, хух... Наконецто. СПАСИБИЩЕ thumbs_up . Получилось.


 
RushДата: Четверг, 22 Октября 2009, 20:24 | Сообщение # 12
Обозреватель-консультант
Группа: Проверенные
Сообщений: 216
Репутация: 10
Награды: 1
Статус: Offline
Quote (Mad-Dog)
Rush, ты тему почитай. Я ж писал

Ну и?..
Чем-то опять не угодил, барин?
Всё. Надоело...

PS. Юра, теперь согласен с тобой - "куда катимся?".

 
DEMBELДата: Четверг, 22 Октября 2009, 20:32 | Сообщение # 13
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
Quote (Mad-Dog)
Вопрос таков. Необходимо выполнить определенную команду для каждого элемента из списка.

ну дык и было показано Rush, как это делать:
Quote (Rush)
If (VAL(SelItemsNum$)=1) Then
Run("app.exe","")
End

Если VAL (номер) выбранного элемента = 1 тогда
Запустить приложение app.exe
и т.д. по номерам




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Sam726Дата: Пятница, 29 Января 2010, 00:41 | Сообщение # 14
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
Есть вопросик по поводу внутреннего списка. Чет у меня не получается...
Code
a1$='<List>1'
b1$=StrFromFile(a1$,1,1)
LoadText("c1$","b1$")
SetObjectParam("Rectangle1","c1$")

По сути дела все должно быть так.
Грузится внутренний список C:\list.txt в нем строки с адресами D:\01.txt, D:\02.txt, и т.д. В тех файлах соды BGCOLOR=0,0,255.
Так вот. Получается что данный код по сути должен грузить строку из списка, ссылаться на нужный файл и с него грузить цвет, но ничего не происходит :(
Прикрепления: Archive.rar (0.9 Kb)


 
Alex3AДата: Пятница, 29 Января 2010, 03:54 | Сообщение # 15
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (Mad-Dog)
a1$='<List>1'

Вот тут у тебя не правильно, надо так a1$='хочу что бы работало<List>1пожалуста!!!'
:D
Ну изучи ты наконец хелпы и посмотри примеры.
 
DEMBELДата: Пятница, 29 Января 2010, 12:48 | Сообщение # 16
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
чето странно, где-то <List>N работает а где-то нет... В том коде что выше он работать не будет, не стоит его писать как текстовую переменную, лучше сразу в команду.

Добавлено (29 Январь 2010, 12:48)
---------------------------------------------
ты наверное лучше пользуйся обычным списком и его командами, а если его не хочешь отображать то вынеси за пределы проекта да и все.




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Sam726Дата: Пятница, 29 Января 2010, 12:50 | Сообщение # 17
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
Так главное если грузить строку просто как текст (в Text), то все нормально, а вот как параметр, то не хочет. Я с начало использовал EditBox для загрузки. Создавал к примеру 10 EditBox и грузил в каждий нужные данные, а потом от туда уже в параметры. Думал уменьшить размер проги и грузить все в список, а оно не хо :(
Читать то мы читаем, толку мало. Может примеры покачать...


 
Alex3AДата: Пятница, 29 Января 2010, 16:54 | Сообщение # 18
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Mad-Dog, помоему ты маешся дурью, начинаеш придумывать что то несусветное,
есть определенные правила написания называются синтаксис. Потом, тебе надо разобратся
с объектами, что есть что, что делает и зачем.
А прежде всего ты должен сам для себя сформулировать логическую задачу, потом подобрать методы ее реализации. А ты городиш черт знает что,весь смысл твоих телодвижений сводится к получению массива значений цвета для квадратов. Зачем так сложно, да еще и не работоспособно?
Если человеческим языком, вот что ты делаеш - загружаеш файл с путями к файлам содержащим значения цвета в список сонглист, затем из списка считываеш имя файла с путем, из выбранного в списке файла считываеш значение цвета и присваиваеш цвет
объекту прямоугольник. Тебе не кажется что ты делаеш кучу ненужного?
Не проще ли держать значения цветов в дном файле?
Ты читая текст скрипта должен понимать что делает каждая строчка, иначе толку не
будет!
Code
LoadText("c1$","<List>1")
Message("Выбран файл ","c1$")
b1$=StrFromFile(c1$,1,1)
Message("Содержимое файла ","b1$")
SetObjectParam("Rectangle1","b1$")
**
LoadText("c1$","<List>2")
Message("Выбран файл ","c1$")
b1$=StrFromFile(c1$,1,1)
Message("Содержимое файла ","b1$")
SetObjectParam("Rectangle2","b1$")
**
LoadText("c1$","<List>3")
Message("Выбран файл ","c1$")
b1$=StrFromFile(c1$,1,1)
Message("Содержимое файла ","b1$")
SetObjectParam("Rectangle3","b1$")

Вот скрипт кнопки "Изменение цвета", так как он должен быть, исходя из твоей
извращенной логики, скрипт рабочий, проверен, претензии по качеству копипасте
не принимаются.

Добавлено (29 Январь 2010, 16:54)
---------------------------------------------
Синтаксис (правила писания), говорит, что конструкция <List>Х работает
только в пределах (внутри) функции LoadText.

 
Sam726Дата: Суббота, 30 Января 2010, 00:49 | Сообщение # 19
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
Alex3A
Quote
А прежде всего ты должен сам для себя сформулировать логическую задачу, потом подобрать методы ее реализации.

Я все так и делаю. Поставил цель, что я хотел бы сделать и ищу пути её достижения. Это уже моя третья версия будет.
Quote
Тебе не кажется что ты делаеш кучу ненужного? Не проще ли держать значения цветов в дном файле?

В первой и второй версии так и было. Но это не удобно. Цвет файла должен быть первой строкой в файле который будет создан пользователем. А программа в свою очередь должна считывать этот код и изменять цвет объекта на заданный пользователем.
Quote
Ты читая текст скрипта должен понимать что делает каждая строчка, иначе толку не
будет!

Я скрипты сам пишу. Я немного знаю что к чему. Но бывает путаюсь в расположении и символах. Я не копирую примеры и не вставляю в проэкты. Я стараюсь понять данны скрипт, его суть, что за чем и почему.




Сообщение отредактировал Mad-Dog - Суббота, 30 Января 2010, 00:50
 
Alex3AДата: Суббота, 30 Января 2010, 02:22 | Сообщение # 20
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (Mad-Dog)
Я скрипты сам пишу. Я немного знаю что к чему. Но бывает путаюсь в расположении и символах

То во что ты уткнулся, как то выходит за рамки путания, если ты неуверен в правильности какого либо построения, почитай хелп или проверь практически.
Вот увидел ты такую конструкцию LoadText("c1$","<List>1") и заинтересовала
тебя эта часть "<List>1" ну так и проверь ее, на простом примере.
Я так считаю, что функция Message в основном полезна для тестирования :D
LoadText("c1$","<List>1")
Message("что тут у нас ","c1$")
твой тест-
c1$="<List>1"
Message("что тут у нас ","c1$")
Сразу же будет видно что получается все по разному, значит городить далее не имеет
смысла. А понимание того что делает код просто необходимо, так же и умение проверить
как он выполняется, не в зависимости от языка.
Quote (Mad-Dog)
Я стараюсь понять данны скрипт, его суть, что за чем и почему.

А вот это и есть самый правильный путь, так и надо спрашивать.
В функции LoadText выражение "<List>1" воспринимается как объект, а в c1$="<List>1"
просто как строка. Синтаксис этой команды достаточно описан в хелпе
 
  • Страница 1 из 1
  • 1
Поиск: