[Quote]

    xnik
  • 19473
  • Longevity: 6 years 1 month
  • Posts: 489
  • REPUTATION:12

    [+] [-]
  • Location: СССР
avalat, скажите а у PECMD есть возможность сделать раскладной пункт меню?

[Quote]

    avalat
  • 222
  • Longevity: 9 years 10 months
  • Posts: 466
  • REPUTATION:127

    [+] [-]
xnik, раскладной - это какой ?
.
такой ?

[Quote]

    xnik
  • 19473
  • Longevity: 6 years 1 month
  • Posts: 489
  • REPUTATION:12

    [+] [-]
  • Location: СССР
раскладной - это какой
Вот такой пункт
CALL @Windows1
_SUB Windows1,W375H280,
ENVI @this.Font=14:Tahoma
ITEM 1,L10T10W350H50, Пункт1, EXEC soft.exe,,
_END
И что бы он раскладывался по клику или по наведению и с низу открывались подпункты
понял что _SUB надо прикрутить, но пока еще не совсем разобрался

[Quote]

    avalat
  • 222
  • Longevity: 9 years 10 months
  • Posts: 466
  • REPUTATION:127

    [+] [-]
Так подойдёт ?
CALL @Windows1
_SUB Windows1,W375H280,
ENVI @this.Font=14:Tahoma
ENVI a=m
ITEM it1,L10T10W350H50, Пункт1,%a%
ITEM it2,L10T70W350H25,Пункт2,,,16
ITEM it3,L10T105W350H25,Пункт3,,,16
ITEM it4,L10T140W350H25,Пункт4,,,16
_END
_SUB m
TEAM ENVI @it2.Visible=1|ENVI @it3.Visible=1|ENVI @it4.Visible=1|ENVI a=mm
_END
_SUB mm
TEAM ENVI @it2.Visible=0|ENVI @it3.Visible=0|ENVI @it4.Visible=0|ENVI a=m
_END

[Quote]

    Gvint64
  • 24573
  • Longevity: 4 years 6 months
  • Posts: 625
  • REPUTATION:72

    [+] [-]
aa собрал из примеров avalat - получился такой. Если перетащить окно в другое место - то и субменю будет открыватся в другом месте.
win
_SUB win,W385H210,,
CALL mn
ITEM it,L10T10W360H40,ПУНКТ1,,,
ITEM it1,L10T50W360H40,ПУНКТ2,,,
ITEM ,L10T90W360H40,ВЫХОД,EXIT 2,,
ENVI @it.MSG=0x0204: CALL@--popmenu:%f%.%g% mm
ENVI @it1.MSG=0x0204: CALL@--popmenu:%f%.%g% mmm
_END
_SUB mm
MENU ,111,EXEC notepad
MENU ,222,EXEC mspaint
MENU ,333,
MENU -
MENU ,444,EXIT
_END
_SUB mmm
MENU ,555,EXEC notepad
MENU ,666,EXEC mspaint
MENU ,777,
MENU -
MENU ,888,EXIT
_END
_SUB mn
ENVI @this.MSG=0x0046:pm
_END
_SUB pm
ENVI @this.POS=?x:y
TEAM CALC f=%x%+250|CALC g=%y%+200
_END


Last edited by Gvint64 on 2023-09-05 15:40; edited 1 time in total

[Quote]

    avalat
  • 222
  • Longevity: 9 years 10 months
  • Posts: 466
  • REPUTATION:127

    [+] [-]
Gvint64
А я так и не понял про
... раскладной пункт меню...

[Quote]

    Gvint64
  • 24573
  • Longevity: 4 years 6 months
  • Posts: 625
  • REPUTATION:72

    [+] [-]
avalat, Ну если мышкой передвинуть основное окно программы то и меню будет появлятся в поле этого окна - а не гдето посередине экрана или что то не так получилось?

[Quote]

    avalat
  • 222
  • Longevity: 9 years 10 months
  • Posts: 466
  • REPUTATION:127

    [+] [-]
Gvint64, Да я не про это... нормально всё.
101113avalat, скажите а у PECMD есть возможность сделать раскладной пункт меню?
101116 по клику или по наведению и с низу открывались подпункты

[Quote]

    Gvint64
  • 24573
  • Longevity: 4 years 6 months
  • Posts: 625
  • REPUTATION:72

    [+] [-]
101122xnik писал(а):
Просто как вариант - было интересно решить задачку с перемещением окна.

[Quote]

    волчара
  • 253
  • Longevity: 9 years 10 months
  • Posts: 598
  • REPUTATION:45

    [+] [-]
  • Location: Омск
