|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив].: NSIS - все вопросы :. |
|
[архив].: NSIS - все вопросы :.
|
Ветеран Сообщения: 1216 |
Профиль | Отправить PM | Цитировать
|
|
Отправлено: 23:35, 17-06-2006 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата Proton:
Цитата Proton:
Function dogovor_confirm ${NSD_GetText} $textdogov $numberdogov StrCpy $numberdogov $numberdogov 4 ${ifnot} $numberdogov == nsis ;если не равно "nsis" MessageBox MB_ICONSTOP "Неверный пароль !!!" Abort ; конец иницилизации ${endif} FunctionEnd Если числовые то с одним знаком = |
||
------- Последний раз редактировалось kotkovets, 08-04-2011 в 14:28. Отправлено: 10:00, 08-04-2011 | #1051 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Подскажите пожалуйста, как решить такую задачу - удаление , одного или нескольких любых символов, в начале нескольких конкретных строк текстового файла. Т.е., например :
Удалить : 1ый любой символ в начале строк с 37 по 68 включительно. Или : удалить 3 первых любых символа в строках с 10 по 20 и 3 первых любых символа, в 33 строке. В справочнике ничего подходящего не обнаружил... ps Если удление сделать нельзя, то хотя бы заменить символ на пустой... |
Последний раз редактировалось MKN, 08-04-2011 в 10:37. Отправлено: 10:20, 08-04-2011 | #1052 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать MKN, А зачем удалять, когда можно методом сравнения строки заменить целиком строку и код проще и гемора меньше на порядок.
вот к примеру есть строка: forum.oszone.ru ${WordReplace} '$R9' 'forum.oszone.ru' 'я на forum.oszone.ru - изучаю NSIS' "+" '$R9' в итоге заменится строка forum.oszone.ru на я на forum.oszone.ru - изучаю NSIS а параметры замены в оригинале смотри по индексу WordReplace или Word. а если строку нужно удалить: ${WordReplace} '$R9' 'forum.oszone.ru' '' "+" '$R9' Но останется пустая строка, как ее удаллить смотри здесь: http://forum.oszone.net/post-1645122-1011.html |
------- Последний раз редактировалось kotkovets, 08-04-2011 в 12:12. Отправлено: 12:01, 08-04-2011 | #1053 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
Когда в текстовом файле таких строк сотни и с чёрт знает какими записями - это убийственно... А надо всего лишь удалить несколько символов в началах этих строк. При чём только в конкретных или в группах строк... |
|
Отправлено: 12:24, 08-04-2011 | #1054 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать kotkovets,
Я почти нашёл, то что нужно в TextFunc.nsh Когда в файл примера вставляешь : то вроде как всё работает, но только в примере, а отдельно нет... И в том примере так много всего лишнего... |
Последний раз редактировалось MKN, 08-04-2011 в 15:26. Отправлено: 13:22, 08-04-2011 | #1055 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать MKN,а все таки справку по вордовским хренотенью плохо смотрел... там куча параметров в вхождение в строку : в начале , в середину, с какого символа, на длину и т.д
макрос ${LineFind} "[File1]" "[File2|/NUL]" "[LineNumbers]" "Function" взгляни к примеру: $R9 - строковые значения $R8 - номер линии строки текста [LineNumbers] 1;-1 - все линии читать 5:9 - читать с 5 до 9 линии в справке все это есть же. WordFind, WordReplace, WordFind2X в функции LineReplaceFunction вставляй с нужными параметрами |
------- Отправлено: 13:24, 08-04-2011 | #1056 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Подскажите как в функции указать переход к другой функции или возврат в начало выполнения скрипта (к первой странице инсталятора)?
|
Отправлено: 16:02, 10-04-2011 | #1057 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата Proton:
Цитата Proton:
ИМХО, в студию проблемный кусок скрипта.. а там видно будет, что и как "правильнее делать" |
||
------- Отправлено: 21:29, 10-04-2011 | #1058 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Нашел выход в команде Abort - прекращение выполнения скрипта дальше, возможно это извращение но мне помогло
Page custom dogovor_vvod dogovor_confirm ;!insertmacro MUI_PAGE_LICENSE "${NSISDIR}\Docs\Modern UI 2\LicenseRU.txt" !insertmacro MUI_PAGE_COMPONENTS ;!insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_LANGUAGE "Russian" ;-------------------------------- ;установка ;-------------------------------- Var dogovor Var textdogov Var numberdogov Function dogovor_vvod nsDialogs::Create 1018 !insertmacro MUI_HEADER_TEXT "Введите номер договора с ISP PalNet" "Если вы не являетесь пользователем сети PalNet, прервите установку и удалите данное приложение" Pop $dogovor ${NSD_CreateText} 30% 30% 90u 12u "" Pop $textdogov nsDialogs::Show FunctionEnd Function dogovor_confirm ${NSD_GetText} $textdogov $numberdogov StrCpy $numberdogov $numberdogov 3 ${ifnot} $numberdogov == pal ;если не равно pal***** MessageBox MB_ICONSTOP|MB_YESNO " $\r$\nНеверный номер договора! $\r$\nПопробовать снова?$\r$\n $\r$\n" IDNO End Abort ${else} Goto Next ${endif} End: Quit Next: FunctionEnd если есть более разумный выход при неверно введеных данных вернуться в начало выполнения скрипта, поделитесь идеей |
Отправлено: 01:59, 11-04-2011 | #1059 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Proton, Что за извращения с метками в логических конструкциях(((...
Конструкции для того и существуют, чтобы метки (безусловные переходы) не использовать... здесь вариант на относительном переходе внутри конструкции, которая выполняется только, когда введен неправильный пароль, т.е по заданному условию в логике. ${NSD_GetText} $textdogov $numberdogov StrCpy $numberdogov $numberdogov 3 ${IfNot} $numberdogov == pal ;если не равно pal***** тогда ниже команды будут выполнены до закрытия конструкции ${EndIf} MessageBox MB_ICONSTOP|MB_YESNO "Неверный номер договора!$\r$\nПопробовать снова?" IDNO +2 Abort Quit ${EndIf} FunctionEnd Скачайте Справочник по NSIS и почитайте про логические конструкции. |
------- Последний раз редактировалось kotkovets, 11-04-2011 в 13:03. Отправлено: 11:47, 11-04-2011 | #1060 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Мультимедиа - 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 |
|