Форум
Написать нам
  • Страница 1 из 1
  • 1
Модератор форума: as-master  
Запуск проекта с нужной страницы
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, :D
Сергей, вроде как ммв не обладает такой фичей.
Quote (Sam726)
Это типа сделать еще один проект или как???

Или как, :D
Ну посмотри ты команды ммв рун рунмбд..
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)
В скрипте старта первой страницы считываешь параметры.
пока набивал, тут уже ответили :D
 
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
Quote (Sam726)
а в *.bat
зачем вам батник? Через автозагрузку же нужно открываеть определеную страницу, значит туда и писать путь\программу\парамтр
 
YURIYДата: Вторник, 11 Мая 2010, 15:33 | Сообщение # 13
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Убери цикл, зачем он там...

И батник зачем? Создай ярлык, а в нём путь к файлу с параметром.

Добавлено (11 Май 2010, 15:33)
---------------------------------------------




Вечная память Андрею Сергееву!
 
Sam726Дата: Вторник, 11 Мая 2010, 15:38 | Сообщение # 14
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
Все! Спасибо большое yes
Получается так. Это вставляем в начало пректа
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, спасибо. Получилось :)

 
  • Страница 1 из 1
  • 1
Поиск: