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

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

    [+] [-]
SergeyZV, заработало ?
Я с rutube, кажется, пробовал - не вышло...

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

    SergeyZV
  • 528
  • Стаж: 9 лет 8 месяцев
  • Сообщений: 1259
  • Репутация:34

    [+] [-]
95966заработало ?
Только что качал с OK.ru.
С rutube качает, но скорость жутко плавает (понятно - качает фрагментами).

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

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

    [+] [-]
Замена иконок у файлов EXE и папок
Из прошлогоднего... В конце кода закомментирован рестарт TC по < Alt+T >
Клик по верхней иконке - возврат стандартной иконки у ПАПКИ
Добавил - F4, Esc
В архиве неупакованный IconRe2.exe


Последний раз редактировалось: avalat (2024-02-15 23:28), всего редактировалось 3 раз(а)

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

    dimo70
  • 17296
  • Стаж: 7 лет
  • Сообщений: 3784
  • Репутация:27

    [+] [-]
  • Откуда: BG
avalat, супер получилось, спасибо! ay az
Сразу добавляю в копилку.

_________________
Подпись отключена за нарушение правил форума

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

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

    [+] [-]
Заинтересовался, что нового появилось в новых версиях PECMD. Растрепал новые версии, сравнил со старыми.
Начиная с хххх.85 версии добавили некую графическую поддержку.
Прошелся по командам, наткнулся пока на вот это
win
_SUB win,W225H200,ТЕСТпроба
LABE -center lab,L20T10W203H200,\n\n\n\nТЕСТпроба,
ENVI @lab.font=10:Tahoma**######450
_END
.
ENVI @l1.font=10:Tahoma**BbUuIiUuSs#Weight#Width#CharSet#Quality#Orientation#Escapement#OutPrecision#ClipPrecision
------------------------------------------------
BbUuIiUuSs - понятно, - жирный,подчеркнутый...
#Weight - ширина символа **#+6 (+3 сужает уже)
#Width - растягивает тоже,но без + **##6
#CharSet - только 2 **###2
#Quality - ? ####(?)
#Orientation - угол 60 гр. - **#####+600 (1800 перевернутый)
#Escapement - то же, но без + **######600
#OutPrecision -?
# ...
кто в курсе этого, объясните...
----------------------------------------------
Если эта забава не нужна, можно, наверное, остановиться и на 84 версии


Последний раз редактировалось: avalat (2023-09-22 23:30), всего редактировалось 4 раз(а)

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

    Gvint64
  • 24573
  • Стаж: 4 года 6 месяцев
  • Сообщений: 625
  • Репутация:72

    [+] [-]

Часы

Выключить комп в заданное время:
Set tng=18:00 // время по умолчанию  (hh:mm)
CALL w1
_SUB w1,W180H85,,,shell32.dll#21,,,
LABE lab,L0T0W180H35,,,0xFF0000#0xC0C0C0,22
EDIT+ m2,L100T30W90H25,,Set tng=%m2%,,0xFF0000#0xC0C0C0,16
LABE clock,L0T30W100H25,%tng%,,0x0000FF#0xC0C0C0,16
TIME tt,1000,TEAM DATE *space0 Tmg|MSTR Tmg1=12,2,%Tmg%|MSTR Tmg2=15,2,%Tmg%|MSTR Tmg3=18,2,%Tmg%|ENVI @clock=%tng%|ENVI @lab=%Tmg1%:%Tmg2%:%Tmg3%|w2
_END
_SUB w2
IFEX '%Tmg1%:%Tmg2%'='%tng%',TEAM ENVI @tt=0|SHUT
_END
SCRN SW,SH
&&Tmg=
CALC l=%SW%-250
ww
_SUB ww,L100T100W1H1,,,,,
CALL ww1
_END
CALL ww1
_SUB ww1,L%l%T50W200H50,,,,#:0xC0C0C0,
LABE lab,L1T1W200H50,,,0xFFFFFF#0xC0C0C0,32
TIME tt,1000,TEAM DATE *space0 &&Tmg|MSTR Tmg1=12,2,%&Tmg%|MSTR Tmg2=15,2,%&Tmg%|MSTR Tmg3=18,2,%&Tmg%|ENVI @lab=%Tmg1%:%Tmg2%:%Tmg3%
HKEY Shift+Alt+X,EXIT 2
_END
SCRN SW,SH
&&Tmg=
CALC l=%SW%-250
@ww
_SUB ww,W1H1,,,,,
CALL w1
_END
_SUB w1,L%l%T50W200H90,,,,#:0xC0C0C0,
LABE lab,L1T1W200H30,,,0xffffff#0xC0C0C0,22
LABE lab1,L1T30W200H30,,,0xffffff#0xC0C0C0,14
TIME tt,1000,TEAM DATE *space0 &&Tmg|MSTR Tmgd=0,4,%&Tmg%|MSTR Tmgd1=6,2,%&Tmg%|MSTR Tmgd2=9,2,%&Tmg%|MSTR Tmg1=12,2,%&Tmg%|MSTR Tmg2=15,2,%&Tmg%|MSTR Tmg3=18,2,%&Tmg%|ENVI @lab=%Tmg1%:%Tmg2%:%Tmg3%|ENVI @lab1=%Tmgd2%.%Tmgd1%.%Tmgd%
HKEY Shift+Alt+X,EXIT 2
_END


