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

    rezorustavi
  • 2337
  • Стаж: 8 лет 2 месяца
  • Сообщений: 928
  • Репутация:55

    [+] [-]
  • Откуда: Грузия, город Рустави
puhpol,
Полезный набор софта ay

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

    bnn17
  • 24171
  • Стаж: 4 года
  • Сообщений: 32
  • Репутация:0

    [+] [-]
83819bnn17, обычно такое происходит, если косяки с парами _sub Sel ... _end, т.е., имеется лишний _end или _sub. Выложи, скрипт, который глючит.

Если совместить с демкой от nikzzzz

CALC #i=0
CALC #NEnvi=0
FNAM TEnvi=%MyName%
ENVI TEnvi=%TEnvi%.cfg
IFEX %CurDir%\%TEnvi%,
{* READ %CurDir%\%TEnvi%,*r,DataCFG
READ -,-1,DEnvi,%DataCFG%
LOOP #%NEnvi%<%DEnvi%,
{* READ -,%NEnvi%,XEnvi,%DataCFG%
CALC #NEnvi=%NEnvi%+1
MSTR -delims:# TEnvi=<4>%XEnvi%
FIND $%TEnvi%<>,
{* MSTR -delims:# Name[%i%],StartType[%i%],InstString[%i%],InstTime[%i%]=<1*>%XEnvi%
CALC #i=%i%+1
} } ! EXIT
//----------------------------------------------------------------
//%n% - к-во пунктов меню
calc #n=%i%
//Вычисляем размер окна
calc w=400
calc h=int(%n%/2)*20 + 170
//Создаем основное окно
@Windows %w% %h%
exit
_sub Windows,w%1h%2,Установка программ,, // Размер основного окна и его название.
labe Label1,l10t10w%1h20,Выберите программы для установки ,,0xaaaaaa,16 // Местоположение надписи, цвет,размер шрифта.
//Инфо
calc l=15
calc t=int(%n%/2)*20 + 64
labe Label2,l%l%t%t%w%1h20,====== Привет ======
//Создаем в цикле Чек боксы
envi i=0
loop %i%<%n%,
{
calc l=mod(%i%,2)*205 + 15
calc t=int(%i%/2)*20 + 40
chek Chk[%i%],l%l%t%t%w150h20,%Name[%i%]%,,1 // Чек бокс и его местоположение в окне + Имя программы
calc i=%i% + 1
}
//Кнопки
calc l=15
calc t=int(%n%/2)*20 + 108
item Button1,l%l%t%t%w100h24,Выбрать все,Sel 1 // местоположение кнопки "выбрать все"
calc l=120
item Button2,l%l%t%t%w100h24,Снять выбор,Sel 0 // местоположение кнопки "снять выбор"
calc l=280
item Button3,l%l%t%t%w100h24,Установить,Install // местоположение кнопки "Установить"
calc l=15
calc t=int(%n%/2)*20 + 84
pbar Pbar,l%l%t%t%w365h20,, // Прогрес бар и его место положение в окне
_end
_sub Sel
envi i=0
loop %i%<=%n%,
{
envi @Chk[%i%].Check=%1 //ЭТО ЗДЕСЬ ГЛЮЧИТ, _end не заканчивает, дальше все подпрограммы не работают, если _sub Sel перенести в конец скрипта всё работает
calc i=%i% + 1
}
_end
_sub CheckSel
//Вычисляем общее время выполнения выбранных пунктов
envi SummaryTime=0
envi i=0
loop %i%<=%n%,
{
ifex $%Chk[%i%].Check%=1,calc SummaryTime=%SummaryTime% + %InstTime[%i%]%
calc i=%i% + 1
}
_end
_sub Install
mess Установить выбранные приложения?@#YN
find $%YESNO%=YES,
{
envi @Pbar=0
CheckSel
envi CurrentTime=0
envi i=0
loop %i%<=%n%,
{
ifex $%Chk[%i%].Check%=1,
{
envi @Label2=*** Установка %Name[%i%]% ***
exec %StartType[%i%]% %InstString[%i%]%
calc CurrentTime=%CurrentTime% + %InstTime[%i%]%
calc Percent=%CurrentTime%/%SummaryTime%*100
envi @Pbar=%Percent%
envi @Chk[%i%].Check=0
}
calc i=%i% + 1
}
envi @Label2=*** Все задания выполнены !!! ***
}
_end

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

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

    [+] [-]
bnn17, Всё работает. И неважно, в каком месте _Sub Sel.

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

    bnn17
  • 24171
  • Стаж: 4 года
  • Сообщений: 32
  • Репутация:0

    [+] [-]
83848bnn17, Всё работает. И неважно, в каком месте _Sub Sel.
У меня галочки ставятся, убираются. А программы не инсталлируются.
_Sub Sel не заканчивается _end
Вот картинка с notepad++

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

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

    [+] [-]
bnn17, Вот мой *.cfg
SumatraPDF-3.1.2#-wait#%CurDir%\prog\SumatraPDF-3.1.2.exe#1
Моя программа#-wait#%CurDir%\prog\Proga2.cmd#5
Тест#-wait#%CurDir%\prog\Proga4.cmd#7
Proga5#-wait#%CurDir%\prog\Proga5.cmd#2
Тест123456#-wait#%CurDir%\prog\Proga4.cmd#7
Prog#-wait#%CurDir%\prog\Proga5.cmd#2
установка SumatraPDF-3.1.2.exe идёт с этим скриптом
--------------
83857_Sub Sel не заканчивается _end
Я вижу, что заканчивается...
-------------
P.S. Если у тебя Notepad со встроенным PECMD (F5), - переименуй пока в pecmd.cfg. Он должен называться по имени exe-шника

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


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

Текущее время: 29-Мар 18:06

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


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