avalat aa
101084Пример комбобокса для списка дисков
Наверное, самый короткий вариант...
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%                                //заносим всё полученное в строку комбобокса
FIND $%letr%=C:,ENVI @comb.Sel= %letr%  %d%:%p%  %lab%%n% %fs%%n2% %siz% Gb  %typ%        //выделяем первую строку
}
_END
ay
Чуток добавил эстетику ag
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 символов
FIND $%typ%=DRIVE_FIXED,SET Buss=(HDD)
FIND $%typ%=DRIVE_REMOVABLE,SET Buss=(USB_Flash)
ENVI @comb.Add=%letr%\ %d%:%p% %lab% %n% %fs% %n2%%siz%Gb  %Buss%                                //заносим всё полученное в строку комбобокса
FIND $%letr%=C:,ENVI @comb.Sel=%letr%\ %d%:%p% %lab% %n% %fs% %n2%%siz%Gb  %Buss%        //выделяем первую строку
}
_END

Думаю так симпатичней смотрится ab

[Quote]

    Crachlow
  • 16784
  • Longevity: 7 years 2 months
  • Posts: 10
  • REPUTATION:0

    [+] [-]
avalat. извините за может детский вопрос, но как применять команды CMPS [-f] [-m] [-bin|-src[:Flag]] [-o] [-u] SrcFile [,] CmpsFile

[Quote]

    волчара
  • 253
  • Longevity: 9 years 10 months
  • Posts: 598
  • REPUTATION:45

    [+] [-]
  • Location: Омск
Crachlow, aa
В справочнике все расписано
Формат: CMPS [-f] [-m] [-bin|-src[:Flag]] [-o] [-u] < SrcFile > [,] < CmpsFile >
──────────────────────────────────────────────────
Функция Чтобы сжать или распаковать файл.
──────────────────────────────────────────────────
Параметры:
-f: Для сохранения метки формата исходного файла, (необязательно)
-m: упаковать незашифрованным,
-u: извлечь,
-o старое шифрование
-bin: зашифровать бинарный файл
Flag Флаги:
1 удалить строки комментариев
2 перевести \r\n
4 объединить пустую строку
8 удалять коментарии в строке (опасно)
──────────────────────────────────────────────────
Пример: CMPS -m B.wcs B.wcz //Упаковать файл B.wcs без шифрования, результат в B.wcz
CMPS -bin cp.exe cp.wcz //Упаковать бинарный файл cp.exe с шифрованием в cp.wcz
CMPS -u B.wcz B2.wcs //Распаковать файл B.wcz, результат в B.wcs
──────────────────────────────────────────────────
Примечание Упакованный файл можно непосредственно загружать для выполнения или выполнить
как встроенный сценарий, его значок, картинка и размер не ограничены.
Зашифрованные файлы могут быть выполнены, но не могут быть извлечены.

[Quote]

    avalat
  • 222
  • Longevity: 9 years 10 months
  • Posts: 466
  • REPUTATION:127

    [+] [-]
Crachlow, сделал когда то для себя

dy
ENVI t=ENVI @win.POS=::::4
ENVI txt=перетащите файл *.wcs,*.ini,*.bat,*.cmd
win
_SUB win,W360H115,CodingPECMD,,,,,-top
EDIT= ed,L10T10W326H20,,,0x100,0x000000#0xDAF0F1
LABE -left,L10T40W230H14, %txt%,,,
LABE+ -center,L240T42W96H27,Старт,CALL st,0x000000#0x8CE8FF,15
_END
_SUB st
TEAM SIZE s=%ed%|FNAM na=%ed%|FDIR f=%ed%|FEXT ex=%ed%
FIND $[%ex%=wcs | %ex%=txt | %ex%=bat | %ex%=cmd | %ex%=ini ],!TEAM MESS-icon1 Не выбран файл | ENVI @ed=|%t%|EXIT
IFEX $%s%=0,TEAM MESS-icon1  Файл не найден *-2000|ENVI @ed=|%t%|EXIT
CMPS "%ed%"  "%f%\%na%.wcz"
TEAM MESS-icon   Файл зашифрован в  %na%.wcz *-5000|ENVI @ed=|%t%|EXIT
%t%
_END

[Quote]

    sablinov
  • 16085
  • Longevity: 7 years 7 months
  • Posts: 28
  • REPUTATION:2

    [+] [-]
  • Location: Выборг
aa а как это можно пактически применять?

[Quote]

    avalat
  • 222
  • Longevity: 9 years 10 months
  • Posts: 466
  • REPUTATION:127

    [+] [-]
sablinov, В pecmd так шифруются скрипты, больше применений видимо нет

Page 6 of 7


Display posts:    

Current time is: 02-Dec 00:28

All times are UTC + 3


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum