Вопрос таков. Необходимо выполнить определенную команду для каждого элемента из списка. Пример: Код страницы.
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
Вот только в коде списка необходимо что бы загружаемый текст был не строкой, а определенным файлом. Суть даже и не в загрузке текста, а в команде.
Вот только в коде списка необходимо что бы загружаемый текст был не строкой, а определенным файлом.
что-то я не понял. каким определенным файлом? можно например загрузить все файлы в указанной папке или открывать диалоговое окно выбора файла и загружать по одному... в чем заключается механизм и принцип отбора файлов? или тебе надо строку из файла загружать?
короче, если требуется отображать в списке только имена файлов, то используй: path$ ='D:\info.txt' ListBoxAddItem("SongList","STRING:path$") А если требуется в обьекте Параграф отображать содержимое выбранного файла, то используй: LoadText("Paragraph","FILE:ArrayItem$")
А объяснять, что не так, я сам себе должен? Или все же ты соизволишь? А то уже и неохота тебе что-то отвечать с таким отношением. Все должны как хрен знает кто вокруг него плясать, а он только будет говорить "катит-не катит". Мне это надо или тебе? Нашел себе клоунов.
Сообщение отредактировал Rush - Четверг, 22 Октября 2009, 19:07
Rush, извеняй Вообщем объясняю чего я хочу достич. Возможно я даже немного не то делаю. Вообщем так. На странуцу вставляем простейший код: ListBoxAddItem("SongList","D:\info.txt"). В файле "D:\info.txt" три строки небольшого текста(строка1,строка2,строка3). При запуске проэкта в списке появляется три пункта с написаным текстом в файле "D:\info.txt". И необходимо что бы при нажатии на пункт выполнялась определенная команда(загрузка текста,открытие файла). Нажимаем на первый пункт - открывается какойто файл Нажимаем на другой пункт - загружается текст Нажимаем на третий пункт - высвечивается сообшение MessageEx В таком стиле надо. Надеюсь я не переборщил с запросами...
В списке пишется путь к файлу. А надо что бы было имя.
вот это сказал?
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 листбокса
В данной ситуации, налицо отсутствие элементарных понятий, по этому я бы все же порекомедовал товарищу Mad-Dog, сначала немного изучить основы скриптового языка, а уж затем строить корабли бороздящие просторы.... Тогда подобные вопросы просто не возникнут.
По сути дела все должно быть так. Грузится внутренний список C:\list.txt в нем строки с адресами D:\01.txt, D:\02.txt, и т.д. В тех файлах соды BGCOLOR=0,0,255. Так вот. Получается что данный код по сути должен грузить строку из списка, ссылаться на нужный файл и с него грузить цвет, но ничего не происходит
чето странно, где-то <List>N работает а где-то нет... В том коде что выше он работать не будет, не стоит его писать как текстовую переменную, лучше сразу в команду.
Добавлено (29 Январь 2010, 12:48) --------------------------------------------- ты наверное лучше пользуйся обычным списком и его командами, а если его не хочешь отображать то вынеси за пределы проекта да и все.
Так главное если грузить строку просто как текст (в Text), то все нормально, а вот как параметр, то не хочет. Я с начало использовал EditBox для загрузки. Создавал к примеру 10 EditBox и грузил в каждий нужные данные, а потом от туда уже в параметры. Думал уменьшить размер проги и грузить все в список, а оно не хо Читать то мы читаем, толку мало. Может примеры покачать...
Mad-Dog, помоему ты маешся дурью, начинаеш придумывать что то несусветное, есть определенные правила написания называются синтаксис. Потом, тебе надо разобратся с объектами, что есть что, что делает и зачем. А прежде всего ты должен сам для себя сформулировать логическую задачу, потом подобрать методы ее реализации. А ты городиш черт знает что,весь смысл твоих телодвижений сводится к получению массива значений цвета для квадратов. Зачем так сложно, да еще и не работоспособно? Если человеческим языком, вот что ты делаеш - загружаеш файл с путями к файлам содержащим значения цвета в список сонглист, затем из списка считываеш имя файла с путем, из выбранного в списке файла считываеш значение цвета и присваиваеш цвет объекту прямоугольник. Тебе не кажется что ты делаеш кучу ненужного? Не проще ли держать значения цветов в дном файле? Ты читая текст скрипта должен понимать что делает каждая строчка, иначе толку не будет!
Вот скрипт кнопки "Изменение цвета", так как он должен быть, исходя из твоей извращенной логики, скрипт рабочий, проверен, претензии по качеству копипасте не принимаются.
Добавлено (29 Январь 2010, 16:54) --------------------------------------------- Синтаксис (правила писания), говорит, что конструкция <List>Х работает только в пределах (внутри) функции LoadText.
А прежде всего ты должен сам для себя сформулировать логическую задачу, потом подобрать методы ее реализации.
Я все так и делаю. Поставил цель, что я хотел бы сделать и ищу пути её достижения. Это уже моя третья версия будет.
Quote
Тебе не кажется что ты делаеш кучу ненужного? Не проще ли держать значения цветов в дном файле?
В первой и второй версии так и было. Но это не удобно. Цвет файла должен быть первой строкой в файле который будет создан пользователем. А программа в свою очередь должна считывать этот код и изменять цвет объекта на заданный пользователем.
Quote
Ты читая текст скрипта должен понимать что делает каждая строчка, иначе толку не будет!
Я скрипты сам пишу. Я немного знаю что к чему. Но бывает путаюсь в расположении и символах. Я не копирую примеры и не вставляю в проэкты. Я стараюсь понять данны скрипт, его суть, что за чем и почему.
Просто я не такой большой фанат ММВ что сижу в ней днями и ночами и изучаю скрипты. Так, слегка знаю что к чему. Да и мне приходится работать и с HTML, CSS, HAMMER, кодами... И оно все путается. Не судите строго, что я тут задаю вам такие легкие вопросы, так уж получается.
Сообщение отредактировал Mad-Dog - Суббота, 30 Января 2010, 00:50
Я скрипты сам пишу. Я немного знаю что к чему. Но бывает путаюсь в расположении и символах
То во что ты уткнулся, как то выходит за рамки путания, если ты неуверен в правильности какого либо построения, почитай хелп или проверь практически. Вот увидел ты такую конструкцию LoadText("c1$","<List>1") и заинтересовала тебя эта часть "<List>1" ну так и проверь ее, на простом примере. Я так считаю, что функция Message в основном полезна для тестирования LoadText("c1$","<List>1") Message("что тут у нас ","c1$") твой тест- c1$="<List>1" Message("что тут у нас ","c1$") Сразу же будет видно что получается все по разному, значит городить далее не имеет смысла. А понимание того что делает код просто необходимо, так же и умение проверить как он выполняется, не в зависимости от языка.
Quote (Mad-Dog)
Я стараюсь понять данны скрипт, его суть, что за чем и почему.
А вот это и есть самый правильный путь, так и надо спрашивать. В функции LoadText выражение "<List>1" воспринимается как объект, а в c1$="<List>1" просто как строка. Синтаксис этой команды достаточно описан в хелпе
загрузка в текстовый объект LoadText("TextObject","variable$") LoadText("TextObject","path") путь к тексту LoadText("TextObject","<List>") загруженный ранее список LoadText("TextObject","<List>Number") строка из списка загрузка в переменную LoadText("variable$","path") LoadText("variable$","<List>Number") ------------------------------------ Это логические варианты Как видиш нет такого варианта LoadText("variable$","<List>") что сним делать интерпритатор не знает, объект сложный, и что именно надо дать в переменную. и такого LoadText("variable1$","variable2$") хотя это вполне допустимо. ---------------------------- LoadText("c1$","<List>1") Message("<List>1 ","c1$") **строковая переменная может описывать **и объект dd$='<List>1' LoadText("z1$","dd$") Message("dd$='<List>1' ","z1$") cc$='yyyy' LoadText("zz$","cc$") Message("cc$='yyyy' ","zz$") **тот же еффект при сложении двух переменных nn$=cc$ Message("nn$=cc$ ","zz$") **имя объекта можно получит сложив **несколько переменных yy$='<List>' y2$=yy$+'1' LoadText("zn$","y2$") Message("y2$=yy$+'1' ","zn$") ----------------------------- В чем же разница между cc$ y2$, и то и другое строки? Интерпритатор смотрит содержимое этих переменных, и если это содержимое соответствует имени объекта, он предполагает что это объект, в ином случае думает что это просто строка.