|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив].: NSIS - все вопросы :. |
|
[архив].: NSIS - все вопросы :.
|
Ветеран Сообщения: 1216 |
Профиль | Отправить PM | Цитировать
|
|
Отправлено: 23:35, 17-06-2006 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать kotkovets, K.A.V., - спасибо за помощь и терпение...
Но всё же не даёт мне покоя, как из цикла извлекать значения каждого прохода (в файл ли или в переменные) ? В поисках информации, которой нет, наткнулся на такой код : Программа, выводящая песню о пиве (beer.nsi) ; Beer song. Written by Evgeny Stepanischev Дело конечно не в песне, а в наглядности возможностей NSIS. Так вот - возможно ли из такого рода кода извлечь текст песни не DetailPrint_ом, а в обычный файл ? Как это сделать ? Caption "Beer song" OutFile "beer99.exe" BrandingText "Beer song (Evgeny Stepanischev)" ShowInstDetails show !macro c StrCpy $2 "" Call PrintBeer !macroend Function PrintBeer IntCmp $1 0 no "" "" StrCpy $2 "$2$1" Goto +2 no: StrCpy $2 "$2No" StrCpy $2 "$2 bottle" IntCmp $1 1 nos "" "" StrCpy $2 "$2s" nos: StrCpy $2 "$2 of beer" FunctionEnd Section "" StrCpy $1 99 loop: !insertmacro c StrCpy $2 "$2 on the wall, " Call PrintBeer DetailPrint "$2." DetailPrint "Take one and pass around," IntOp $1 $1 - 1 !insertmacro c DetailPrint "$2 on the wall." DetailPrint "" IntCmp $1 0 "" loop loop DetailPrint "No more bottles of beer..." DetailPrint "Go to the store and buy some more..." DetailPrint "99 bottles of beer." SectionEnd |
Отправлено: 15:21, 27-03-2012 | #2451 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать MKN, что мешает заменить команду DetailPrint командой FileWrite?
Function .onInit FileOpen $R0 "$EXEDIR\kav_song.txt" w FileWrite $R0 "$\n$\r" call test FileClose $R0 quit FunctionEnd !macro c StrCpy $2 "" Call PrintBeer !macroend Function PrintBeer IntCmp $1 0 no "" "" StrCpy $2 "$2$1" Goto +2 no: StrCpy $2 "$2No" StrCpy $2 "$2 bottle" IntCmp $1 1 nos "" "" StrCpy $2 "$2s" nos: StrCpy $2 "$2 of beer" FunctionEnd Function test StrCpy $1 99 loop: !insertmacro c StrCpy $2 "$2 on the wall, " Call PrintBeer FileWrite $R0 "$\n$2." FileWrite $R0 "$\nTake one and pass around," IntOp $1 $1 - 1 !insertmacro c FileWrite $R0 "$\n$2 on the wall." FileWrite $R0 "$\n" IntCmp $1 0 "" loop loop FileWrite $R0 "$\nNo more bottles of beer..." FileWrite $R0 "$\nGo to the store and buy some more..." FileWrite $R0 "$\n99 bottles of beer." FunctionEnd Цитата MKN:
|
|
------- Отправлено: 16:18, 27-03-2012 | #2452 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Цитата K.A.V.:
Каким образом записать последовательность значений отсчёта а - в файл ? b - в переменные , где каждое значение (от 1 до 10 в данном примере), "прирощенное" в каждом отсчёте цикла, записывается в свою переменную ? Т.е. небходимы 10 переменных. |
|
Отправлено: 16:24, 27-03-2012 | #2453 |
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать MKN
а - в файл, либо методом WriteINIStr, чтобы сохранить значение каждого цыкла в разный параметр Либо из примера б запишите одной строкой и возьмите как указано в том же примере ${for} $1 1 10 WriteINIStr "$TEMP\test.ini" "test" "test" "Цикл №$1" "Значение цикла" MessageBox MB_OK "$1" IDOK ${next} Или насчет б я бы зделал так: Создал переменную, и в ней уже проделывал все манипуляции Скажем, создал переменную и могу хранить в ней значение 10 других "переменных" Function .onInit var /global MyVar StrCpy $MyVar "/1=0 /2=0 /3=0 /4=0 /5=0 /6=0 /7=0 /8=0 /9=0 /10=0" ; Заполним "переменные нулевыми значениями, чтобы потом можно было их заменить" call test ${for} $1 1 10 ${GetOptions} "$MyVar" "/$1=" $R0 ; Здесь мы получаем значение каждой "переменной" MessageBox MB_OK "/$1=$R0" IDOK ${next} quit FunctionEnd Function test ${for} $1 1 10 ${GetOptions} "$MyVar" "/$1=" $R0 intop $2 $1 + 10 ${StrRep} $MyVar "$MyVar" "/$1=$R0" "/$1=$2" ; Заменяем в нашей переменной значение каждой "подпеременной" плюсуя к значению 10 MessageBox MB_OK "/$1=$R0" IDOK ${next} FunctionEnd |
------- Отправлено: 16:50, 27-03-2012 | #2454 |
Старожил Сообщения: 474
|
Профиль | Отправить PM | Цитировать Существует ли в NSIS ключ, наподобие ключа из InnoSetup /silent, но не /verysilent, чтобы процесс установки не был скрыт, как ключём /S, а шёл автоматически, без возможности отмены, но видимо?
|
Отправлено: 19:10, 28-03-2012 | #2455 |
Ветеран Сообщения: 1088
|
Профиль | Отправить PM | Цитировать BigBoo, Типы инсталляторов
|
Отправлено: 20:37, 28-03-2012 | #2456 |
Старожил Сообщения: 176
|
Профиль | Отправить PM | Цитировать kotkovets скажи пожалуйста, вот на счет описанного тобой плагина InvokeShellVerb Plugin for NSIS и хедера InvokeShellVerb.nsh вот если делать так ${PinToPusk} "$WINDIR\notepad.exe" то название закрепленного ярлыка так и есть notepad.exe как то не эстетично, возможно как то задать иное название?
|
Отправлено: 20:43, 28-03-2012 | #2457 |
Старожил Сообщения: 474
|
Профиль | Отправить PM | Цитировать Цитата alert30:
|
|
Отправлено: 20:54, 28-03-2012 | #2458 |
Ветеран Сообщения: 1088
|
Профиль | Отправить PM | Цитировать Цитата BigBoo:
|
|
Отправлено: 21:01, 28-03-2012 | #2459 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата BigBoo:
Запуск с ключом /silent - заставляет установщик перенестись на страничку установки. Почему на 3 страничку, стандартных страничек приветствия и финиша в нсис нет!, значит их не учитываем, остается только по скрипту 3 странички: 1 выбор директории 2 выбор компонентов 3 страничка установки - на страничку эту и ведем счет. создаем "последнюю" секцию по скрипту, что бы не показывалась страничка финиша. Цитата diakov:
|
||
------- Отправлено: 21:40, 28-03-2012 | #2460 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Мультимедиа - WinAmp .:[ обсуждение всех версий ]:. | ssaram | Программное обеспечение Windows | 406 | 12-02-2022 19:45 | |
WinstyleMonitor .:[все вопросы]:. | Mr dUSHA | Проект WinStyle | 331 | 12-02-2014 13:15 | |
Delphi - Delphi .: [все вопросы] :. | Serega | Программирование и базы данных | 94 | 04-05-2013 18:45 | |
Доступ - Никак не удаляются файлы (AVI и все остальные форматы) .:[все вопросы]:. | Microsoft Windows 2000/XP | 105 | 30-06-2010 11:58 | ||
Вопросы по создателю инсталляций NSIS | MaxDELETE | Программное обеспечение Windows | 14 | 04-07-2007 10:01 |
|