[Цитировать]

    Гость
  • Репутация:0

    [+] [-]

Пример с 'бегущей' шкалой установки

CALL @Windows1
_SUB Windows1,W600H280,Установка программ,,
ENVI @this.Font=12:Tahoma
LABE Label,L40T10W520H20,Выбирете программы для установки ,,0xaaaaaa,16
CHEK Chk8,L300T80W250H20,XnShell,,1
PBAR PBAR1,L50T160W500H20,0 //Указываем размер и имя прогресс-бара
ENVI @Pbar1=-1 //Задаём начальное значение прогрессбара, при -1 он невидим, при значении 0...100 - видим и отображает значение
ITEM Button2,L170T200W100H24,Установить,CALL inst,
_END
_SUB inst
ENVI PbarZ=1 //Зададим видимость шкалы (отображать = 1)
ENVI Pbar2=20 //Зададим значение шкалы для первой программы установки (notepad.exe)
IFEX $%Chk8.Check%=1,EXEC* --cmd::300:BarMsg =notepad.exe //Запускаем первую утиль, каждые 300мс её работы вызывается подпрограмма BarMsg
ENVI Pbar2=40 //Зададим значение шкалы для второй программы установки (notepad.exe тоже)
IFEX $%Chk8.Check%=1,EXEC* --cmd::300:BarMsg =notepad.exe
ENVI Pbar2=60
IFEX $%Chk8.Check%=1,EXEC* --cmd::300:BarMsg =notepad.exe
ENVI Pbar2=80
IFEX $%Chk8.Check%=1,EXEC* --cmd::300:BarMsg =notepad.exe
ENVI Pbar2=100
IFEX $%Chk8.Check%=1,EXEC* --cmd::300:BarMsg =notepad.exe
ENVI @Pbar1=-1 //После установки всех программ делаем прогрессбар невидимым
_END
_SUB BarMsg
//IFEX $%PbarZ%=1,ENVI @Pbar1=%Pbar2%!ENVI @Pbar1=0 //Если шкала видима, покажем её значение, если же -1, тогда шкала пустая (вариант 1) - закомментировано!
IFEX $%PbarZ%=1,ENVI @Pbar1=%Pbar2%!TEAM CALC #Pbar1=%Pbar2%-20|ENVI @Pbar1=%Pbar1% //Если шкала видима, покажем её значение, если же -1, тогда шкала на 20 меньше (вариант 2, симпатичнее смотрится под поставленную задачу)
CALC PbarZ=not(%PbarZ%) //Инвертируем значение видимости
_END
*Немного обновил скрипт, добавил вариант, когда прогрессбар нарастает в пределах 20%.-
Выделить/убрать галки со всех чекбоксов. Можно ли как-то по другому ?
Можно по-разному. Можно задавать при запуске (отмечено или нет), можно задействать не только FORX, но и LOOP (цикл от 1 до 5 или от 5 до 1). Можно сделать кнопку, которая будет ставить/снимать все птички... Вариантов много, но постановка задачи непонятна.
И всё же как подсчитать количество выбранных ?
Просто суммируем значения.
CALC AllChk=%ch1.Check%+%ch2.Check%+%ch3.Check%+%ch4.Check%+%ch5.Check%

[Цитировать]

    puhpol
  • 2
  • Стаж: 10 лет
  • Сообщений: 891
  • Репутация:75

    [+] [-]
avalat, conty9, Приветствую и СПАСИБо! aa
Буду разбираться..

[Цитировать]

    Гость
  • Репутация:0

    [+] [-]
puhpol, avalat, можно сделать тонкую настройку прогрессбара в зависимости от количества выбранных чекбоксами приложений и времени их выполнения. Например, первое приложение заведомо большое, устанавливается 35сек. Второе - маленькое, 12сек. Третье - среднее, 20сек., четвертое - 47сек., пятое - 120сек.
Тогда можно подсчитать общее время установки так:
CALC AllChk=%ch1.Check%*35+%ch2.Check%*12+%ch3.Check%*20+%ch4.Check%*47+%ch5.Check%*120
Конечно, на другом ПК оно будет другим, но приблизительно пропорции будут сохранены.
После этого рассчитываем прирост шкалы для первого приложения (CALC #Prog - означает получить целое число, без дробей):
CALC #Prog1=%ch1.Check%*35*100/%AllChk%
35 - это время установки первого, 100 - это 100%
Аналогично для остальных. И в конце, просто задаём приросты для каждого этапа
CALC Pbar2=%Prog1%
CALC Progress=%Prog1%
И в подпрограмме BarMsg меняем диапазон колебания прогрессбара на прирост шкалы соответствующего приложения.
IFEX $%PbarZ%=1,ENVI @Pbar1=%Pbar2%!TEAM CALC #Pbar1=%Pbar2%-%Progress%|ENVI @Pbar1=%Pbar1%

Как-то так...

CALL @Windows1
_SUB Windows1,W600H280,Установка программ,,
ENVI @this.Font=12:Tahoma
LABE Label,L40T10W520H20,Выберите программы для установки ,,0xaaaaaa,16
CHEK ch1,L500T120W250H20,Program1,,1
CHEK ch2,L500T140W250H20,Program2,,0
CHEK ch3,L500T160W250H20,Program3,,0
CHEK ch4,L500T180W250H20,Program4,,1
CHEK ch5,L500T200W250H20,Program5,,1
PBAR PBAR1,L50T160W400H20,0
ENVI @Pbar1=-1
ITEM Button2,L170T200W100H24,Установить,CALL inst,
_END
_SUB inst
ENVI PbarZ=1
CALC AllChk=%ch1.Check%*35+%ch2.Check%*12+%ch3.Check%*20+%ch4.Check%*47+%ch5.Check%*120
CALC #Prog1=%ch1.Check%*35*100/%AllChk%
CALC #Prog2=%ch2.Check%*12*100/%AllChk%
CALC #Prog3=%ch3.Check%*20*100/%AllChk%
CALC #Prog4=%ch4.Check%*47*100/%AllChk%
CALC #Prog5=%ch4.Check%*120*100/%AllChk%
CALC Pbar2=%Prog1%
CALC Progress=%Prog1%
IFEX $%ch1.Check%=1,EXEC* --cmd::600:BarMsg =notepad.exe
CALC Pbar2=%Pbar2%+%Prog2%
CALC Progress=%Prog2%
IFEX $%ch2.Check%=1,EXEC* --cmd::600:BarMsg =notepad.exe
CALC Pbar2=%Pbar2%+%Prog3%
CALC Progress=%Prog3%
IFEX $%ch3.Check%=1,EXEC* --cmd::600:BarMsg =notepad.exe
CALC Pbar2=%Pbar2%+%Prog4%
CALC Progress=%Prog4%
IFEX $%ch4.Check%=1,EXEC* --cmd::600:BarMsg =notepad.exe
CALC Pbar2=%Pbar2%+%Prog5%
CALC Progress=%Prog5%
IFEX $%ch5.Check%=1,EXEC* --cmd::600:BarMsg =notepad.exe
ENVI @Pbar1=-1
_END
_SUB BarMsg
IFEX $%PbarZ%=1,ENVI @Pbar1=%Pbar2%!TEAM CALC #Pbar1=%Pbar2%-%Progress%|ENVI @Pbar1=%Pbar1%
CALC PbarZ=not(%PbarZ%)
_END

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 9 месяцев
  • Сообщений: 466
  • Репутация:127

    [+] [-]
conty9, а в PECMD нет ограничения длины строки ? Программ может быть и побольше...(CALC AllChk=...............)


Последний раз редактировалось: avalat (2020-01-20 08:30), всего редактировалось 2 раз(а)

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 9 месяцев
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
avalat
73302нет ограничения длины строки ?
Это windows приложение, скорее всего строка ограничена 4096 - 4 , возможно 8192 - 4 символа, ограничения windows.
Но, переменные могут раскрываться, длины строки может не хватить.

[Цитировать]

    Гость
  • Репутация:0

    [+] [-]
avalat, nikzzzz, я пока с ограничениями длины не сталкивался. Хотя довольно длинные порой бывали строки (когда, например, нужно значение ключа в реестр внести).
По крайней мере, до тысячи знаков проблем не было.

Вот одной строкой, длина 1572 символа, работает в скрипте Ufd2Hdd

EXEC =!Reg.exe add HKLM\SOFTWARE\Microsoft\SystemCertificates\ROOT\Certificates\FDE81B077831C7574B68DA27D7AA1B12B82A21E6 /v Blob /t REG_BINARY /d 0400000001000000100000006b44044af19de5f7d9add5d38740bc310f000000010000001000000091b8bf3a70c0319463e10e1d97f12205140000000100000014000000ce0da7a8ba692165c46fd27df01111f84479df0219000000010000001000000004c04ace99870a24ebf94edd57ed6a65030000000100000014000000fde81b077831c7574b68da27d7aa1b12b82a21e6200000000100000027020000308202233082018ca00302010202108abea733a4f5249948598b00933bb3fa300d06092a864886f70d010104050030233121301f060355040313184b6172796f6e697820546573742d5369676e696e67204341301e170d3039303931323031313535315a170d3339313233313233353935395a30233121301f060355040313184b6172796f6e697820546573742d5369676e696e6720434130819f300d06092a864886f70d010101050003818d0030818902818100eabb4180c960594077b259606369adc9eedcc12cfc934f3987440e657be9aa07052fa970d9d13b7a8fbc625b2b1ac3e0fc58d3626b322a512ad780dbbdf7152826235b5b2c907ec62fbf0c261d1f6be4e26a18d2ec66fe12ac7f098d1749576f254e72df12e2af9e5b5c3880fdecf39c205bdc1ae43fe459ab6d549b0d5feb8b0203010001a358305630540603551d01044d304b801054491d5b5507bf788812320ddb857222a12530233121301f060355040313184b6172796f6e697820546573742d5369676e696e6720434182108abea733a4f5249948598b00933bb3fa300d06092a864886f70d0101040500038181008e9ec4aaf5407b5bc452e407b48d18d981758c25b3b79f5a0f2f720e99f4d77d41a92014129e2b54cde3a547d40991c2a611b54aa19ce0b2e13302b3b5b583d8e06ba99e14680411f57b08bbcbf34aaca36375393d68c7007af00db157e7746199ffa0273957207ff24be8097d4968796adb0fd6e0281c27e1ada981130c0593 /f
По переменным есть ограничение, но они не раскрываются в строке точно. Они читаются как имя переменной, и только при обработке заменяются значением. Этим я часто пользуюсь при создании однотипных задач. Например, создании в цикле нескольких кнопок. Доберусь до компьютера, приведу пример, он точно пригодится.


Последний раз редактировалось: Гость (2020-01-17 18:40), всего редактировалось 1 раз

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 9 месяцев
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
conty9, aa
73308По крайней мере, до тысячи знаков проблем не было.
Так я про то и глаголю, 4092 символа в большинстве случаем достаточно с запасом, можно точно вычислить, написав тест, только зачем?
Разве, что если нужно впихнуть в скрипт какой-нибудь бинарник.
К стати, а можно ли в PeCmd создать массив?

[Цитировать]

    Гость
  • Репутация:0

    [+] [-]
nikzzzz, можно. В переменную в НЕХ можно черта лысого загнать. Сохранить содержимое переменных как файл - тоже без проблем. Можно патчить бинарные файлы, MBR/PBR...-

Пример 1

CALL @Windows1
_SUB Windows1,W600H280,Установка программ,,
ENVI @this.Font=12:Tahoma
LABE Label,L40T10W520H20,Выберите программы для установки ,,0xaaaaaa,16
FORX* 1 2 3 4 5,TEnvi,
{* CALC Hch=100+20*%TEnvi% //Рассчитываем высоту размещения чекбокса
CHEK ch%TEnvi%,L500T%Hch%W250H20,Program%TEnvi%,Mess Program%TEnvi%,1
} PBAR PBAR1,L50T160W400H20,0
ENVI @Pbar1=-1
ITEM Button2,L170T200W100H24,Установить,CALL inst,
_END
В примере мы генерируем в цикле FORX* пять чекбоксов ch1...ch5. Они отличаются номером, именем (номерным), и действием при нажатии на чекбокс (сообщение Program1...5). Казалось бы, всё должно работать... Почти работает. Расчет позиции соответствует ожиданиям, как и номер чекбокса. Это потому, что они были нужны при создании. А вот выдаваемое сообщение для всех чекбоксов будет одинаковым, Program5! Потому что в качестве действия для всех кнопок прописано не Mess Program1...5, а Mess Program%TEnvi%! И на момент, когда мы нажимаем любой чекбокс, у нас %TEnvi% = 5.

Пример 2

CALL @Windows1
_SUB Windows1,W600H280,Установка программ,,
ENVI @this.Font=12:Tahoma
LABE Label,L40T10W520H20,Выберите программы для установки ,,0xaaaaaa,16
FORX* 1 2 3 4 5,TEnvi,
{* CALC Hch=100+20*%TEnvi%
ENVI DEnvi=CHEK ch%TEnvi%,L500T%Hch%W250H20,Program%TEnvi%,Mess Program%TEnvi%,1
%DEnvi%
} PBAR PBAR1,L50T160W400H20,0
ENVI @Pbar1=-1
ITEM Button2,L170T200W100H24,Установить,CALL inst,
_END
Во втором примере мы немного подправили код, обхитрив PeCMD. Теперь мы присваиваем всю нашу команду CHEK ch%TEnvi%,L500T%Hch%W250H20,Program%TEnvi%,Mess Program%TEnvi%,1 переменной DEnvi, и выполняем %DEnvi% как команду. Теперь всё будет работать, как ожидалось: при нажатии на чекбокс ch3 получим сообщение Program3. Почему? Да потому что для выполнения %DEnvi% как команды нам понадобилось содержимое этой переменной в момент создания каждого чекбокса.

Пример 3

ENVI NEnvi=Первый чек#Второй Х#Трет.бокс#Четвер,5#Пятый ?
CALL @Windows1
_SUB Windows1,W600H280,Установка программ,,
ENVI @this.Font=12:Tahoma
LABE Label,L40T10W520H20,Выберите программы для установки ,,0xaaaaaa,16
FORX* 1 2 3 4 5,TEnvi,
{* CALC Hch=100+20*%TEnvi%
MSTR -delims:# XEnvi=<%TEnvi%>%NEnvi%
ENVI DEnvi=CHEK ch%TEnvi%,L500T%Hch%W250H20,%XEnvi%,Mess Program%TEnvi%,1
%DEnvi%
} PBAR PBAR1,L50T160W400H20,0
ENVI @Pbar1=-1
ITEM Button2,L170T200W100H24,Установить,CALL inst,
_END
В третьем примере мы добавляем в переменную NEnvi массив названий чекбоксов. Для того, чтобы можно было использовать названия с пробелами, используем как разделитель символ "#". С помощью MSTR -delims:# XEnvi=<%TEnvi%>%NEnvi% мы получаем в %XEnvi% из массива %NEnvi% нужное название (в %TEnvi% порядковый номер, ключ -delims:# указывает на разделитель - "#"). Аналогичный массив можно задействовать для имён запускаемых файлов.

[Цитировать]

    puhpol
  • 2
  • Стаж: 10 лет
  • Сообщений: 891
  • Репутация:75

    [+] [-]
Приветствую господа! aa
Не понял откуда взял этот пример:

вот

ENVI pb=CALC Pbar1=%Pbar1%+%b%
ENVI pb1=ENVI @Pbar1=%Pbar1%
ENVI p=CALC n=%n%+1
CALL ww
_sub ww,W410H270,Проба,,
ITEM ss,L300T198W80H25,Старт, CALL st
PBAR PBAR1,L15T160W364H20,,
CHEK ch1,L15T15W70H25, проба1,,
CHEK ch2,L15T40W70H25, проба2,,
CHEK ch3,L15T65W70H25, проба3,,
CHEK ch4,L15T90W70H25, проба4,,
CHEK ch5,L15T115W70H25, проба5,,
LABE -left h1,L15T198W250H50, ,,0x0000FF,16
_end
_SUB st
ENVI n=0
IFEX $%ch1.Check%=1,%p%
IFEX $%ch2.Check%=1,%p%
IFEX $%ch3.Check%=1,%p%
IFEX $%ch4.Check%=1,%p%
IFEX $%ch5.Check%=1,%p%
CALC b=100/%n%
ENVI @Pbar1=0
CALL start
_END
_SUB start
IFEX $%ch1.Check%=1,TEAM ENVI @h1=проба1|MESS Установка |%pb%|%pb1%
IFEX $%ch2.Check%=1,TEAM ENVI @h1=проба2|MESS Установка |%pb%|%pb1%
IFEX $%ch3.Check%=1,TEAM ENVI @h1=проба3|MESS Установка |%pb%|%pb1%
IFEX $%ch4.Check%=1,TEAM ENVI @h1=проба4|MESS Установка |%pb%|%pb1%
IFEX $%ch5.Check%=1,TEAM ENVI @h1=проба5|MESS Установка |%pb%|%pb1%
ENVI @h1=Выполнено
_END
Все хорошо, и почти понятно.... Только если вставляю эту историю в свой скрипт, прогрес бар дальше половины не проходит...

моя история

ENVI pb=CALC Pbar1=%Pbar1%+%b%
ENVI pb1=ENVI @Pbar1=%Pbar1%
ENVI p=CALC n=%n%+1
CALL @Windows1
_SUB Windows1,W400H280,Установка программ,,
ENVI @this.Font=12:Tahoma
LABE Label,L10T10W380H20,Выберите программы для установки ,,0xaaaaaa,16
// рисуем чекбоксы
CHEK Chk1,L15T40W150H20,7-Zip 19.00,,1
CHEK Chk2,L15T60W150H20,SumatraPDF 3.1.2,,1
CHEK Chk3,L15T80W150H20,UltraISO 9.7.2.3561,,1
CHEK Chk4,L15T100W150H20,WinRAR 5.71,,1
//CHEK Chk5,L15T120W150H20,Split to SWM (1000 Mb each),,0
CHEK Chk6,L220T40W250H20,Notepad++,,1
CHEK Chk7,L220T60W250H20,VLC,,1
CHEK Chk8,L220T80W250H20,XnShell,,1
CHEK Chk9,L220T100W250H20,Office2003micro,,1
//CHEK Chk10,L220T120W250H20,Split to SWM (1000 Mb each),,0
PBAR PBAR1,L15T160W365H20,,
//Кнопки
ITEM Button1,L15T200W100H24,Снять выбор,TEAM ENVI @Chk1.Check=0|ENVI @Chk2.Check=0|ENVI @Chk3.Check=0|ENVI @Chk4.Check=0|ENVI @Chk5.Check=0|ENVI @Chk6.Check=0|ENVI @Chk7.Check=0|ENVI @Chk8.Check=0|ENVI @Chk9.Check=0|ENVI @Chk10.Check=0,
ITEM Button2,L285T200W100H24,Установить,CALL puh
LABE h1,L130T200W120H24, ,,0x0000FF,14
_END
_SUB puh
MESS Установить выбранные приложения?@#YN
FIND $%YESNO%=YES,CALL st
FIND $%YESNO%=NO,EXIT
_END
_SUB st
ENVI n=0
IFEX $%Chk1.Check%=1,%p%
IFEX $%Chk2.Check%=1,%p%
IFEX $%Chk3.Check%=1,%p%
IFEX $%Chk4.Check%=1,%p%
IFEX $%Chk5.Check%=1,%p%
IFEX $%Chk6.Check%=1,%p%
IFEX $%Chk7.Check%=1,%p%
IFEX $%Chk8.Check%=1,%p%
IFEX $%Chk9.Check%=1,%p%
IFEX $%Chk10.Check%=1,%p%
CALC b=100/%n%
ENVI @Pbar1=0
CALL inst
_END
_SUB inst
ENVI @h1=Установка .....
IFEX $%Chk1.Check%=1,TEAM EXEC ="%CurDir%\7-Zip.exe" /ais|%pb%|%pb1%
IFEX $%Chk2.Check%=1,TEAM EXEC ="%CurDir%\SumatraPDF" /ais|%pb%|%pb1%
IFEX $%Chk3.Check%=1,TEAM EXEC ="%CurDir%\UltraISO" /VERYSILENT|%pb%|%pb1%
IFEX $%Chk4.Check%=1,TEAM EXEC ="%CurDir%\WinRAR" /ais|%pb%|%pb1%
//IFEX $%Chk5.Check%=1,TEAM EXEC ="%CurDir%\"|%pb%|%pb1%
IFEX $%Chk6.Check%=1,TEAM EXEC =!"%CurDir%\Notepad++\npp.cmd"|%pb%|%pb1%
IFEX $%Chk7.Check%=1,TEAM EXEC =!"%CurDir%\VLC\vlc.cmd"|%pb%|%pb1%
IFEX $%Chk8.Check%=1,TEAM EXEC =!"%CurDir%\XnShell\XnShellEx.cmd"|%pb%|%pb1%
IFEX $%Chk9.Check%=1,TEAM EXEC ="%CurDir%\Office_micro\Office2003micro.exe" /y| EXEC ="%CurDir%\Office_micro\Office2007support.exe"|%pb%|%pb1%
//IFEX $%Chk10.Check%=1,TEAM EXEC ="%CurDir%\"|%pb%|%pb1%
ENVI @h1=ГОТОВО!
TIPS Выбранные приложения установленны!!!, \n,5000,1,
_END
Пялился я на это дело пытаясь понять, но так и не понял почему он только до половины доходит.....
Подскажите пожалуйста. ah

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 9 месяцев
  • Сообщений: 466
  • Репутация:127

    [+] [-]
puhpol, aa
Думаю, что
EXEC =!"%CurDir%\Notepad++\npp.cmd"|%pb%|%pb1%
означает НЕ выполнять "!"
Попробуй
EXEC-hide="%CurDir%\Notepad++\npp.cmd"|%pb%|%pb1%
чтобы выполнить скрытым образом

[Цитировать]

    Гость
  • Репутация:0

    [+] [-]
puhpol, avalat - прав. У тебя идёт незаконченный синтаксис комманды IFEX:
IFEX условие,TEAM тут выполняем при соблюдении условия ! А после воскл.знака - при несоблюдении
В таких случаях используем вместо "!" - "*" или "--hide", тогда вся строка будет правильно интерпретироваться.
Кстати, попутно обнаружился ещё один нюанс: команда ENVI @Pbar1=%Pbar1% округляет %Pbar1% до целого числа, в результате в конце не хватает пару процентов. Я обошёл это с использованием %Pbar2%, в котором хранится реальное число прогресса (с дробной частью). Таким макаром прогресс в конце всегда доходит до 100% (ну или 99.999%).

малость подправил, добавил Снять выбор / Выбрать всё

CALC #XEnvi=0
CALL @Windows1
_SUB Windows1,W400H280,Установка программ,,
ENVI @this.Font=12:Tahoma
LABE Label,L10T10W380H20,Выберите программы для установки ,,0xaaaaaa,16
// рисуем чекбоксы
CHEK Chk1,L15T40W150H20,7-Zip 19.00,,1
CHEK Chk2,L15T60W150H20,SumatraPDF 3.1.2,,1
CHEK Chk3,L15T80W150H20,UltraISO 9.7.2.3561,,1
CHEK Chk4,L15T100W150H20,WinRAR 5.71,,1
CHEK Chk5,L220T40W250H20,Notepad++,,1
CHEK Chk6,L220T60W250H20,VLC,,1
CHEK Chk7,L220T80W250H20,XnShell,,1
CHEK Chk8,L220T100W250H20,Office2003micro,,1
PBAR PBAR1,L15T160W365H20,,
//Кнопки
ITEM Button1,L15T200W100H24,Снять выбор,CALL Slct
ITEM Button2,L285T200W100H24,Установить,CALL puh
LABE h1,L130T200W120H24, ,,0x0000FF,14
_END
_SUB Slct
FORX* 1 2 3 4 5 6 7 8,TEnvi,ENVI @Chk%TEnvi%.Check=%XEnvi%
CALC XEnvi=lnot(%XEnvi%)
FIND $%XEnvi%=0,ENVI @Button1=Снять выбор!ENVI @Button1=Выбрать всё
_END
_SUB puh
MESS Установить выбранные приложения?@#YN
FIND $%YESNO%=YES,CALL st!EXIT
_END
_SUB st
ENVI NEnvi=0
FORX* 1 2 3 4 5 6 7 8,TEnvi,IFEX $%Chk%TEnvi%.Check%=1,CALC #NEnvi=%NEnvi%+1
TEAM CALC b=100/%NEnvi%|ENVI @Pbar1=0|CALL inst
_END
_SUB Rasch
TEAM CALC Pbar2=%Pbar2%+%b%|ENVI @Pbar1=%Pbar2%
_END
_SUB inst
TEAM ENVI Pbar2=0|ENVI @h1=Установка .....
IFEX $%Chk1.Check%=1,TEAM EXEC ="%CurDir%\7-Zip.exe" /ais|CALL Rasch
IFEX $%Chk2.Check%=1,TEAM EXEC ="%CurDir%\SumatraPDF" /ais|CALL Rasch
IFEX $%Chk3.Check%=1,TEAM EXEC ="%CurDir%\UltraISO" /VERYSILENT|CALL Rasch
IFEX $%Chk4.Check%=1,TEAM EXEC ="%CurDir%\WinRAR" /ais|CALL Rasch
IFEX $%Chk5.Check%=1,TEAM EXEC =*"%CurDir%\Notepad++\npp.cmd"|CALL Rasch
IFEX $%Chk6.Check%=1,TEAM EXEC =*"%CurDir%\VLC\vlc.cmd"|CALL Rasch
IFEX $%Chk7.Check%=1,TEAM EXEC =*"%CurDir%\XnShell\XnShellEx.cmd"|CALL Rasch
IFEX $%Chk8.Check%=1,TEAM EXEC ="%CurDir%\Office_micro\Office2003micro.exe" /y| EXEC ="%CurDir%\Office_micro\Office2007support.exe"|CALL Rasch
ENVI @h1=ГОТОВО!
TIPS Выбранные приложения установленны!!!, \n,5000,1,
_END

[Цитировать]

    puhpol
  • 2
  • Стаж: 10 лет
  • Сообщений: 891
  • Репутация:75

    [+] [-]
Приветствую Господа!
73924означает НЕ выполнять "!"
Об этом я догадывался, так как вчера "по гонял"скрипт и понял что работает он как хочет.... И в общем то сомнения вызвало только это. По этому и решил спросить у Старших товарищей.
avalat, conty9, СПАСИБО. az

[Цитировать]

    puhpol
  • 2
  • Стаж: 10 лет
  • Сообщений: 891
  • Репутация:75

    [+] [-]
Приветствую!
avalat, Еще раз спасибо. Убрал "!" и усе заработало.
conty9, В твоем варианте , понятное дело все работает.
ay az

[Цитировать]

    lsmlcx
  • 26081
  • Стаж: 4 года
  • Сообщений: 9
  • Репутация:15

    [+] [-]
You can also use
※BkProgress: ENVI @WinName or CtrlName.percent=[Percent][C|R|L|F][:BkColor][:PrgColor][:TxtColor][:TXT]
※ENVI @@percent=WinID:[Percent][C|R|L|F][:BkColor][:PrgColor][:TxtColor][:TXT]
for all

Страница 2 из 2


Показать сообщения:    

Текущее время: 23-Ноя 10:56

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы