Окна… Не только Windows 9x.

1) mIRC32 а-ля Photoshop 6.0

Как то раз, часа в 2 ночи, на IRC залетает какой-то чел и начинает судорожно у всех спрашивать, как в мирке… РИСОВАТЬ? Ну все,
естественно, его посылают или дают нелепые советы, типа, набери «/quit» или «/run con/con» и прочую лабуду.
Но несмотря на глупость, к моему удивлению, mIRC32 позволяет рисовать различные фигуры, сохранять или загружать их в bmp-файлах и многое другое.

Рассмотрим банальный пример. Нарисуем обычный домик %) в отдельном окне, которое назовем @domik.
Для этого добавим небольшой скрипт в раздел Aliases (Alt+A):

dl {
window -kap @domik
drawrect -f @domik 1 5 240 150 180 300
drawline @domik 1 5 242 150 330 5
drawline @domik 1 5 330 5 416 150
drawrect -f @domik 0 5 295 250 70 90 
drawline @domik 1 5 330 250 330 340
drawline @domik 1 5 295 280 330 280
drawtext @domik 1 277 100 Happy new year
}

и выполним команду «/dl». Перед вами предстанет произведение
искусства %) А теперь подробнее, что означают странные цифры и команды:
1. window -kap @domik — Создаем графическое (-p) окно @domik, активизируем его (-a) и скрываем символ собаки перед именем окна для красоты 😉 (-k).
2. drawrect -f @domik 1 5 240 150 180 300 — Рисуем большой прямоугольник и заливаем его черным цветом
3.drawline @domik 1 5 242 150 330 5
drawline @domik 1 5 330 5 416 150
drawrect -f @domik 0 5 295 250 70 90 
drawline @domik 1 5 330 250 330 340
drawline @domik 1 5 295 280 330 280 — Рисуем остальные части домика
4. drawtext @domik 1 277 100 Happy new year — Поздравление с новым годом 😉

Вот, собственно, и все, что нужно для начинающего художника… А теперь
сохраним свой эскиз в bmp файле, набрав «/drawsave @domik
c:\dom.bmp", и рисунок успешно сохранится у тебя на винте.

2) Ох уж эти окна

Еще немного об окнах. Окна бывают не только графические, но и текстовые, с возможностью выбрать что-либо из списка (как окна, вызываемые при «/list» или «/links») и другие.

Для примера сделаем небольшую программу-калькулятор, которая будет выполнять элементарные действия над числами 😉

Перейдем в меню «Remote» (Alt+R) и напишем туда следующее:

menu @calculator {
dclick: cproc
}

Этим скриптом мы создали сценарий на дабл-клик в окне @calculator.

Далее пишем снова в «Aliases»:

calc {
window -kla @calculator
aline 2 @calculator 1. Сложение
aline 3 @calculator 2. Вычитание
aline 4 @calculator 3. Умножение
aline 5 @calculator 4. Деление
}

Этим алиасом создаем окошко-список @calculator (-l) и добавляем в него строчки (названия операций) командой «/aline [цвет] <окно> <текст>». Особо любопытные могут сохранить скрипт и запустить команду «/calc», но mIRC будет ругаться при попытке выбрать что-либо, что нет такой команды «cproc». Вот ее-то мы сейчас и создадим (также в «Aliases»):

cproc {
dline @calculator 5
if ($sline(@calculator,1).ln == 1) {
set %coper +
goto oper

if ($sline(@calculator,1).ln == 2) {
set %coper —
goto oper

if ($sline(@calculator,1).ln == 3) {
set %coper *
goto oper

if ($sline(@calculator,1).ln == 4) {
set %coper /
goto oper
}

:oper
set %ca $$?=»Первое число»
set %cb $$?=»Второе число»
set %cres $calc(%ca %coper %cb)
if (%cres == $null) { aline 4 @calculator Недопустимая операция! | halt } 
aline @calculator %ca %coper %cb = %cres

}

Сам скрипт состоит из 2-х частей. В первой — инициализация переменной %coper (что делать-то с числами?), предварительно стираем строку с будущим результатом.
Переменная $sline с ключом ln показывает номер выбранной строки, он-то нам и нужен.
После определения операции переходим ко второй части, непосредственно, запроса 2-х чисел и подсчета результата, который будет аккуратно вписан в 5-ю строку. Если вместо чисел вы введете буквы или разделите на 0, то будет выведена строка «Недопустимая операция!», и скрипт завершит работу.

Вот, собственно, и все… Конечно, про окна можно писать мегабайты информации, т.к. существует туча опций и переменных для работы с ними + куча сценариев и выпадающих меню…

Об этом и многом другом я напишу в следующих частях этой интересной рубрики.

Теги:

Оставить мнение

Check Also

Прицел на личные данные. Что мобильная реклама может разузнать о пользователе Android

В Google Play больше 40% приложений, которые будут показывать тебе рекламу. Используя таки…