Последний раз редактировалось: Gvint64 (2023-06-14 14:23), всего редактировалось 23 раз(а)

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

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

    [+] [-]
Gvint64, Насчёт мерцания...
SET tting=15:55  // ввести время срабатывания таймера (ч:мин)
CALL w1
_SUB w1,W200H120,,,shell32.dll#93,,,
LABE lab,L1T1W200H35,,,0xFF0000,24
LABE+ clock,L50T45W100H25,%tting%,,0x0000CC,%tting%,
TIME tt,1000,TEAM DATE *space0 Tmg|MSTR Tmg1=12,2,%Tmg%|MSTR Tmg2=15,2,%Tmg%|MSTR Tmg3=18,2,%Tmg%|ENVI @lab=%Tmg1%:%Tmg2%:%Tmg3%|w2
_END
_SUB w2
IFEX '%Tmg1%:%Tmg2%'='%tting%',TEAM ENVI @tt=0|MESS ok
_END

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

    Gvint64
  • 24573
  • Стаж: 4 года 6 месяцев
  • Сообщений: 625
  • Репутация:72

    [+] [-]
avalat, aa Другое дело az А то все цифры в кучу собирались ay
Обновил часы.

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

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

    [+] [-]
Пример. Выбор образа *wim или *.esd для WinNTSetup.exe
Скачать SetupNT.zip (неупакованный exe и скрипт)
--------------------------------------
Образы (для примера) находятся в корне любого диска в папке \SOURCES
Путь сразу прописывается в WinNTSetup
Имя папки можно изменить на своё (строки 7 и 16)
------------------------------------

Скрипт

FIND $%&bX64%=0,ENVI WinNT=Data\WinNTSetup_x86.exe!ENVI WinNT=Data\WinNTSetup_x64.exe
win
_SUB win,W400H400,For WinNTSetup,
ENVI i=0
FDRV *ab DrvAll= *:
FORX* %DrvAll%,CurDsk,
{FORX /S /O:-N %CurDsk%\SOURCES\*.wim,k,0,
{CALC n=%i%+1,
CALC mm=%n%*30-20,
ENVI bb=ITEM L%n%,L15T%mm%W360H25,%k%, EXEC %CurDir%\%WinNT% nt6 /source:%k%
%bb%
CALC i=%i%+1,
}}
CALC nn=%n%+1
FORX * %DrvAll%,CurDsk,
{FORX /S /O:-N %CurDsk%\SOURCES\*.esd,kk,0,
{CALC nn=%i%+1,
CALC mm=%nn%*30-20,
ENVI bb=ITEM L%nn%,L15T%mm%W360H25,%kk%, EXEC %CurDir%\%WinNT% nt6 /source:%kk%
%bb%
CALC i=%i%+1,
}}
TEAM SIZE s=%k%|SIZE ss=%kk%
IFEX [$%s%=0 & $%ss%=0],TEAM MESS=-icon WIM and ESD images not found|exit 2
CALC h=%nn%*30+50
ENVI @win.POS=::400:%h%
_END

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

    dimo70
  • 17296
  • Стаж: 7 лет
  • Сообщений: 3784
  • Репутация:27

    [+] [-]
  • Откуда: BG
avalat, спасибо, полезная вещь. Подключаю в мою сборку. aa

_________________
Подпись отключена за нарушение правил форума

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

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

    [+] [-]
Перемещение объекта мышью
.
для примера - составить слово
скачать ехе

код

win
_SUB win,W350H200,Перетащите буквы,
LABE -3D,L10T10W320H3,
LABE -3D,L10T60W320H3,
LABE -3D,L10T10W3H50,
LABE -3D,L50T10W3H50,
LABE -3D,L90T10W3H50,
LABE -3D,L130T10W3H50,
LABE -3D,L170T10W3H50,
LABE -3D,L210T10W3H50,
LABE -3D,L250T10W3H50,
LABE -3D,L290T10W3H50,
LABE -3D,L330T10W3H50,
SWIN -:win1,L20T100W15H30,,
SWIN -:win2,L60T100W18H30,,
SWIN -:win3,L100T100W18H30,,
SWIN -:win4,L140T100W15H30,,
SWIN -:win5,L180T100W18H30,,
SWIN -:win6,L220T100W18H30,,
SWIN -:win7,L260T100W15H30,,
SWIN -:win8,L300T100W15H30,,
_END
_SUB win1,W20H50,,,,,,
LABE ,L0T0W20H50,К,,,25
ENVI @win1.hittest=20:50
ENVI @win1.MSG=0x0233, TEAM ENVI @win1.POS=?left1:top1|ENVI @win1.POS=::%left1%:%top1%
_END
_SUB win2,W50H50,,,,
LABE ,L0T0W50H50,Р,,,25
ENVI @win2.hittest=50:50
ENVI @win2.MSG=0x0233, TEAM ENVI @win2.POS=?left2:top2|ENVI @win2.POS=::%left2%:%top2%
_END
_SUB win3,W50H50,,,,
LABE ,L0T0W50H50,А,,,25
ENVI @win3.hittest=50:50
ENVI @win3.MSG=0x0233, TEAM ENVI @win3.POS=?left3:top3|ENVI @win3.POS=::%left3%:%top3%
_END
_SUB win4,W50H50,,,,
LABE ,L0T0W50H50,Т,,,25
ENVI @win4.hittest=50:50
ENVI @win2.MSG=0x0233, TEAM ENVI @win4.POS=?left4:top4|ENVI @win4.POS=::%left4%:%top4%
_END
_SUB win5,W50H50,,,,
LABE ,L0T0W50H50,А,,,25
ENVI @win5.hittest=50:50
ENVI @win2.MSG=0x0233, TEAM ENVI @win5.POS=?left5:top5|ENVI @win5.POS=::%left5%:%top5%
_END
_SUB win6,W50H50,,,,
LABE ,L0T0W50H50,Е,,,25
ENVI @win6.hittest=50:50
ENVI @win6.MSG=0x0233, TEAM ENVI @win6.POS=?left6:top6|ENVI @win6.POS=::%left6%:%top6%
_END
_SUB win7,W50H50,,,,
LABE ,L0T0W50H50,Х,,,25
ENVI @win7.hittest=50:50
ENVI @win7.MSG=0x0233, TEAM ENVI @win7.POS=?left7:top7|ENVI @win7.POS=::%left7%:%top7%
_END
_SUB win8,W30H30,,,,
LABE ,L0T0W50H50,Р,,,25
ENVI @win8.hittest=50:50
ENVI @win8.MSG=0x0233, TEAM ENVI @win8.POS=?left8:top8|ENVI @win8.POS=::%left8%:%top8%
_END

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

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

    [+] [-]
Получение значения диск : раздел другим способом
FDRV alld=*:
FORX* %alld%,&letr,
{FDIR --part &b=%letr%\
SED a=0,{[A-z\\?]},,%b%
TEAM LSTR s1=1,%a%|RSTR s2=1,%a%|ENVI aa=%s1%:%s2%
MESS-icon disk %letr% = %aa%
}

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

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

    [+] [-]
