|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив].: NSIS - все вопросы :. |
|
[архив].: NSIS - все вопросы :.
|
Ветеран Сообщения: 1216 |
|
|
Отправлено: 23:35, 17-06-2006 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата Impeck:
Очередное приближение, как вариант а ![]() !include "MUI2.nsh" !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_LANGUAGE "Russian" ShowInstDetails show outfile testing.exe Var char Var conv_char Var stroka_in Var stroka_out Section test ;эти команды препроцессора нужны для ускорения работы цикла ;чтобы в цикле не мельтешил прогресс бар!!! ;//////////////////////////// Call :.whilefor_Next !ifndef whilefor !define whilefor Goto .whilefor_End !endif .whilefor_Next: ;///////////////////////////// StrCpy $0 0 ;отсчет от нулевого символа, c 192 символа начинается кирилица StrCpy $1 206 ;шифрование символа, т.е нулевой символ = \x206, 255символ = \x461 StrCpy `$stroka_in` "абвгд" StrLen $2 `$stroka_in` ;вычисляем длину входной строки IntOp $2 $2 - 1 ${DoUntil} $2 == -1 ;цикл если нулевая длина строки, то цикл не начнется!!! Intfmt $char "%c" $0 ; в $char символ соответствующий цифре Intfmt $conv_char "\x$1" $0 ;конвертируем символ в вид \xYYY InTop $1 $1 + 1 ;----------------------- ;DetailPrint "[Номер символа: $0] -> $char = $conv_char" ;$char - символ строки, $conv_char - конвертированный символ строки ;----------------------- InTop $0 $0 + 1 ;c каждым циклом увеличиваем на 1 $0 ${For} $R1 0 $2 StrCpy $5 '$stroka_in' 1 $R1 ;в цикле разбиваем входную строку на один символ StrCmps $5 $char 0 +2 ;cравниваем символ учитывая регистр символа, это очень важно! StrCpy $stroka_out $stroka_out$conv_char ${Next} ${LoopUntil} $0 == 256 ;глобальный цикл на 256 символов строки ;///////////////////////////// Return .whilefor_End: ;///////////////////////////// DetailPrint "Входная строка: $stroka_in" DetailPrint "Закодированная строка: $stroka_out" SectionEnd |
|
------- Последний раз редактировалось kotkovets, 29-09-2011 в 14:00. Отправлено: 13:17, 29-09-2011 | #1671 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать То что нужно, спасибо огромное.
|
Отправлено: 14:32, 29-09-2011 | #1672 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Impeck,
Еще маленькая загвоздка, как известно NSIS хранит в переменной максимум 1024 символа расширенная версия NSIS хранит максимум 8192 символа (более подробно почитайте в справочнике по NSIS - > Расширенная версия NSIS Так вот при конвертировании одного символа - конвертированный символ занимает 5 символов, при превышении максимального хранения символов входной строки - будет обрезаться, т.е выходная строка будет обрезана до максимума хранения. ${NSIS_MAX_STRLEN} Здесь очень выгодно использовать расширенную версию NSIS. |
------- Отправлено: 14:46, 29-09-2011 | #1673 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать как правильно
SetShellVarContext all CreateDirectory "$APPDATA\Adobe\" SetShellVarContext all CopyFiles /SILENT "$EXEDIR\Data\Adobe\*.*" "$APPDATA\Adobe\" или SetShellVarContext all CreateDirectory "$APPDATA\Adobe\" CopyFiles /SILENT "$EXEDIR\Data\Adobe\*.*" "$APPDATA\Adobe\" ? |
Отправлено: 21:38, 29-09-2011 | #1674 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата punsh:
|
|
------- Отправлено: 22:19, 29-09-2011 | #1675 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Товарищи, есть ли комманда автоматически поместить ярлык программы на панель задач для windows 7?
|
------- Отправлено: 14:58, 02-10-2011 | #1676 |
![]() Пользователь Сообщения: 89
|
Профиль | Отправить PM | Цитировать Цитата wolkow70:
|
|
Отправлено: 15:32, 02-10-2011 | #1677 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Цитата sawe:
В Inno примерно так пишется (подсмотел в скрипте): Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\PotPlayer"; Filename: "{app}\PotPlayerMini.exe"; WorkingDir: "{app}"; Check: "MakeQuickLaunchIcon"; BeforeInstall: "PinToTaskband ('{userappdata}\Microsoft\Internet Explorer\Quick Launch\PotPlayer.lnk')"; MinVersion: 0.0,6.01; |
|
------- Последний раз редактировалось wolkow70, 02-10-2011 в 15:57. Отправлено: 15:35, 02-10-2011 | #1678 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата wolkow70:
|
|
------- Отправлено: 16:09, 02-10-2011 | #1679 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать kotkovets,
Других вариантов нет, без VBS? |
------- Отправлено: 16:18, 02-10-2011 | #1680 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Мультимедиа - 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 |
|