Запуск проекта с нужной страницы
|
|
Sam726 | Дата: Вторник, 11 Мая 2010, 12:01 | Сообщение # 1 |
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
| Всем привет! Подскажите пожалуйста. Возможно ли сделать так, что бы проект запускался автоматически при запуске компьютера (кроме ярлыка в папке автозагрузки). Причем запускаться должна определенная страничка. То есть должно получится так что при запуске Windows стартует проект и открывает вторую (Page 2) страничку. А при обычном запуске первую (Page 1). Возможно есть какая-то консольная команда или что...
|
|
| |
Alex3A | Дата: Вторник, 11 Мая 2010, 13:12 | Сообщение # 2 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Ну напряги маломало свой мозг, автозагрузка это запись в реестре, куда что писать найдеш, это не сложно, далее вариантов много. К примеру, запускаеш по автозагрузке не основной проект а стартовый, который запускает основной с переводом на нужную страницу. Как делаются подобные вещи обсосано на форуме не один раз.
|
|
| |
Сергей | Дата: Вторник, 11 Мая 2010, 13:30 | Сообщение # 3 |
Необукер
Группа: Проверенные
Сообщений: 858
Репутация: 64
Награды: 22
Статус: Offline
| Quote (Sam726) Возможно есть какая-то консольная команда если ммб умеет читать параметры, то можно этим воспользоватся и с автозагрузки стартовать типа так: C:\mayprogramm.exe pg1, а в обычном без параметра
|
|
| |
Sam726 | Дата: Вторник, 11 Мая 2010, 14:17 | Сообщение # 4 |
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
| Alex3A Quote автозагрузка это запись в реестр Кок раз то с реестром я и не хочу экспериментировать. Не зная что там и как. Я боюсь что-то напортачить. Quote не основной проект а стартовый Это типа сделать еще один проект или как??? Сергей, Суть то я понял. Это кок раз то что нужно. Вот только что-то у меня не получается.
|
|
| |
Alex3A | Дата: Вторник, 11 Мая 2010, 14:50 | Сообщение # 5 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Sam726, Сергей, вроде как ммв не обладает такой фичей. Quote (Sam726) Это типа сделать еще один проект или как??? Или как, Ну посмотри ты команды ммв рун рунмбд.. Code Examples: RunMBD(MBDfilename,"NEW_WINDOW") RunMBD(MBDfilename,"Page 3") RunMBD(MBDfilename,"NEW_WINDOW,Page 3") А реестр не так страшен как тебе кажется. Code HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run Для всех и для текущего юзера. Там уж у тебя накидали, и без твоего ведома, всякого автозагрузочного, сделаеш аналогично.Потом можеш сделать експорт параметра в файл- запустил его автозагрузка есть.
|
|
| |
Sam726 | Дата: Вторник, 11 Мая 2010, 15:03 | Сообщение # 6 |
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
| Alex3A, У меня и так есть два проекта. Первый запускается с ярлыка в автозагрузке, второй с рабочего стола как программа. Я хотел бы это все в один сжать . Если б можно было в BAT прописать команду которая б запускала проект на нужной странице, но нет... И что это за строчки??? Мене они ничего не говорят. Хотя это походу такое начало в реестре. А как туда попасть хоть?
|
|
| |
YURIY | Дата: Вторник, 11 Мая 2010, 15:05 | Сообщение # 7 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Quote (Sam726) Возможно ли сделать так, что бы проект запускался автоматически при запуске компьютера (кроме ярлыка в папке автозагрузки) "Кроме ярлыка" - это только через реестр. На форуме писалось сто раз. Quote (Sam726) Причем запускаться должна определенная страничка. То есть должно получится так что при запуске Windows стартует проект и открывает вторую (Page 2) страничку. А при обычном запуске первую (Page 1) Сергей правильно заметил, нужно сделать запуск в автозагрузке с параметром. Не знаю, куда торопится Алекс всегда с ответами ( ), но MMB отлично умеет вытаскивать параметры, с которыми запущен exe. Для этого читаем в справке про "CmdLineParam". Забей в поиске, сразу найдёшь. Quote (Sam726) Вот только что-то у меня не получается. А у меня всё получается. Quote (Alex3A) Ну посмотри ты команды ммв рун рунмбд.. Не стоит, когда есть командная строка
Вечная память Андрею Сергееву!
|
|
| |
Sam726 | Дата: Вторник, 11 Мая 2010, 15:16 | Сообщение # 8 |
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
| Чет я не совсем все понял. Там получается что в проекте с начало его нужно вставить???
|
|
| |
YURIY | Дата: Вторник, 11 Мая 2010, 15:21 | Сообщение # 9 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Quote (Sam726) что в проекте с начало его нужно вставить??? Кого "его"? В скрипте старта первой страницы считываешь параметры. Если они вообще есть, то делаешь тут же переход на вторую страницу. Вот и всё. Там 3 строки выйдет.
Вечная память Андрею Сергееву!
|
|
| |
Сергей | Дата: Вторник, 11 Мая 2010, 15:28 | Сообщение # 10 |
Необукер
Группа: Проверенные
Сообщений: 858
Репутация: 64
Награды: 22
Статус: Offline
| Quote (Sam726) Там получается что в проекте с начало его нужно вставить??? я синтаксис не знаю ммб, но (по логике) при запуске в самом начале должен стоять скрипт, который проверяет командную строку, возможно она считывается в массив(уточнять в справке!!!), так вот если в командной строке присутствует нужная запись, то через условие (IF) отправлять на нужную странмцу, можно в параметрах указать страницу на какую нужно(по выбору), если командная строка пуста , то открывать с начало Добавлено (11 Май 2010, 15:28) ---------------------------------------------
Quote (YURIY) В скрипте старта первой страницы считываешь параметры. пока набивал, тут уже ответили
|
|
| |
Sam726 | Дата: Вторник, 11 Мая 2010, 15:30 | Сообщение # 11 |
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
| А! Типа по стандартному коду? Code n=VAL(CmdLineParam$[0]) If (n>0) Then For i=1 To n NextPage() Next i End Если вставить этот код на первую страничку, а в *.bat прописать MMB.exe byrda. То получается если запускать просто приложение 1 страница, через *.bat 2 страница. Правельно или что-то не так в коде???
|
|
| |
Сергей | Дата: Вторник, 11 Мая 2010, 15:32 | Сообщение # 12 |
Необукер
Группа: Проверенные
Сообщений: 858
Репутация: 64
Награды: 22
Статус: Offline
| зачем вам батник? Через автозагрузку же нужно открываеть определеную страницу, значит туда и писать путь\программу\парамтр
|
|
| |
YURIY | Дата: Вторник, 11 Мая 2010, 15:33 | Сообщение # 13 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Убери цикл, зачем он там... И батник зачем? Создай ярлык, а в нём путь к файлу с параметром. Добавлено (11 Май 2010, 15:33) ---------------------------------------------
Вечная память Андрею Сергееву!
|
|
| |
Sam726 | Дата: Вторник, 11 Мая 2010, 15:38 | Сообщение # 14 |
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
| Все! Спасибо большое Получается так. Это вставляем в начало пректа Code n=VAL(CmdLineParam$[0]) If (n>0) Then NextPage() End А в ярлыке дописываем что-то (типа команда).
|
|
| |
Rush | Дата: Вторник, 11 Мая 2010, 16:30 | Сообщение # 15 |
Обозреватель-консультант
Группа: Проверенные
Сообщений: 216
Репутация: 10
Награды: 1
Статус: Offline
| Если вы сюда посмотрите, то увидите и автозагрузку, и с параметрами и все чего надо. http://mmbuilder.ru/load/31-1-0-526 Совершенно непонятно - зачем делать учебные примеры, если их никто не смотрит? Делается специально ведь для иллюстрации возможностей ММВ. Для себя я и без ММВ напишу... Почему и желание что-то делать убывает после каждой такой темы.
|
|
| |
Sam726 | Дата: Вторник, 11 Мая 2010, 17:54 | Сообщение # 16 |
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
| хм... проблема однако получается. Запустить то мы запускаем. Но вот скрипты то он не запускает!!! У меня на второй страничке стоит команда запуска скрипта и она не хо активироваться, точнее правильно активироваться. Если ставить запуск скрипта сразу: то программа работает в скрытом режиме. А если запуск скрипта через какое-то время, то оно его вообще не запускает. Это все проверенно, все правильно. Поскольку если запускать нужный скрипт через комбинацию клавиш, то все ОК!!! Что делать???
|
|
| |
toizy | Дата: Вторник, 11 Мая 2010, 19:32 | Сообщение # 17 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Quote (Sam726) Правельно или что-то не так в коде??? Не так. Code n=VAL(CmdLineParam$[0]) If (n>0) Then NextPage() End - это, получается, пишем в параметрах что угодно, и проект сразу переходит на следующую страницу. Можно и так, но некрасиво. Ты б хоть проверил, что за параметр тебе передают (If..Then). Так можно будет сделать переход на любую страницу, а не только на следующую. Добавлено (11 Май 2010, 19:18) --------------------------------------------- Quote (Sam726) Поскольку если запускать нужный скрипт через комбинацию клавиш, то все ОК!!! Что делать??? написать в твоём цикле с проверкой параметров запуска один лишний RunScript... это чтобы запускалось без комбинации клавиш. Подумай. Всё просто. Добавлено (11 Май 2010, 19:32) --------------------------------------------- Вот пример, если тебе тяжко без кода: Code **Берём в переменную cmdCount количество параметров запуска cmdCount = VAL(CmdLineParam$[0]) **Если количество параметров больше нуля, то... If (cmdCount > 0) Then **Если первый параметр равен условному значению Page 2, то If (CmdLineParam$[1] = 'Page 2') Then **Переходим на стр. 2 Page("Page 2") End **Если Page 3, то If (CmdLineParam$[1] = 'Page 3') Then **Переходим на стр. 3 Page("Page 3") End **Если первый параметр = Page 1, а второй = Script, то If (CmdLineParam$[1] = 'Page 2' & CmdLineParam$[2] = 'Script') Then **Переходим на стр. 2 и запускаем сценарий с именем Script Page("Page 2") RunScript("Script") End End
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Sam726 | Дата: Среда, 12 Мая 2010, 11:07 | Сообщение # 18 |
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
| хм... Вот какая интересная штука получается. На станицу переходит, скрипт запускает, вроде все нормально, но! Не полностью оно работает почему-то... Code file$='<SrcDir>\Data\Theme.ini' set$='SCRIPT:1='+StrFromFile(file$,32,5) SetObjectParam("Seting","set$") ScriptTimer("Seting","100") Scr iptTimer("Finish","3000") Этот код стоит на странице и получается что скрипт Finish запускается, работает. А вот Seting не хочет стартовать. Код грузит но не стартует. И через другие скрипты то ж не хо запускаться. Почему ж так? Только через ручной запуск клавишами
|
|
| |
toizy | Дата: Среда, 12 Мая 2010, 22:08 | Сообщение # 19 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Попробуй так: Code ScriptTimer("Timer1=Seting","100") Scr iptTimer("Timer2=Finish","3000")
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Sam726 | Дата: Среда, 12 Мая 2010, 22:50 | Сообщение # 20 |
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
| toizy, спасибо. Получилось
|
|
| |