|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 9] |
|
Скрипты Inno Setup. Помощь и советы [часть 9]
|
Ветеран Сообщения: 1269 |
Внимание! Данная тема предназначена только для обсуждения написания скриптов!
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Скрипты Inno Setup. Помощь и советы [часть 6] | Скрипты Inno Setup. Помощь и советы [часть 6].7z Скрипты Inno Setup. Помощь и советы [часть 7] | Скрипты Inno Setup. Помощь и советы [часть 7].7z Скрипты Inno Setup. Помощь и советы [часть 8] | Скрипты Inno Setup. Помощь и советы [часть 8].7z |
|
Отправлено: 16:09, 04-04-2018 |
![]() Ветеран Сообщения: 858
|
Профиль | Отправить PM | Цитировать Цитата ErikPshat:
Цитата ErikPshat:
Попробуйте еще так: Скрытый текст
[Setup] AppName=App AppverName=App v1.0 DefaultDirName={pf}\App OutputDir=. [Code] var errorcode: integer; function IsAnsiOrSym(S: String; var ResultError: integer): Boolean; var n: string; i,j: integer; begin if CompareStr(AnsiUppercase(S), Uppercase(S)) = 0 then if CompareStr(Lowercase(S), AnsiLowercase(S)) = 0 then Result := True else Result := False; if not result then ResultError := 1; if result then begin n := '!"@#$%^&*'; for i:=1 to length(s) do for j:=1 to length(n) do begin if s[i] = n[j] then begin Result := False; ResultError := 2; exit; end; end; end; end; procedure InitializeWizard(); begin if not (IsAnsiOrSym(ExpandConstant('{src}'), errorcode)) then if (errorcode=1) then MsgBox('Найдена кириллица в: '+ExpandConstant('{src}'),mbError,MB_OK); if not (IsAnsiOrSym(ExpandConstant('{src}'), errorcode)) then if (errorcode=2) then MsgBox('Найден спецсимвол в: '+ExpandConstant('{src}'),mbError,MB_OK); end; |
||
------- Последний раз редактировалось Dodakaedr, 30-04-2019 в 19:36. Отправлено: 18:46, 30-04-2019 | #321 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 54
|
Профиль | Отправить PM | Цитировать Цитата Dodakaedr:
Я разделил ту функцию на 2 отдельные функции. Ну там переменную "n" поменял на "m", т.к. первая у меня уже используется в коде. Вот моя химия:
function IsAnsi(S: String): Boolean; begin if CompareStr(AnsiUppercase(S), Uppercase(S)) = 0 then begin if CompareStr(Lowercase(S), AnsiLowercase(S)) = 0 then Result := True; end; end; function IsSymb(S: String): Boolean; var m: String; i, j: Integer; begin m := '!"@#$%^&*'; for i:=1 to length(S) do for j:=1 to length(m) do begin if S[i] = m[j] then Result := False; end; end; procedure InitializeWizard(); if not(IsAnsi(ExpandConstant('{src}'))) then begin MsgBox(ExpandConstant('{cm:CirillicPATH}')+#10#10+ExpandConstant('{src}'), mbError, MB_OK);Exit;end; if not(IsSymb(ExpandConstant('{src}'))) then begin MsgBox(ExpandConstant('{cm:SimbolsPATH}')+#10#10+ExpandConstant('{src}'), mbError, MB_OK);Exit;end; Проверил ваш код. Всё отлично работает! Из функции exit; перенёс в исполняемый код, т.к. мне нужно, чтобы после оповещения, окно закрывалось и прекращало работу. Спасибо большое!!! |
|
Последний раз редактировалось ErikPshat, 30-04-2019 в 22:20. Отправлено: 20:50, 30-04-2019 | #322 |
Старожил Сообщения: 342
|
Профиль | Отправить PM | Цитировать Народ, у меня вопрос по секции [UninstallDelete]. При удалении приложения нужно так же удалять конфиг приложения. Но можно ли сделать, что б уинсталлер просил подтверждение при удалении?
|
------- Отправлено: 20:28, 08-06-2019 | #323 |
![]() Ветеран Сообщения: 858
|
Профиль | Отправить PM | Цитировать Цитата vk_k14m@vk:
[Setup] AppName=App AppverName=App v1.0 DefaultDirName={pf}\App OutputDir=. [Code] procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); begin if CurUninstallStep = usPostUninstall then if MsgBox('Также удалить настройки программы?', mbConfirmation, MB_YESNO)=IDYES then DeleteFile(ExpandConstant('{commonappdata}\Proga\config.cfg')); end; |
|
------- Отправлено: 21:58, 08-06-2019 | #324 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Dodakaedr, лучше бы вопрос задавался в самом начале процесса деинсталляции, а не в конце (если я правильно понял логику кода).
|
Отправлено: 22:56, 08-06-2019 | #325 |
Старожил Сообщения: 342
|
Профиль | Отправить PM | Цитировать Цитата Iska:
И наверно нужно было уточнять, что конфиг не один а несколько. И достоверно известна только папка в которой они находятся, но не их названия... Изменил код на как мне казалось рабочий вариант. [code] Но нет. Установщик спросил удалять или нет, и при согласии файлы остались на месте. Что я сделал не так? |
|
------- Последний раз редактировалось vk_k14m@vk, 09-06-2019 в 00:05. Отправлено: 23:30, 08-06-2019 | #326 |
![]() Ветеран Сообщения: 858
|
Профиль | Отправить PM | Цитировать Цитата vk_k14m@vk:
Цитата Iska:
И судя по ответу Цитата vk_k14m@vk:
|
|||
------- Отправлено: 23:49, 08-06-2019 | #327 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Dodakaedr:
Цитата Dodakaedr:
![]() |
||
Отправлено: 00:46, 09-06-2019 | #328 |
Старожил Сообщения: 342
|
Профиль | Отправить PM | Цитировать Цитата Dodakaedr:
|
|
------- Последний раз редактировалось vk_k14m@vk, 09-06-2019 в 01:10. Отправлено: 00:51, 09-06-2019 | #329 |
![]() Ветеран Сообщения: 858
|
Профиль | Отправить PM | Цитировать Цитата vk_k14m@vk:
|
|
------- Отправлено: 07:56, 09-06-2019 | #330 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты Inno Setup. Помощь и советы [часть 7] | El Sanchez | Автоматическая установка приложений | 2499 | 02-02-2015 08:59 | |
Скрипты Inno Setup. Помощь и советы [часть 6] | El Sanchez | Автоматическая установка приложений | 2494 | 10-03-2014 11:51 | |
Скрипты Inno Setup. Помощь и советы [часть 5] | El Sanchez | Автоматическая установка приложений | 1999 | 28-03-2013 19:09 | |
Скрипты Inno Setup. Помощь и советы [часть 4] | El Sanchez | Автоматическая установка приложений | 2099 | 22-05-2012 23:16 | |
Скрипты Inno Setup. Помощь и советы [часть 3] | Serega | Автоматическая установка приложений | 3755 | 26-10-2011 17:58 |
|