Пример комбобокса для списка дисков
Наверное, самый короткий вариант...
win
_SUB win,W480H120,
ENVI @win.font=11:Consolas                //шрифт (или подобрать другой, моноширный)
LIST comb,L20T20W430H40,,,               //создаём комбобокс
FDRV alld=*:                                        //список всех дисков в формате С: D: E: и т.д.
FORX* %alld%,&letr,                             //перечисляем буквы '&letr' в цикле
{FDRV -vol v,fs=%letr%                        //получаем метку диска (v) и файл.систему (fs)
PART -raw list drv %letr%,a                   //запрос данных о диске в переменную 'a'
MSTR d,p,typ=<*>%a%                        //из неё получаем первые три значения - номер диска (d) , раздела (р) и тип (typ)
TEAM FIND %letr%\=?,sz|CALC siz=%sz%/1G|LSTR siz=5,%siz%                 //получаем размер диска (siz)
TEAM LSTR len=10,%v%|STRL* a1=len|LSTR lab=%a1%,%v%|CALC v1=11-%a1%|LSTR n=%v1%,            ,   //выравниваем текст метки (lab) на 10 символов
TEAM LSTR len2=5,%fs%|STRL* a2=len2|LSTR fs=%a2%,%fs%|CALC v2=6-%a2%|LSTR n2=%v2%,        ,   //выравниваем текст (fs) в списке на 5 символов
ENVI @comb.Add= %letr%  %d%:%p%  %lab%%n% %fs%%n2% %siz% Gb  %typ%                                //заносим всё полученное в строку комбобокса
}
ENVI @comb.Isel=1       //выделяем первую строку
_END


Последний раз редактировалось: avalat (2024-03-19 18:56), всего редактировалось 2 раз(а)

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

    Gvint64
  • 24573
  • Стаж: 4 года 6 месяцев
  • Сообщений: 625
  • Репутация:72

    [+] [-]
Примонтировать папку как диск SUBJ SUBST.
w1
_SUB w1,W230H125,MOUNT
ENVI @w1.Font=10:Tahoma
LIST ds,L2T5W110H40,B:|M:|N:|O:|P:|Q:|R:|S:|T:|U:|V:|W:|X:|Y:|Z:,,X:
LIST vh,L111T5W110H40,SUBJ|SUBST,,SUBJ
ITEM -def ,L2T30W220H20,ПОДКЛЮЧИТЬ ДИСК,CALL @SetFol,,
ITEM ,L2T50W220H20,ОТКЛЮЧИТЬ ДИСК,SUBJ *%ds%,,
ITEM ,L2T70W220H20,ВЫХОД,EXIT 2,,
_END
_SUB SetFol
ENVI v=ЭТА БУКВА ЗАНЯТА!
IFEX %ds%,TEAM MESS-icon+  %v%|EXIT
FIND $%vh%=SUBST,TEAM BROW &&te,*,ВЫБРАТЬ ПАПКУ,,|SUBST.exe %ds% "%&te%"
FIND $%vh%=SUBJ,TEAM BROW &&te,*,ВЫБРАТЬ ПАПКУ,,|SUBJ %ds%, %&te%
IFEX %&te%,EXEC explorer.exe %ds%
_END


Последний раз редактировалось: Gvint64 (2023-09-03 20:17), всего редактировалось 7 раз(а)

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

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

    [+] [-]
У меня есть такой вариант - с перетаскиванием
можно и букв добавить, на любителя...
скачать
ENVI t=ENVI @win.POS=::::4
CALL win
_SUB win,W300H164,MountFolder,,,,, -top
ENVI @win.Font=12:Tahoma
LIST* dsk,L205T20W70H25, T:| U:| V:| W:| X:| Y:| Z:,, Y:,
LABE ,L15T10W175H20,Монтировать,mount,0x000000#0xBBC9A7##0x5555FB,13 //цвет: букв, фона, выделения
LABE ,L15T37W175H20,Размонтировать,demount,0x000000#0xBBC9A7##0x5555FB,13
EDIT= ed,L6T75W281H50,,,0x228,,11
LABE ,L10T60W130H15, ---->  перетащить папку,,0x89A065,10
_END
_SUB mount
IFEX %dsk%,TEAM MESS-icon1  Эта буква занята\n\n  Выберите другой диск|%t%|EXIT
FIND $%ed%=,TEAM MESS-icon  Не выбрана папка|%t%|EXIT
IFEX %ed%,!TEAM MESS-icon  Такой папки не существует |ENVI @ed=|%t%|EXIT
TEAM FEXT f=%ed%|STRL l=%f%
IFEX $%l%>1,TEAM ENVI @ed=|MESS-icon Не выбрана папка|EXIT!TEAM SUBJ %dsk%,%ed%|%t%
EXEC explorer.exe %dsk%\
_END
_SUB demount
IFEX %dsk%,!TEAM MESS-icon Такого диска не существует|%t%
TEAM SUBJ *%dsk%|ENVI @ed=|%t%
_END

Страница 5 из 7


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

Текущее время: 03-Дек 21:50

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


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