Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
есть в одной папке 300 файлов. мне нужно чтобы программа сначало сгенерировалв число а потом запустил файл с названием по счёту этого числа. например
в папке лежат 3 файла
tol.txt tit.txt bot.txt
программа сгенерировала число 2 значит должен запустится второй файл. и так далее
но изменять все файлы с названиями на числа а потом в программе к пути приписывать переменую не хочется. давно пытаюсь такое сделать но не получается. как можно такое сделать?
Нужно создать список файлов либо в виде массива, либо поместить напрямую в ListBox, и обращаться к файлам по номеру элемента массива (порядковому номеру элемента в списке)
Вот тут есть пример загрузки файлов в список и работы с ним. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Вот тут есть пример загрузки файлов в список и работы с ним.
но там нет примера с генерацией. и там загрузка видео а не обычных файлов. я попробую конечно сейчас сделать подобное. но ты не хочешь мне подробно объяснять. так что не факт что получится
Добавлено (28 Июня 2014, 14:39) --------------------------------------------- Так.
SetVar "[nes]" "[nes]"
FileList "C:\random\nes" "Files" "[mol]"
Run "C:\random\nes\[mi].[nes]" "" "Normal" "" ""
написал такой код. я рассчитываю на один формат файлов. вроде как бы добавил в список. но теперь надо чтобы из списка он выбрал случайный файл
Добавлено (28 Июня 2014, 14:58) --------------------------------------------- лол
SetVar "[nes]" "[nes]"
FileList "C:\random\nes" "Files" "[mol]"
AlertBox "" "[mol]"
Random "[mol]" "[b]"
ExtractFileName "!C:\random\nes\[b]" "[bb]"
AlertBox "[bb]" "[bb]"
Run "C:\random\nes\[bb]" "" "Normal" "" ""
он не хочет собирать эти файлы. работа продолжается
Сообщение отредактировано kop9000 - Сб, 28 Июня 2014, 14:59
Следует иметь ввиду, что команда Random генерирует случайное число, начиная с нуля, а порядковые номера пунктов в необушном списке (или массиве) начинаются с единицы. Поэтому генерировать случайное число надо между нулем и (количество файлов - 1), а затем к полученному результату прибавить единицу. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
.Ищем все файлы с расширением nes и помещаем их в переменную FileList "[pubdir]random\nes\*.nes" "Files" "[mol]" .Парсим строку чтобы разделить имена найденных файлов StrParse "[mol]" "[#13]" "[molo]" "[i]"
.Формируем случайное число от 0 до количества найденных файлов Random "[i]" "[rand_i]" .Если случайно получили чило 0, формируем рандом еще раз. While "[rand_i]" "=" "0" Random "[i]" "[rand_i]" EndWhile .Запускаем случайный файл. Run "[pubdir]random\nes\[molo[rand_i]]" "" "Normal" "" ""
.Нечего на диск С не надо копировать в этом примере.
В прикрепляемом файле все твои nes файлы заменил на текстовые документы с расширением nes, чтоб размер архива позволил загрузить его сюда.
Добавлено (28 Июня 2014, 17:43) --------------------------------------------- И еще дельный совет. Не пользуйся неубушной командой random, чтобы получить случайное число. Воспользуйся лучше функцией http://neobooker.ru/forum/38-3152-66345-16-1380694725 или плагином. Помоему rlFunction умеет
У тебя не установленна программа по умолчанию для открытия nes файлов "Вы знаете, нам очень понравились все варианты, что вы прислали. Даже не знаем, что выбрать… А может попробуем объединить все три логотипа в один?"
Не пользуйся неубушной командой random, чтобы получить случайное число.
А чем она не устраивает?
ЦитатаPeter ()
на этом форуме плагина не
Вот плагин, только, если не ошибаюсь, русской версии нет.
А зачем плагин-то?
Цитатаanton ()
Воспользуйся лучше функцией
Чего-то там нагородили огород, когда все предельно просто:
Код
Math "[Max]-[Min]" "0" "[Delta]" Random "[Delta]" "[Temp]" Math "[Temp]+[Min]" "0" "[Result]"
Причем, этот код позволяет генерировать случайные числа как в положительном, так и отрицательном диапазонах, или с перекрытием. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Ну у меня неубушный рандом какой то не рандомный. Либо я невезучий. 10 раз запустил проект с рандомом. 10 раз первое число которое он получил было 4... "Вы знаете, нам очень понравились все варианты, что вы прислали. Даже не знаем, что выбрать… А может попробуем объединить все три логотипа в один?"
У тебя не установленна программа по умолчанию для открытия nes файлов
а можно в NB сделать так чтобы она сделала программу по умолчанию? если да то как?
Добавлено (28 Июня 2014, 21:18) --------------------------------------------- сделал сам обновлённый пример. но всё равно что-то не то. всегда генерируется число 0
а можно без функции пожалуйста. на основе моего последнего файлика по ссылке и кода от Peter. обнови его без функции как надо и выложи плизь или тебе лень?
Добавлено (28 Июня 2014, 21:42) --------------------------------------------- и ещё вопросик. можно ли сделать так чтобы когда программа эмулятор запуущен то при новом нажатие просто поменялась игра но не закрылся эмулятор?
Сообщение отредактировано kop9000 - Сб, 28 Июня 2014, 21:44
Блиин.... Давай так. Вот твой код. Давай в нем разбираться.
SetVar "[nes]" "[nes]" - тут ты переменной [nes] присваиваешь значение перменной [nes]. В итоге в переменной [nes] у тебя нечего нет...
FileList "C:\random\nes\*.nes" "Files" "[mol]" - тут все верно, ты ищешь в паке все файлы с расширением nes и записываешь его в переменную
StrParse "[mol]" "[#13]" "[molo]" "[i]" - тут тоже верно, тут ты название каждого файла помещаешь в отдельную переменную
------------------------------------------------ Math "[Max]-[Min]" "0" "[Delta]" Random "[Delta]" "[Temp]" Math "[Temp]+[Min]" "0" "[Result]" ------------------------------------------------- Тут Peter, тебе подсказал часть для функции. Не надо было ее просто копировать и вставлять. Надо было подумать. Что делает эти три функции. Math "[Max]-[Min]" "0" "[Delta]" - из переменной [Max] вычитается переменная [Min] и результат cохраянется в переменную [Delta]. Так как переменные [Max] и [Min] не имеют значений в переменной [Delta] получается "нечего", пустота. Random "[Delta]" "[Temp]" - тут ты в диапозоне от 0 до пустаты генерируешь чичло и сохраняешь его в переменной [Temp]. Каким бы не был хороший рандом но в диапозоне от нуля до нечего ты получишь случайное число ноль. Math "[Temp]+[Min]" "0" "[Result]" - тут из нуля ты вычитаешь нечего и сохраняешь в переменной [Result].
AlertBox "[Result]" "[Result]" - тут ты выводишь случайное число в тексте сплывающего окна.
Run "[pubdir]random\nes\[Result]" "" "Normal" "" "" - тут ты пытаешься запустить файл расположенный в папках внутри директории твоей программы и название у файла просто "ноль". Если убрать переменные то выглядит последняя команда так: Run "С:\\ПАПКА ПРОГРАМММЫ\random\nes\0" "" "Normal" "" ""
Таким образом, твой пример априори не может работать. Почитай повнимателней справку... А лучше несколько раз. "Вы знаете, нам очень понравились все варианты, что вы прислали. Даже не знаем, что выбрать… А может попробуем объединить все три логотипа в один?"
anton, ок но ты так мне и не ответил ты в первом посте написал [#13] а что это такое и почему 13 а не 16 или 5?
Добавлено (28 Июня 2014, 22:35) ---------------------------------------------
.Ищем все файлы с расширением nes и помещаем их в переменную FileList "C:\random\nes\*.nes" "Files" "[mol]" .Парсим строку чтобы разделить имена найденных файлов StrParse "[mol]" "[#13]" "[molo]" "[i]"
Math "[molo]-[i]" "0" "[Delta]" Random "[Delta]" "[Temp]" Math "[Temp]+[1]" "0" "[Result]"
.сообщение для проверки AlertBox "[Result]" "[Result]"
.Запускаем случайный файл. Run "!C:\random\nes\[Result].nes" "" "Normal" "" ""
.Нечего на диск С не надо копировать в этом примере.
подумал поменял но нихрена код Peter не работает как не крути. напиши также как в прошлом посте что я сделал
Сообщение отредактировано kop9000 - Сб, 28 Июня 2014, 22:36
а можно без функции пожалуйста. на основе моего последнего файлика по ссылке и кода от Peter. обнови его без функции как надо и выложи плизь или тебе лень?
Не лень, но и делать не буду. Выше я указал тебе на, то что у тебя в коде не так. Подумай как его изменить чтобы заработал. Включи логику. У тебя для того чтобы все доделать как ты хочешь все команды уже прописанны ,просто в некоторых из них надо сменить значения и убрать переменные. У тебя цель та в соседнем проекте по Айзику глобальная. А если за тебя все делать будут, то ты так не чему и не научишься.
Цитатаkop9000 ()
и ещё вопросик. можно ли сделать так чтобы когда программа эмулятор запуущен то при новом нажатие просто поменялась игра но не закрылся эмулятор?
Можно, но ту реализацию которую я знаю без плагина не сделать. Да и ты пока ее не осилишь. А я мозг на ней ломать не буду.
Цитатаkop9000 ()
anton, ок но ты так мне и не ответил ты в первом посте написал [#13] а что это такое и почему 13 а не 16 или 5?
А здесь тебе надо справку читать. Там написано что это за такие переменных начинающиеся со знака решетки. В кратце это ACSII код. Именно [#13], потому что этот код означает невидимый символ возврата каретки. Им разделены значения получаемые командой FileList. Все это есть в справке. "Вы знаете, нам очень понравились все варианты, что вы прислали. Даже не знаем, что выбрать… А может попробуем объединить все три логотипа в один?"
Не лень, но и делать не буду. Выше я указал тебе на, то что у тебя в коде не так. Подумай как его изменить чтобы заработал. Включи логику. У тебя для того чтобы все доделать как ты хочешь все команды уже прописанны ,просто в некоторых из них надо сменить значения и убрать переменные. У тебя цель та в соседнем проекте по Айзику глобальная. А если за тебя все делать будут, то ты так не чему и не научишься.
включаю, думаю, даю на проверку. логика класная вещь. пост с новым примером можешь проверить и написать что опять не так
Цитатаanton ()
Можно, но ту реализацию которую я знаю без плагина не сделать. Да и ты пока ее не осилишь. А я мозг на ней ломать не буду.
мне очень нужно. пожалуйста
Сообщение отредактировано kop9000 - Сб, 28 Июня 2014, 22:48
.Ищем все файлы с расширением nes и помещаем их в переменную FileList "C:\random\nes\*.nes" "Files" "[mol]" - верно .Парсим строку чтобы разделить имена найденных файлов StrParse "[mol]" "[#13]" "[molo]" "[i]" - верно
Math "[molo]-[i]" "0" "[Delta]" - не верно. Из названия файла с расширением nes ты вычитаешь общее число найденных файлов, что невозможно. Без переменных эта команда у тебя выглядит приблизительно так: Math "Battle City.nes-5" "0" "[Delta]" - итого в переменной [Delta] у тебя значение Error
Random "[Delta]" "[Temp]" - тут случайное число от Error до нуля Math "[Temp]+[1]" "0" "[Result]" - тут ноль прибавить один итого в переменной [Result] у тебя 1
.сообщение для проверки AlertBox "[Result]" "[Result]" - тут ты выел в диалоговое окно единицу
.Запускаем случайный файл. Run "!C:\random\nes\[Result].nes" "" "Normal" "" "" - тут ты пытаешься запустить файл под названием 1.nes
.Нечего на диск С не надо копировать в этом примере. "Вы знаете, нам очень понравились все варианты, что вы прислали. Даже не знаем, что выбрать… А может попробуем объединить все три логотипа в один?"
Сообщение отредактировано anton - Сб, 28 Июня 2014, 23:23
Добавлено (28 Июня 2014, 23:07) ---------------------------------------------
.Ищем все файлы с расширением nes и помещаем их в переменную FileList "C:\random\nes\*.nes" "Files" "[mol]" .Парсим строку чтобы разделить имена найденных файлов StrParse "[mol]" "[#13]" "[molo]" "[i]"
Math "[i]-1" "0" "[Delta]" Random "[Delta]" "[Temp]" Math "[Temp]+1" "0" "[Result]"
.сообщение для проверки AlertBox "[Result]" "[Result]"
.Запускаем случайный файл. Run "!C:\random\nes\[Result].nes" "" "Normal" "" ""
.Нечего на диск С не надо копировать в этом примере.
но файл не запускается
Сообщение отредактировано kop9000 - Сб, 28 Июня 2014, 23:07
Короче держи. Сделал все как тебе надо. С кодом от Peter, без функции и даже вспоминл про небушную команду которой не когда не пользовался, но которая без плагина и гемора решила задачу:
Цитатаkop9000 ()
сделать так чтобы когда программа эмулятор запуущен то при новом нажатие просто поменялась игра но не закрылся эмулятор?
Держи... но на этом все... если не начнешь читать справку и вникать в команды которые сам и пишешь. буду тут сидеть и саркостически издеваться, пока меня Peter не забанит.
Держи... но на этом все... если не начнешь читать справку и вникать в команды которые сам и пишешь. буду тут сидеть и саркостически издеваться, пока меня Peter не забанит.
стоп стоп стоп. я до тебя почти сделал всё правильно как ты
твой последний код из примера
Код
Math "[i]-1" "0" "[Delta]" Random "[Delta]" "[Temp]" Math "[Temp]+1" "0" "[rand_i]"
мой последний код
Код
Math "[i]-1" "0" "[Delta]" Random "[Delta]" "[Temp]" Math "[Temp]+1" "0" "[Result]"
но ведь пишет ошибку что файл не найден. в чё ещё ошибка у меня?
Сообщение отредактировано kop9000 - Сб, 28 Июня 2014, 23:26
Проанализируй код и подумай, что у тебя содержится в переменной [Result] и сравни это с названием файла который ты запускаешь командой Run "!C:\random\nes\[Result].nes" "" "Normal" "" "" "Вы знаете, нам очень понравились все варианты, что вы прислали. Даже не знаем, что выбрать… А может попробуем объединить все три логотипа в один?"
скажи лучше как можно. без такого простого способа. чтоб я понял
Правкой реестра... надо в реестр в нужные места прописать пути до программы для запуска файлов с расширением nes. Погугли как это сделать, и почитай эту тему, тут часть инфы есть.
Цитатаkop9000 ()
я просто не думал что в одну перемнную можно написать вторую
читай справку... читай...
Цитатаkop9000 ()
и я тебя поправлю в пути у меня нет !
и у меня нет, он тут и не нужен. "Вы знаете, нам очень понравились все варианты, что вы прислали. Даже не знаем, что выбрать… А может попробуем объединить все три логотипа в один?"
Правкой реестра... надо в реестр в нужные места прописать пути до программы для запуска файлов с расширением nes. Погугли как это сделать, и почитай эту тему, тут часть инфы есть.
ууу понял что будет тяжяло
Цитатаanton ()
Run "!C:\random\nes\[Result].nes" "" "Normal" "" "
ты в сообщение вот это написал но у меня в run нет !
Сообщение отредактировано kop9000 - Вс, 29 Июня 2014, 00:12