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

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

to

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

Полный контроль над кнопкой “Пуск”

 

 

 

 

phi

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

 

 

 

Del

 

 

 

 

 

 

 

 

 

 

 

-online/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.cydsoft.com/vr

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.ru) http://www

 

 

 

 

 

 

 

 

 

 

(smirnandr@mail

 

 

 

 

 

 

 

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

как появился “Кодинг” на страницах нашего журнала

Прошло

 

план, согласованный с главредом, уже закончился

 

 

 

 

 

 

 

÷òî

Когда я сел готовить эту статью, то заметил,

 

 

 

è

 

даже перевыполнил

ïëàí,

когда

За полгода

 

я смог рассказать все, что

 

намечал,

 

 

 

 

 

 

 

паролей. Поэтому, пока мы с SINtez’ом

 

 

просьбам

написал программу для взлома

многочисленным

 

 

 

письмо

 

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

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

думаем над

 

продолжением

 

 

 

клянусь кариесам

 

 

 

 

 

 

 

рубрике

в ближайшее время. А я

описанием

того, что ты хочешь увидеть в моей

 

 

будут выполнены.

Мои предложения

 

 

 

что самые многочисленные

просьбы

 

на моих зубах,

 

 

 

 

 

 

 

 

 

следующие:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Продолжать приколы.

 

 

 

 

 

 

 

 

 

 

 

 

 

2. Побольше сетевых вещей.

 

 

 

 

 

 

 

 

 

 

 

 

3. Графика OpenGL (хочу создавать демки).

 

 

 

.

 

 

 

 

 

 

 

4. Графика

 

DirectX (хочу создавать крутые демки)

нашего журнала, я только жду

твоего

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Любая из этих тем может появиться на страницах

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

þ â

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Результат этого поиска я запихива

 

 

 

Сегодня в программе

 

 

 

 

 

 

 

 

 

 

найденной панели задач

и готовимся

шкодить

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Delphi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

þ StartBtnBmp

 

 

 

 

 

 

. Создай

 

новый

проект

è

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

переменну

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Теперь запускаем

 

 

 

 

 

 

. В этом обработчике напиши те две

ï

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

полетами ‘Пуск’” мне

 

.

обработчик

события для формы OnCreate

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

статьи “Центр управления

 

 

 

 

 

 

 

.

Теперь подымись немного выше и найди

осле сентябрьской

 

 

 

 

ÿ

 

 

 

 

 

 

 

 

 

с просьбой

 

 

 

 

 

 

 

 

 

 

ю работу

строчки, которые

 

указал выше

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

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

 

 

 

 

 

 

 

 

 

. Добавь туда две переменные:

 

 

 

 

 

 

с кнопкой

“Пуск”. Просто в том примере я смухлевал

и подбрасывал

 

раздел private в описании

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а реальная кнопка оставалась

на месте без изменений

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

на экране бутафорию,

private

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

самой кнопке

“Ïóñê”,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

как можно получить доступ к

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сегодня я покажу тебе,

 

 

 

 

 

 

{ Private declarations }

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

управлять ею и изменять ее картинку

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

StartBtnWnd,

StartBtnBmp: hWnd;

 

 

 

 

 

 

 

 

 

 

 

 

Стартовая кнопка - это не что иное,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

к ней доступ, нужно знать

 

 

 

 

 

 

 

 

 

 

нужной

 

пимпы

 

è

идентификатор

просто выглядит таким

 

 

 

. Чтобы получить

Вот теперь

ó íàñ

есть идентификатор

îêíà

 

 

образом

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ю API функции

 

 

 

 

.

Давай сделаем это.

 

 

 

 

 

 

 

 

 

Как его можно

получить? С помощь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

этого окна.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ю кнопкой “Пуск”

 

 

 

 

 

 

идентификатор

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

îêíà, à

картинки, и мы готовы приступить

к управлени

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FindWindow

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Точнее

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_TrayWnd”

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

второй - это имя окна. Кнопка “Пуск” имеет имя

класса “Shell

 

 

 

 

 

 

 

 

 

 

 

 

 

 

приготовления

 

 

 

 

 

необязательно, потому что

Последние

 

сказать, это класс всей

 

 

 

 

. Имя нам знать

 

панели задач

 

укажет нам

на первое найденное

îêíî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

если его не указать, то FindWindow

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

класса

в Windows только

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Мою заготовку

указанного

класса. Спешу тебя обрадовать, что такого

 

 

 

 

 

 

 

 

аготовь сразу рисунок кнопки размером

ãäå-òî 50õ20

сказать, где

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ты можешь увидеть где-то

рядом с этим текстом. Точно

 

îäíî îêíî è ýòî

именно панель задач

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

непредсказуемых

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Çименно,

я не могу, потому что это зависит от наших

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ю. Дизайнерская

 

Получаем контроль

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Лично я их за это и любл

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

дизайнеров и верстальщиков

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

непредсказуемость только украшает Х.

 

 

 

 

 

 

 

 

 

 

 

 

над кнопкой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок

1. Заготовка для кнопки

 

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

íà

панели

задач, можно

 

 

 

 

 

 

 

 

 

 

 

Теперь брось на форму один компонент

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Ýòà

 

 

 

 

 

 

 

 

 

 

 

воспользоваться более продвинутой функцией

- FindWindowEx

 

 

 

 

 

 

 

 

 

 

 

 

TImage

 

ñ

 

палитры

 

компонентов

 

 

 

элементу на окне. У

 

 

 

 

 

 

 

 

 

 

 

 

×функция

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

 

 

 

 

 

 

 

 

 

Additional.

Перейди

â

объектный

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нее уже есть четыре параметра:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

инспектор и дважды

кликни по свойству

элемент

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

картинки. Мы

óæå

1. Окно, на котором нужно искать

управления

начинать

поиск.

Åñëè

. Перед тобой должно появиться окно загрузки

 

 

 

2. Элемент управления

на этом окне, с которого нужно

 

 

элемента

Picture

 

 

 

 

 

ю, поэтому здесь тебе все уже должно быть

 

указать

 

0, òî

поиск

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

 

самого первого

 

проделывали такую операци

 

 

 

 

 

 

 

.

 

 

 

 

 

 

здесь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ю для кнопки картинку

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

это кнопка, значит нужно

знакомо. Загрузи заготовленну

 

 

 

 

 

 

 

 

 

 

 

 

 

управления

 

 

 

 

 

 

 

 

В нашем случае

 

 

 

 

 

 

 

 

 

Рисунок

2. Загрузка картинки

 

3. Класс элемента управления.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

для кнопки

 

 

 

 

 

 

 

 

указать “Button”

 

 

 

 

 

 

 

 

 

 

 

происходить поиск всех элементов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4. Имя. Если указать ноль (nil), то будет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

- брось на форму пять

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

И последнее

подобного класса.

 

 

 

 

 

 

 

 

 

 

 

 

“Пуск”, нужно написать следующий

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

òàê:

 

 

 

Итак, чтобы получить контроль над кнопкой

 

 

 

 

 

 

 

 

 

кнопок и назови их

 

 

 

êîä:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Изменить картинку.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_TrayWnd’, nil);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. Отключить

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

StartBtnWnd:=FindWindow(‘Shell

 

 

 

 

 

 

 

 

0,’Button’,

nil);

 

 

 

 

 

 

 

 

 

 

 

 

 

3. Включить

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4. Спрятать картинку.

 

 

 

StartBtnBmp:=FindWindowEx(StartBtnWnd,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5. Спрятать панель.

 

 

 

 

Здесь я в первой строчке ищу окно панели

задач. Результат поиска сохраняется

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Во второй строчке я ищу саму кнопку “Пуск” внутри

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в переменной StartBtnWnd

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

69

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

F

 

 

 

 

 

 

t

 

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

r

 

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

to

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

Полный контроль

Horrific (smirnandr@mail

www.cydsoft.com/vr

Рисунок 3.

 

Форма будущей проги

Все!!! Приготовления

закон-

-

 

чены. Осталось только заста

вить эти кнопки выполнять то,

что на них написано.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Несколько

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

приемов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

самбо

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ейчас мы проведем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

несколько приемчи-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ñêîâ

самбо на пимпе

 

 

 

 

 

 

 

 

 

 

 

 

. Для этого создай обработчик собы-

“Пуск”. Начнем с изменения рисунка кнопки

и напиши в нем следующее:

 

тия OnClick для кнопки “Изменить картинку”

 

 

 

 

 

 

 

 

 

 

 

 

procedure TForm1.Button1Click(Sender:

TObject);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

 

 

 

 

BM_SetImage,

0,

 

 

 

 

 

 

SendMessage(StartBtnBmp,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Image1.Picture.Bitmap.Handle);

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e, которая

посылает системное

Здесь я использую WinAPI функцию SendMessag

 

 

 

 

 

 

 

 

. У этой функции есть четыре параметра:

 

 

 

 

 

.

сообщение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

íàäî

 

 

 

 

 

 

 

. Я указываю идентификатор окна-кнопки

1.

Окно, которому

послать сообщение

 

 

 

заставит окно изменить картинку.

 

 

 

 

 

 

 

 

e, ÷òî

2.

 

 

. Я указываю BM_SetImag

 

 

 

 

.

 

 

 

 

 

 

Тип сообщения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. Первый параметр сообщения,

у меня он равен нулю

 

 

 

 

 

.

4.

Второй параметр сообщения,

это указатель на картинку, которую надо

подставить

 

Îíà

 

 

 

 

 

отправила это сообщение

системе.

Просто и со вкусом.

Моя программа

 

 

 

окно увидев сообщение

î òîì, ÷òî íàäî

передала его окну кнопки “Пуск”. Это

 

 

 

 

 

.

 

 

 

 

 

 

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

выполняет мой приказ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

...

 

 

 

 

 

 

. Âêë,

âûêë, âêë

 

Âêë, âûêë

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Òøè

 

 

 

 

 

 

 

 

 

 

 

 

 

кнопку. Создай обработчики со-

 

еперь научимся включать и отключать

 

 

 

. В первом напи-

 

бытий OnClick для кнопок “Выключить”

и “Включить”

 

 

 

 

 

 

 

 

 

 

 

 

 

 

следующее:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

procedure TForm1.Button2Click(Sender:

TObject);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

 

 

 

 

 

 

false);

 

 

 

 

 

 

 

 

 

 

 

 

EnableWindow(StartBtnWnd,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Во втором обработчике

события (это для кнопки “Включить”)

напишем следующее:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

procedure TForm1.Button3Click(Sender:

TObject);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

 

 

 

 

 

 

 

true);

 

 

 

 

 

 

 

 

 

 

 

 

EnableWindow(StartBtnWnd,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

же функцию

 

 

 

. Эта функция

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В обоих случаях я использую

îäíó è òó

 

 

 

 

EnableWindow

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

â

зависимости

îò

переданных ей

 

 

 

 

 

 

 

 

 

 

 

 

делает

окно доступным

è

отключает его

 

ты указываешь -

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

окна. Во втором

 

 

 

Click

 

 

 

 

 

 

 

 

параметр - идентификатор

w

 

 

 

 

 

 

m

параметров

 

 

 

 

 

 

 

 

 

. Первый

Åñëè åãî

отключить, то кнопка

 

w

 

 

 

 

 

 

 

 

o

 

 

 

 

 

 

 

 

 

 

.

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

включить

îêíî (true)

èëè

отключить

(false)

 

 

 

 

 

 

 

 

 

p

df

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

кликал по ней, реакции

 

 

 

 

 

-x cha

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

никакой не будет. Можешь хоть монитор

проткнуть, никакого меню ты не увидишь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ß òåáÿ íå âèæó

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

еперь научимся прятать кнопку и всю панель

задач. Создай

 

 

 

 

 

 

 

 

 

напиши здесь

 

 

обработчик события OnClick для “Спрятать

картинку” и

 

Òследующее:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

procedure TForm1.Button4Click(Sender:

TObject);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

 

 

 

 

 

 

SW_HIDE);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ShowWindow(StartBtnBmp,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

.

У нее есть два параметра:

 

 

 

 

Здесь

 

 

 

 

 

 

 

 

 

 

 

 

я использую функцию ShowWindow

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Идентификатор

îêíà.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

надо послать окну.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. Команда, которую

 

 

SW_HIDE, òî îêíî

ñ

указанным

Åñëè

â

качестве

команды

 

поставить

 

 

 

 

 

 

 

 

 

его снова, нужно поставить

 

 

 

 

 

 

 

 

 

. Чтобы показать

идентификатором

будет спрятано

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

события OnClick для

команду SW_SHOW

 

.

Для этого создай обработчик

Теперь спрячем всю панель

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

“Спрятать панель” и напиши здесь следующее:

 

 

 

 

 

 

 

 

 

 

 

 

procedure TForm1.Button5Click(Sender:

TObject);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

 

 

 

 

 

 

SW_HIDE);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ShowWindow(StartBtnWnd,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Здесь используется тот же код, что и для

предыдущей кнопки, только в качестве

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

первого параметра функции ShowWindow

я указываю идентификатор

всей панели

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Èòîã

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок

3.

Результат

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

работы нашей утилы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

думаю, что теперь твой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кнопарь “Пуск”

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

âî ÷òî-òî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

более стоящее и засветится

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

разными цветами радуги. Ты

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

можешь даже создать какую

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нибудь анимацию на кнопке,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

если поставишь на форму

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

таймер и по его событию

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

будешь подсовывать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

различные картинки на пимпу

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Теперь все в твоих руках

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

“Ïóñê”

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.cydsoft.com/vr

Как всегда, исходники примера можно найти на моем

сайте http://www

 

 

 

online/ через несколько дней после выхода этого

номера в свет.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P.S. У меня к тебе просьба на сто баксов

:). Не пиши мне большие письма. После

 

 

 

 

 

 

 

 

 

. Я не в состоянии

появления

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

вопросами

 

 

ãäå-òî

 

что-то подсказать,

 

 

 

 

 

 

 

 

 

 

.

 

ß

ìîãó

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

всем рассказывать то, о чем пишут книги

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

строчек.

Целые

ß

отвечаю только на

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

 

 

íî ýòî

 

 

 

íå ìîãó.

 

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

помог всем,

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

 

лучше разбей

ñâîé

 

à ÿ îäèí

:(((. Поэтому

 

 

 

 

. Вас слишком много,

 

НЕВОЗМОЖНО

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

70

 

 

 

 

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

 

 

 

 

Èõ

разыскивают

 

 

бойцы

139-ãî

 

 

 

 

 

 

порта!

 

 

 

Внимание!!! Пример, написанный в Kylix,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

прекрасно работает в Delphi.

 

 

 

 

Horrific aka

 

 

 

(smirnandr@mail.ru)

 

 

 

 

 

 

 

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

 

 

 

 

 

 

http://www.cydsoft.com/vr-online/

 

 

 

Сегодня я решил рассказать тебе что-нибудь

 

из сетевого программирования. Так

êàê ýòà

тема уж точно понравится любому

 

 

 

ветерану

139-го порта.

Сегодня я тебя по-

знакомлю с

 

 

 

 

 

 

 

 

 

Delphi6.

 

новой сетевой библиотекой Indy, которая появилась

только в Kylix 1 и

Òàê ÷òî åñëè òû

захочешь

 

 

 

 

 

 

 

 

 

 

 

повторить этот пример под окна, то

тебе понадо-

бится Delphi не менее 6-й версии.

 

 

 

 

 

 

 

Напутствие

 

 

 

 

 

 

 

 

Ñ

о всей библиотекой Indy я тебя

 

 

 

 

 

 

 

 

из компонентов,

 

 

сегодня не смогу познакомить, но с одним

 

входящих в его состав, мы

разберемся. Немного посове-

 

 

 

 

 

 

щавшись с самим собой и твоими

письмами, я выбрал для

сегодняшнего

примера

компонент IdWhois. На

страницах

 

 

 

 

 

май ничего плохого)

 

 

Х мы часто посылаем тебя... (не поду-

на www.ripn.net, где можно

воспользоваться сервисом WhoIs.

Он позволяет узнать

подробную инфу о любом

 

 

 

 

 

 

имени домена в Инете.

 

À êàê áûëî áû

сервисом WhoIs достаточно просто, но

только в твоем ишачке IE.

 

 

 

хорошо, если бы у тебя была своя программа,

чтобы больше никог-

да не приходилось лазить по

 

 

 

 

серверам типа www.ripn.net или www.nic.ru. Ничего,

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

 

 

 

 

прога. А главное, затраты на это дело - минимальны.

Готовность

1

 

 

 

 

Á

 

 

 

 

 

 

рось на форму один

 

 

 

 

 

 

компонент TEdit, одну кнопку TButton и один компо-

нент TMemo (я его назвал

 

 

 

 

кнопки на

 

ResultMemo). Переименуй свойство Caption у

“Найти”. В компонент TEdit мы будем вводить имя

домена, ин-

 

формацию о котором мы хотим

 

 

 

 

 

 

получить. После нажатия кнопки в компоненте

TMemo будет появляться все, что наша прога сможет

пронюхать в Инете про ука-

занный домен.

 

 

 

 

нешний вид формы готов,

 

 

 

 

думки. Как это сделать?

теперь пора приступить к реализации нашей за-

Òû

 

 

 

 

Âäåøü

 

думаешь, ручками? Куда там. Ручками ты бу-

работать в туалете, крича

“Занято”, или на других языках программи-

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

IdWhois. Найди закладку “Indy

Clients” на палитре

компонентов

и брось на форму

 

компонент IdWhois с этой за-

кладки (у меня он последний по счету).

 

 

 

 

Рисунок 2. Закладка “Indy Clients”

 

Анатомия whois

 

 

 

 

Ââî

 

 

 

 

 

ыдели компонент IdWhois и перейди в

 

 

 

 

объектный инспектор. Взгляни на свойст-

 

 

 

 

âåðà, ó

Host. Здесь ты указываешь адрес сер-

 

 

 

 

 

 

 

 

 

которого есть сервис WhoIs. Точнее ска-

 

 

 

 

зать, ты должен указать именно на этот сервис.

 

 

 

 

По умолчанию стоит адрес whois.

 

 

 

 

 

internic.net. ß

 

 

 

 

думаю, что его менять не надо, потому что он

 

 

 

 

достаточно рабочий и очень быстрый. Но если

 

 

 

 

ты решишь изменить этот адрес, то обязательно

 

 

 

 

проверь, какой используется порт у твоего лю-

 

 

 

 

бимчика. Если отличный от 43, то ты должен из-

 

 

 

 

менить свойство Port у компонента IdWhois.

 

 

 

 

Â

 

 

 

 

 

принципе настройки по умолчанию достаточно

 

 

 

 

работающие для любых доменов в зоне COM,

 

 

 

 

ORG и NET. Если тебя интересует что-то специ-

 

 

 

 

фичное, то

только в этом случае тебе может по-

 

 

 

Рисунок 1.

надобиться смена сервера WhoIs.

Рисунок 3

Свойства Id

Whois

Внешний вид будущей проги

 

 

 

 

71

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Их разыскивают бойцы 139-го порта!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Horrific (smirnandr@mail.ru)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

www.cydsoft.com/vr-online/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Шкодинг

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Ñî-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

компоненты Indy так же просты,

как и в настройке

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в нем содержимое

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и напиши

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

здай обработчик

события OnClick для кнопки

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

листинга

1. А я тебе расскажу обо всем,

что в нем происходит

 

 

 

 

îò

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

чтобы избавиться

 

 

 

 

 

 

Â

 

 

 

 

очищаю содержимое

компонента

TMemo,

 

 

 

 

 

 

 

 

 

 

В первой строке я

 

 

кода я запускаю по-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Во второй строке

 

 

 

 

 

 

 

 

текста, оставшегося

от предыдущих поисков

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

метод WhoIs компонента IDWhoIs:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

иск. Для этого я выполняю

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FindResult := IdWhoIs.WhoIs(Edit1

.Text);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

содержимое строки

 

 

 

 

 

 

 

 

 

В качестве единственного

 

параметра этого метода я передаю

 

 

 

 

 

 

 

 

 

 

 

. Хотя результат

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ввода

Edit1. Результат

поиска сохраняется в переменной

FindResult

 

строки,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

он выглядит в виде одной длинной

 

 

 

 

 

 

 

 

 

 

многих строк, в переменной

 

 

 

 

 

 

 

 

 

 

 

 

 

 

состоит из

 

 

 

 

 

 

 

 

 

 

 

 

 

 

символ #10. Что-

 

 

 

 

 

 

 

 

 

в которой разделителем

для строк является шестнадцатиричный

 

 

 

 

ïåðå-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

отформатировать

это содержимое

 

 

 

 

 

 

 

 

 

 

бы текст выглядел наглядно, мы должны

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FindResult

 

 

 

 

 

 

ÿ

запускаю цикл:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

форматирования

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

while Length(FindResult)

> 0 do

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

â ïåðå-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Как это работает?

Пока длина (Length) строки,

содержащейся

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

между

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нуля, выполнять

код, расположенный

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

менной FindResult, больше

 

 

#10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ищу первый символ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin и end. Внутри цикла я в первой

строчке кода

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Результат со-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в строке переменной FindResult

ñ

помощью Pos (#10, FindResult)

строка, в ко-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

если в FindResult находится

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в переменной

 

iPos. Например,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

храняется

 

 

 

 

iPos попадет цифра 10.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

#10, то в переменную

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

символ

ýòî

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

торой десятый

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Copy(FindResult, 1, iPos - 1))

я копирую текст в пере

 

 

 

 

 

 

 

 

 

 

 

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

êîäà (Line:=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

по символ #10. Этим я

 

 

 

 

 

 

 

 

 

 

 

менную Line из переменной

FindResult, начиная с 1-го символа

могу добавить

ýòîò ðå-

 

 

 

 

 

 

 

 

 

 

 

выделяю

первую строку текста. После этого я со смелой душой

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TMemo с помощью

 

 

 

 

 

 

 

 

 

 

 

.Lines.Add(Line)

 

 

 

 

 

 

 

 

 

 

 

зультат в мой компонент

 

команды ResultsMemo

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

я удаляю уже выбранный

мною текст с помощью коман-

 

 

 

 

 

 

 

 

 

 

 

В последней

строке цикла

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Теперь в переменной FindResult нет текста,

 

 

 

 

 

 

 

 

 

 

 

äû Delete(FindResult,

1, Length(Line)+1)

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

который

 

я уже вытащил

 

из нее и добавил в TMemo

 

 

 

 

â

 

переменной FindResult

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

если длина строки

 

 

 

 

 

 

 

 

 

 

 

 

 

После этого

 

произойдет проверка;

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

цикл. Если переменная FindResult

пустая, то цикл пре

 

 

 

 

 

 

 

 

 

 

 

 

больше

нуля, то продолжить

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кратит работу

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P

D

 

 

 

 

 

 

 

 

 

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

NOW!

r

 

который

 

без проблем должен переходить

îò Linux ê Windows

и тем более

 

 

 

 

BUY

 

 

íûé êîä,

 

 

 

 

уместное занятие.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ручное форматирование

тут достаточно

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Поэтому

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

обратно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

 

o

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

.c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p

df

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

Coding complete

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

. Теперь тебе не на-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

с сервисом

WhoIs готова

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

до заходить

на какой-нибудь

сайт в Инете, чтобы выяснить

инфу о каком

-

 

 

 

 

 

 

 

 

 

 

 

 

 

Ты просто

запускаешь

свою прогу, и она сама обращает

 

 

 

 

 

 

 

 

 

 

 

то имени

 

домена.

 

 

 

 

 

 

виде. Конечно

æå,

 

 

 

 

 

 

 

 

 

 

Ï

 

 

 

 

 

 

 

 

 

 

тебе инфу в удобном

для восприятия

 

 

 

 

 

 

 

 

 

 

 

 

 

ся куда надо и показывает

 

 

приятно

юзать

 

 

 

 

 

 

 

 

 

 

 

творением другого программера,

íî êàê

 

 

 

 

 

 

 

 

 

 

ты мог бы воспользоваться

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

свои собственные проги.

 

 

 

òåáå

 

 

 

 

. Результат работы программы ты мо-

 

 

 

 

 

 

 

 

 

 

На сегодня

это все, что я хотел

рассказать

 

. Я думаю, что утила получилась до-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

жешь увидеть на

скрине где-то рядом

с этим текстом

 

 

 

 

 

 

 

 

изменять имя

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Ты же можешь добавить в нее возможность

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

статочно

удобная

и быстрая

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

с которого нужно получать информацию

о разыскиваемом домене

 

.

 

 

 

 

 

 

 

 

 

сервера и порта,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.com/vr-online

 

 

 

 

 

 

 

 

 

 

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мне вопрос:

 

 

 

 

 

 

 

 

P. S. Напоследок

я хочу ответить на один

часто задаваемый

 

 

 

 

 

 

 

 

 

òåáå

нужно

 

 

 

 

 

 

 

 

 

Kylix1

 

и RedHat 7.1, то при инсталляции

 

 

 

 

 

 

 

 

если ты обладатель

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-m.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

запустить файл setup с ключом

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЛИСТИНГ

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

procedure TfmMain.Button1Click(Sender:

TObject);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

var

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Line,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FindResult: string;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

iPos: Integer;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

 

 

 

.Clear; //Очистка содержимого

компонента

 

TMemo

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ResultsMemo

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.Text); //Запускаю поиск

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FindResult := IdWhoIs.WhoIs(Edit1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

//Дальше идет форматирование

полученной информации

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

while Length(FindResult)

> 0 do

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

iPos

:= Pos(#10, FindResult);

 

- 1);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Line

:= Copy(FindResult,

1, iPos

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ResultsMemo

.Lines.Add(Line);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1, Length(Line)+1);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Delete(FindResult,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

РУСИФИКАЦИЯ

KYLIX

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

Для русификации

 

Kylix необходимо

открыть файл /etc/syscon

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

недостающие строки

(åñëè

 

 

 

 

 

 

 

 

 

 

 

 

 

в него следующие

 

 

 

 

 

 

 

 

 

 

 

 

fig/i18n и добавить

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

они не существуют):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Напутствие

 

 

 

 

 

 

(перехода на но-

 

LANG=ru

 

 

 

 

 

-R:ru

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Это код символа перевода каретки

 

LANGUAGE=ru_RU.KOI8

 

 

 

 

 

то такое символ #10?

 

 

 

LC_CTYPE=ru_RU.KOI8-R

 

 

 

 

 

 

 

 

 

в ОС семейства

*nix. В окнах принято

 

 

 

 

 

 

вую строку), который используется

 

 

. Åñ-

 

LC_NUMERIC=ru

_RU.KOI8-R

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

пару кодов #13 и #10 (конец

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

 

KOI8-R

 

 

 

 

 

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

 

 

результирующего

 

LC_TIME=ru

_RU.

 

 

 

 

 

×

 

 

 

 

 

âåñü êîä

по форматированию

 

 

 

 

 

 

 

 

 

 

 

 

ли ты пишешь только под *nix, то

 

 

 

LC_COLLATE=ru_RU.KOI8-R

 

 

 

 

 

написать

 

 

 

 

 

 

 

 

 

текста тебе не нужен. Ты мог просто

 

 

 

 

 

LC_MONETARY=ru_RU.KOI8-R

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-R

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LC_MESSAGES=ru

_RU.KOI8

 

 

 

 

ResultsMemo.Text:=FindResult;

 

 

 

 

 

 

 

LC_ALL=ru_RU.KOI8-R

 

 

 

 

 

В окнах такой прикол не пройдет,

потому что текст в компоненте

TMemo получится

SYSFONT=UniCyr

_8x16

 

 

 

 

 

 

 

SYSFONTACM=koi8-r

 

 

 

 

 

 

 

 

 

 

. Поэтому мне пришлось

 

 

 

 

 

 

неформатированным

и просто противным

для восприятия

 

 

-

 

 

 

 

 

 

 

 

 

 

 

изменить на

 

 

случае мы

с тобой должны

писать межплатформен

 

 

 

из этих строк уже есть, то их нужно

 

 

. В любом

 

 

 

 

 

какие-то

 

 

немного

помучиться

 

 

 

 

 

 

 

 

 

 

 

Åñëè

 

 

 

 

 

достаточно

для RedHat 7.1. В других ОС

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мной. Этого

 

 

 

 

 

 

 

 

 

 

 

 

 

 

указанные

 

 

следующие

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ся отредактировать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

семейства Linux может понадобит

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

строки в файле /etc/X11/XF86Config:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

XkbLayout

“ru(winkeys)”

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

XkbOptions “grp:ctrl

_shift_toggle”

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 4. Результат работы

программы

 

72

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

to

BUY

 

 

 

 

 

 

 

 

 

 

 

 

Koding

 

I

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

w

 

 

 

 

 

 

 

o

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Полный

мануал

 

 

 

 

ïî

 

созданию

 

 

 

 

компактного

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

êîäà

 

 

 

 

 

 

 

Horrific aka

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Любой хакер думает о том, как

сократить размер своей программы. Это же

 

несолидно иметь вирь или троян

 

размером в пару

мегабайт. Чем больше раз-

 

мер кода, тем дольше он

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

что очень легко

может

 

 

загружается в память и больше отбирает ресурсов,

 

выдать твое

творение. Если при написании офисных

 

приложений мы

 

можем

 

забыть про

 

 

 

оптимизацию

размера, то для вирусов,

 

троянов и твоих

 

 

 

 

 

 

 

 

 

 

 

 

 

приколов размер кода критичен.

 

 

 

 

Почему код большой?

 

 

 

В рубрике кодинг мы

рассказываем тебе про язык

программирования Delphi.

 

 

 

 

 

 

 

 

 

 

 

Программы, созданные им,

получаются достаточно

большого размера. С чем

 

это связано? А с

òåì,

 

÷òî

 

 

 

 

 

 

 

объектным языком. В нем каждый

 

элемент выглядит как

 

 

 

 

Delphi является

 

объект, который обладает своими свойствами, метода-

 

ми и событиями.

 

 

 

 

Любой объект вполне

 

автономен и может

 

работать без твоего ведома. Это

 

значит, что тебе нужно

 

 

только

 

 

 

 

его к своей форме, изменить нуж-

 

ные свойства, и все готово.

подключить

 

После этого все будет

работать без какого-либо

 

внешнего вмешательства.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Но в этом есть и свои недостатки. В объектах

 

 

 

 

можных действий, которые

 

 

 

 

 

 

 

реализовано большинство воз-

 

 

 

 

 

 

 

 

 

с ним. Но реально в лю-

 

бой программе мы

 

 

 

 

 

 

ты можешь производить

 

пользуемся двумя-тремя из всех этих свойств. Все осталь-

 

 

 

 

 

 

 

 

ное для программы

ëè

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

шний груз, который на фиг никому не нужен.

Как же тогда быть?

 

 

Íî êàê æå

тогда создать

компактный код, чтобы мой

троян занимал минимум

места на винте и как

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ко вариантов:

 

 

 

 

можно меньше светился в памяти? У тебя есть несколь-

1. Не использовать визуальную

 

 

 

 

 

 

 

 

 

 

библиотека MFC),

которая

 

 

 

библиотеку VCL (для любителей Visual C++ это

 

упрощает

программирование. В этом случае при-

дется все делать

 

 

 

 

 

 

 

 

 

 

 

 

вручную и работать только с WinAPI.

Код в этом случае полу-

 

 

 

 

 

 

чается очень маленьким и быстрым.

Но тут ты лишаешься визуальности и мо-

жешь ощутить

âåñü

 

 

 

 

 

 

 

 

 

 

гемор программирования на чистом WinAPI.

 

 

Åñëè

 

 

 

 

 

ты регулярно

читаешь

 

Õ,

то в ноябре 2001 года

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

пример проги на чистом

 

 

 

 

 

WinAPI в рубрике кодинг. Там наш запускной файл по-

 

 

 

 

 

 

 

 

 

 

лучился размером всего в 8

кило. И это притом, что

при использовании VCL

он увеличивается до 300 кило.

 

 

 

 

 

 

 

 

 

 

 

2. Сжимать программы с помощью

компрессоров. Такой код сжимается в не-

сколько раз, и программа с

 

 

 

 

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

VCL может превратиться из 300

кило в 30-50. Главное

 

 

 

 

 

преимущество

òóò â òîì, ÷òî òû

не лишаешься возмож-

ностей объектности

è

можешь

спокойно забыть про пятна....

 

 

В этой статье я постараюсь как можно

подробнее рассмотреть оба этих метода.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ручной кодиг

 

 

 

 

 

 

 

 

 

Ручной кодинг (программирование без

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

объектов и

визуально-

сти) похож на ручной секс

 

 

 

 

 

 

 

(это когда ты

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

удовлетворяешь себя вручную в от-

сутствии очаровашки). В обоих случаях эффект

есть, но его приходится доби-

ваться

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

 

÷òî

 

 

метода намного меньше :). Но

поделать, иногда

 

 

 

 

 

 

 

 

 

 

 

 

 

 

приходится идти на такие

извращения ради создания

компактных примочек.

 

 

 

 

 

 

 

 

 

 

 

 

 

Åñëè òû

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ïðî âñå

хочешь создать программу маленького

 

размера, то ты должен забыть

удобства. Ты

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

или другие

примочки, написанные дядей

 

 

 

 

 

 

 

 

 

 

 

Только API функции и

ничего

 

Борманом для упрощения жизни программера.

больше.

 

 

 

 

 

 

 

 

 

 

Ручной кодиг в Delphi

 

 

 

 

того чтобы создать

маленькую

прогу в

 

Delphi, нужно создать новый

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и зайти в менеджер

проектов (меню View->Project Manager). Здесь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

 

E

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

P

D

 

 

 

 

 

 

 

 

 

o

Интернет

 

 

 

 

 

 

 

 

 

NOW!

r

 

 

 

 

 

 

 

 

 

 

 

 

 

-

магазин с доставкой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

to

BUY

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

w Click

 

 

 

 

 

 

 

o

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

.c

 

 

 

 

 

 

 

 

 

p

df

 

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

(095) 798 - 8627

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(095) 928 - 6089

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(095) 928 - 0360

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Compag iPAQ H3660

 

 

 

 

 

 

 

по телефону можно сделать с 10.00 до 21.00 без выходных.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заказы

 

 

 

 

 

 

 

$ 599,99

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ВСЕГДА В ПРОДАЖЕ ЛУЧШИЕ МОДЕЛИ

 

 

 

 

 

 

КАРМАННЫХ КОМПЬЮТЕРОВ

 

 

 

 

 

 

 

 

 

 

 

 

$269.95

$1419.99

 

 

$394.99

$124.99

 

 

 

 

 

 

 

 

 

 

 

 

 

 

opeia

 

 

ens SX-45

Palm V

Palm Portable Keyboard

 

 

 

00

 

 

omeda

 

äëÿ Palm V (KBPV)

 

 

 

 

 

 

$569.99

$480.99

 

 

$515.99

$990.99

 

 

 

 

 

 

 

 

 

 

 

 

 

 

HP Jornada 548

Compaq i PAQ H3630

Cassiopeia E-125

 

ornada 720

 

 

 

 

$839.99

$390

 

 

$750

$1100

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Nokia 9210

Sony CyberShot

Sony CyberShot Digital

Sony DCR-TRV17DV

 

 

 

 

 

 

 

Communicator

DSC-P30 (DSC-S30)

Camera DSC-S75

 

 

 

 

 

 

 

 

 

 

 

 

 

ПРИ ПОКУПКЕ НА

100$ подарок!

 

 

 

 

 

 

 

 

 

 

 

 

СУММУ СВЫШЕ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заказы по интернету – круглосуточно!

 

 

 

 

 

 

 

 

 

 

 

e-mail: sales@e-shop.ru

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если при установке Delphi ты не отключал

“Source”,

затем в

 

 

 

 

 

 

to

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

перейди в

папку

 

 

w

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

 

 

o

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

рейди

в диру, куда ты засандалил

Delphi. Здесь

 

 

 

 

 

 

модулей, в которых

îïè-

 

 

w Click

 

 

 

 

 

 

o

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

исходники

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

.c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

“Win”. Âîò

здесь расположены

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

p

df

 

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и, наконец,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

к своим

 

 

 

p

df

 

 

 

 

e

 

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

“Rtl”

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Именно эти модули ты можешь подключать

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

Полный мануал по созданию компактного кода

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

саны все API функции

Windows

 

 

 

 

 

 

 

 

 

 

код. Если ты подключишь

что-то другое,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

проектам,

если хочешь получить маленький

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

проги

(õîòÿ åñòü

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Horrific (smirnandr@mail.ru)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тебе минимум

размера твоей

и исключения)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

то я уже не гарантирую

 

 

 

 

 

были возможности ра-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в твоей программе

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

www.cydsoft.com/vr-online/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Если ты хочешь, чтобы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сразу лови пример

 

 

 

 

 

 

подключить

ê

нему библиотеку

сокетов. Среди модулей

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

боты с сетью,

то тебе нужно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.pas. Значит, ты должен в раздел uses написать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

только файл самого

проекта (по умолча

 

 

 

PI есть файл с именем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сможет работать

с сетью.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нужно

удалить все формы, чтобы остался

 

áûòü.

 

 

 

 

 

 

 

 

 

 

WinA

 

 

 

 

 

 

 

писать

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

должно

 

 

 

 

 

 

 

 

 

 

winsock (расширение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.exe). Никаких модулей в проекте не

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

íèþ åãî èìÿ Project1

 

 

 

 

 

 

 

 

 

Теперь щелкни правой кноп-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кой по имени

проекта и выбе-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ðè

из появившегося

 

ìåíþ

 

 

Пусть всегда будет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

пункт “View Source” (или

 

èç

 

 

 

 

 

 

я описал минимальный

проект,

в который

можно добавлять свой код. Но

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ïîêà ÷òî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ïàìÿ-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

главного меню Project выбери

 

 

 

 

 

 

один раз, и программа выгрузится из

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вставишь,

выполнится

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

View Source). В редакторе ко-

 

 

код, который ты

 

 

 

 

 

 

 

постоянно висела в окнах? Для это-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

òè. À ÷òî

если тебе надо, чтобы твоя программа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да откроется

для редактиро

 

 

 

следующий шаблон для своих

ïðîã:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

проекта

 

 

го используй

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вания

 

ôàéë

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Project

Manager

 

 

 

 

 

 

 

 

 

 

.dpr.

Åñëè òû óæå óäà-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок

 

 

 

 

 

 

 

 

 

 

Project1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

program Project1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

должно быть таким:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

лил все модули, то его содержимое

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

uses Windows;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

program Project1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

var

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Msg: TMsg;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

uses

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Begin

 

 

 

 

 

 

 

 

 

 

 

 

 

ñâîé êîä

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Forms;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

//Сюда можешь добавлять

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{$R *.res}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

// Дальше

идет код, который заставит

прогу висеть в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

систему.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сильно

грузить

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Application.Initialize;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

// памяти вечно и не будет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0, 0) do

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Application.Run;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

while GetMessage(

Msg, HInstance,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

абсолютно пустой

 

 

 

 

begin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Я удалил все

визуальные формы и теперь могу скомпилировать

 

 

 

 

TranslateMessage(msg);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

выбрал

èç

ìåíþ

 

 

 

 

DispatchMessage(msg);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сделать это. После

компиляции

ÿ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

Я решил попробовать

 

 

 

 

 

окно с информацией

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

проект

 

 

 

 

 

 

 

 

 

 

 

.

Передо мной появилось

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Project пункт “Information

for Project1”

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В правой части окна

должны

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

о проекте

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sual

C++

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

быть описаны

используемые

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

çíà-

 

 

Маленький

 

êîä â Vi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

пакеты. Мы все удалили,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ñ++, óæå ïîëó-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

÷èò òàì

точно должна красо-

 

 

Многие заблуждаются, говоря,

что программы, созданные в Visual

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. À âîò

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Ñàì ÿçûê Ñ++ ÿâëÿ-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ваться надпись “None”

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Это действительно на 90% заблуждение

 

 

.

Это значит,

 

÷òî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

должна быть

 

 

чаются маленькими

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

с левой

стороны

 

 

ется объектным и страдает теми же

недостатками,

÷òî è Delphi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

описана информация

î ñêîì

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Самая

 

именно на С++

код будет получаться

очень большим

его, получил очень маленький

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

пилированном

êîäå.

 

откомпилировав

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

è,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Даже если ты создал новый проект

 

 

 

.

 

Реально твоя прога

èñ-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

последняя

 

код, то это не значит, что

программа получилась

компактной

 

 

 

 

 

 

 

версии MFC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ìåíÿ

îí

 

 

 

 

 

 

-

ýòî

 

номер

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

размер файла, и у

 

 

 

 

 

 

 

 

 

mfcХХ.dll. Здесь ХХ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

пользует

динамические библиотеки

 

 

 

 

 

 

 

. Â ðå-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

равен

370688

áàéò.

Ничего

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

занимает около 2 мегов на диске

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

(Microsoft Foundation Classes). Вся библиотека

 

 

 

 

 

 

 

файла

 

плюс размер библи-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

себе пельмень!!! Мы же ниче

 

 

 

зультате твоя прога будет

состоять из

размера запускного

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

Откуда же

 

 

 

 

 

 

 

 

можно так мухлевать,

если установить в свойствах

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

го еще не писали

 

 

 

 

 

 

 

 

 

 

 

 

 

. Нехило? В Delphi тоже

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 2. Окно инфор

мации о

 

проекте

 

 

 

тогда такой большой

êîä?

 

 

 

 

 

отеки MFC

 

 

 

 

 

с динамической

загрузкой bpl (Borland

Pascal Library)

библиотек

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

проекта компиляцию

 

 

 

реально

 

создать

ìà-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Чтобы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Откуда ноги растут?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ленький

êîä íà Visual C++,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нужно

 

также

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PI и никаких объ-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

âñå, ÷òî åùå íå îá-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

только WinA

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

что осталось в нашем проекте, чтобы обрезать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Для этого при создании

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Давай разберем,

 

модуль Forms. Это

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ектов

 

 

проекта

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

внимание, что в разделе uses подключен

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нового

ты должен вы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

резано. Сразу

обрати

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а значит его использовать нельзя

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

брать тип “Win32 Application”

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

объектный

модуль, написанный дядей Борманом,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Â

ýòîì

 

случае ты, как

è

â

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Его тоже использовать нельзя

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Между begin и end используется

объект Application

 

 

 

 

 

 

 

 

 

 

 

с объектом

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Delphi, ощутишь

все прелести

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Âñå

накладки большого

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

компиляции

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

íà WinAPI.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

è Run, ïðè

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и корявости кодинга

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Õîòÿ

мы используем только два метода Initialize

 

 

 

 

а может

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а он состоит из сотен,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если ты до этого

момента от

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Application

файл попадает

весь объект TApplication,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в запускной

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

носился к Биллу параллельно,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и тысяч

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

накладных

 

расходов,

 

нужно заменить модуль

 

Forms

íà

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

то после пары часов

кодинга

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Чтобы избавиться от

 

 

 

 

 

 

 

 

 

 

 

 

минимальный код

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PI ты вступишь в пар-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. А между begin

и end вообще все можно удалять. Самый

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

â Visual C++

 

 

 

íà WinA

 

 

 

 

 

 

 

 

:).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4. Создания проекта

 

 

 

òèþ

ненавистников M$

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Windows

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

program Project1;

 

 

 

uses Windows;

 

 

 

Begin

 

 

 

 

end.

 

 

 

и посмотри на размер по-

 

откомпилируй проект. Зайди в окно информации

Снова

.

 

8192

. Вот это уже по-человечески

лучившегося файла. У меня получилось

байта

 

 

 

 

Рисунок 3. Информации о

проекте

 

Кодинг

 

íà WinAPI

 

Заготовка минимальной

ïðî-

 

граммы

ñ

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

 

 

. Теперь ты мо-

WinAPI готова

ñâîé

жешь смело

добавлять

код. Мне только надо объяс-

нить тебе, какие модули мож-

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

åêòó â

раздел uses. Тут все

Сжатие программ

то твоим лучшим другом должна

 

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

 

 

 

PI,

Åñëè òåáÿ

кодинг на чистом WinA

 

 

 

êî-

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

файлов. Я очень люблю ASPack,

 

 

 

 

 

. Îíà

стать какая

 

 

 

 

 

 

 

.htm

 

 

 

 

 

 

 

 

 

.com/vr-online/download

 

 

торую ты можешь

забрать по адресу www.cydsoft

 

библиотеки .dll.

 

 

 

 

 

файлы .exe и динамические

 

 

прекрасно сжимает запускные

 

 

 

 

 

 

 

 

 

Я не буду объяснять установку

 

 

 

 

 

ASPack, потому

что там абсолютно

 

 

 

 

 

ничего сложного нет. Только

îäíî

 

 

 

 

 

 

âñå

 

 

 

 

 

нажатие на кнопке “Next”, и

 

 

 

 

 

 

 

 

 

 

 

готово. Теперь запусти

установ-

 

 

 

 

 

ленную прогу и ты увидишь окно,

 

 

 

 

 

как на рисунке

5. Главное окно со-

 

 

 

 

 

стоит из нескольких закладок:

 

 

 

 

 

 

1. Open File

 

 

 

 

 

 

 

 

 

 

2. Compress

 

 

 

 

 

 

 

 

 

 

3. Options

 

 

 

 

 

 

 

 

 

 

4. About

 

 

 

 

 

 

 

 

 

 

5. Help

 

 

 

 

 

Рисунок 5.

Главное окно ASPack

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

На закладке “Open File”

 

есть только одна кнопка

-

 

“Оpen”. Нажми на

íåå

è

 

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

 

хочешь

сжать. Как

только

 

ты выберешь файл, про-

 

грамма

перескочит на за-

 

кладку

“Compress”

è íà÷-

 

нет сжатие.

 

 

 

Сжатый файл сразу переза-

 

писывает существующий, а

 

старая несжатая версия со-

 

храняется на всякий случай

 

под тем же именем, только

Рисунок 6.

Сжатие файла

с расширением bak.

 

 

 

Настроек у проги не так уж

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

Уж лучше я расскажу

 

тебе, как все работает.

 

Aspack

ïîä

ножом

 

 

 

 

 

 

 

 

 

 

патологоанатома

 

 

 

 

 

 

 

 

 

Давай разберемся, как

 

 

 

сжатие. Сначала весь код программы

 

ñÿ

 

 

 

 

работает

сжимает-

архиватором. Если ты

думаешь, что он какой-то навороченный,

 

ошибаешься. Для

сжатия

то сильно

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

архиватор

 

 

 

 

 

 

 

 

 

 

 

 

типа WinZIP, только

оптимизированный для сжатия байт-кода.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

После этого в конец сжа-

 

 

 

 

 

 

 

 

 

 

 

 

 

òîãî

êîäà

добавляется

 

 

 

 

 

 

 

 

 

 

 

 

 

êîä

разархиватора, кото-

 

 

 

 

 

 

 

 

 

 

 

 

 

ðûé

будет все это дело

 

 

 

 

 

 

 

 

 

 

 

 

 

разжимать

обратно. И в

 

 

 

 

 

 

 

 

 

 

 

 

 

самом конце ASPack из-

 

 

 

 

 

 

 

 

 

 

 

 

 

меняет заголовок запуск-

 

 

 

 

 

 

 

 

 

 

 

 

 

ного файла так, чтобы при

 

 

 

 

 

 

 

 

 

 

 

 

 

старте сначала

 

запускал-

 

 

 

 

 

 

 

 

 

 

 

 

 

ñÿ

разархиватор.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Теперь,

 

когда ты запус-

 

 

 

 

 

 

 

 

 

 

 

 

 

тишь сжатую прогу, сна-

 

 

 

 

 

 

 

 

 

 

 

 

 

÷àëà

запустится

 

разархи-

Рисунок 7. Настройки

 

 

 

 

 

 

ватор, который

разожмет

 

 

 

 

 

 

áàéò-êîä

 

 

 

 

 

 

 

 

 

 

 

 

ASPack

 

 

 

программы и ак-

 

 

 

 

 

 

 

 

 

 

 

 

 

куратно

â

 

 

 

 

 

мяти машины. Как только этот

 

 

 

 

 

 

 

 

ыложит его в па-

ление твоей проге.

 

 

 

процесс пройдет, разархиватор передаст управ-

Некоторые умники сейчас ляпнут,

что из-за расходов на

распаковку программа

будет работать

медленней!!! Я бы

 

 

 

 

 

 

 

 

не сказал, что ты это заметишь.

Äàæå åñëè è

возникнут какие-то потери, то

îíè

будут

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

неощутимы. Это потому, что архивация

хорошо оптимизирована под байт-

 

 

 

 

 

 

 

 

 

 

 

 

значит она загрузится в память

 

код. К тому же, размер проги уменьшится, а

 

 

 

 

результате

потери на скоро-

сти неощутимы даже

ñ

 

 

намного быстрее. В

секундомером.

 

 

 

 

 

 

 

 

 

 

 

 

Archiving complete

 

 

 

 

 

 

 

 

 

Конечно же, кодинг на WinAPI слишком

сложный, но программы получаются

очень

 

 

 

 

 

 

 

 

 

такой

маленького размера, и никакой архиватор не

сможет сжать байт-код до

степени. А

 

 

 

 

 

 

 

 

 

будут

 

 

если еще и сжать прогу, написанную на WinAPI, то

ее размеры

меньше некуда.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ïðè

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

навороченных фишек типа ви-

 

зуальности и

 

 

 

 

 

 

 

 

 

 

 

 

объектности код получается большим,

но его можно

сжать на 60-

70% спецархиватором. К тому же

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

такой код писать намного легче и быстрее.

В любом случае архивирование -

 

 

 

 

 

 

 

 

 

 

 

 

 

код труднее взломать,

потому что

необходимая любому хакеру фишка. Сжатый

не каждый disassembler сможет прочитать упа-

 

 

 

 

 

 

 

 

 

кованные команды. Так что, помимо

уменьшения размера, ты получаешь защи-

ту, способную отпугнуть

 

 

 

 

большинство крякеров.

Конечно же, профи не отпуг-

 

 

 

 

 

 

нешь даже большим Билом :), но

крякер средней

паршивости не будет мучить-

ся со сжатым байт-кодом.

 

 

 

 

 

На этом архивирование считаю

законченным. Несмотря на небольшой размер

â

 

 

 

 

 

 

 

ыделенного мне

места, я смог рассказать тебе достаточно инфы,

чтобы ты

ñìîã

начать

 

 

уже сейчас писать

маленький код. На этом

 

 

 

 

 

 

 

 

 

 

 

и закончим сегодняшний

óðîê

оптимизации. Надеюсь, что еще увидимся.

 

 

 

 

 

 

 

 

 

 

 

 

-Logz

 

 

LOL

 

 

 

скомпоновал

 

Посниффал и

 

 

 

 

 

 

 

 

 

.org)

 

 

Virus (card@hacknow

 

 

 

*** Now talking in #***

 

 

e: Добро пожаловать!!!

 

 

 

 

 

- #*** Welcom

 

 

 

 

 

-ChanServ

 

 

 

 

 

 

 

 

 

 

*** Joins: Greys_AwaY

 

 

 

 

 

 

 

 

 

<bumer> привет!

 

 

 

 

 

 

 

 

 

 

<Greys_AwaY> приветик

 

 

 

 

 

 

<bumer> кто здесь??

 

 

 

 

 

 

 

 

<Greys_AwaY> =)

 

 

 

 

 

 

 

 

 

 

<ZiV> привет

 

 

 

 

 

 

 

 

 

 

<bumer> никого не видно!!!

 

 

 

 

 

<bumer> что такое???

 

 

 

 

 

 

<Greys_AwaY> ?

 

 

 

 

 

 

 

 

 

 

<Dark_Child> à òû êòî?

 

 

 

 

 

 

<Greys_AwaY> игнор убери

 

 

 

 

 

<bumer> êàê êòî?

 

 

 

 

 

 

 

 

 

 

***PING? PONG!

 

 

 

 

 

 

 

 

 

 

<bumer> ÿ ñåáÿ íå âèæó!!!!

 

 

 

 

 

<bumer> íà #clair_de_lune

 

 

 

 

 

<Greys_AwaY> ÿ òåáÿ òîæå íå âèæó

 

 

 

<bumer> не понимаю!!!

 

ñûìè =)

 

 

 

<GluckOnuT> инвизибл нах

 

 

 

<bumer> ÷òî???

 

 

 

 

 

 

 

 

 

 

<GluckOnuT> сними инвизибл

 

 

 

<bumer> à ÿ è íå çíàþ, ÷òî

ýòî!!

 

 

 

<bumer> я не хакер!

 

 

 

 

 

 

 

<bumer> честно!!

 

 

 

 

 

 

 

 

 

<GluckOnuT> не психуй, а зайди в опции

 

 

<bumer> êóäà?

 

 

 

 

 

 

 

 

 

 

<GluckOnuT> options

 

 

 

 

 

 

<bumer> ãäå ýòî?

 

 

 

 

 

 

 

 

 

*** Joins: 3J}ou^_][akep

 

 

 

 

 

 

<bumer> какой канал?

 

 

 

 

 

 

<cd-r0m> âñå ÿñíî

 

 

 

 

 

 

 

*** Parts: 3J}ou^_][akep

 

 

 

. слева вверху

 

 

 

 

 

. это кнопочка

 

 

<GluckOnuT> это не канал

 

 

 

 

 

<bumer> â Start Menu?

 

 

 

 

 

 

<bumer> а если вирус записать?

 

 

 

<Greys_AwaY>

у тебя какой мирк?

 

 

 

<bumer> я не хочу никуда лазать!

 

 

 

<bumer> я говорю же, я не хакер!!!

 

 

 

<Greys_AwaY>

у тебя какой мирк?

 

 

 

<Greys_AwaY>

что наверху написано?

 

 

<Greys_AwaY>

ну не тормози

 

 

 

<bumer> где вверху??

 

 

 

 

 

...

<GluckOnuT> набери format c: и все пройдет

<bumer> format c:

 

 

 

 

 

 

 

<ZiV> :)))

 

 

 

 

 

 

 

 

 

 

<bumer> format c:

 

 

 

 

 

 

 

<bumer> è ÷òî???

 

 

 

 

 

 

 

<GluckOnuT>

не здесь, а в окне дос

 

 

 

<bumer> ãäå??

 

 

 

 

 

 

íåò???

<bumer> почему я всех вижу, а себя

 

 

 

<bumer> где канал опций?

 

 

 

 

<Trinitrotoluol>

íå çíàþ

 

 

 

 

 

 

 

 

÷òî RTFM

 

 

 

<GluckOnuT>

потому

 

 

 

<Greys_AwaY> какой

ó òåáÿ ìèðê?

 

 

 

<bumer> ÷òî çà ìèðê???

 

 

 

 

 

<bumer> я из клуба!!!

 

 

 

 

 

<bumer> я не на страничке, я в чате!!!

 

 

<Greys_AwaY>

в какой проге ты сидишь?

<Greys_AwaY>

как окно называется?

 

 

<bumer> Windows 95

 

 

 

 

 

 

<Greys_AwaY> =)

 

 

виндовс, это

святое

<Greys_AwaY>

не трогай

 

 

<bumer> я первый раз за

компьютером

 

<Trinitrotoluol>

îãî

 

 

 

 

 

 

<Greys_AwaY> найди надпись файл

 

клуба

<bumer> надо позвать администратора

<Trinitrotoluol>

õåëï

 

 

 

 

 

<Greys_AwaY>

äûê çîâè!

 

 

 

 

***PING? PONG!

 

 

 

 

 

 

 

 

<bumer> там все по-английски!!!

 

 

 

<Trinitrotoluol>

í-äà..

 

 

 

 

 

<Greys_AwaY> File

 

по-русски

 

 

 

<Trinitrotoluol> значит

 

 

 

<Greys_AwaY>

õå-õå

 

 

 

 

 

<bumer> хорошо!

 

 

 

 

 

 

<Greys_AwaY>

нашел?

 

 

 

 

 

<bumer> тогда

я попозже приду!

 

 

 

<bumer> поговорю с администратором

<Greys_AwaY>

ñòîé

 

 

 

 

 

<Greys_AwaY>

зови сюда админа

помочь

<Greys_AwaY>

он сам те должен

<bumer> êîãî?

 

 

 

 

 

 

 

<bumer> ïîêà!

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

55

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

w

 

 

to

 

 

 

 

o

Joystik

P

 

 

 

 

 

NOW!

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

o

m

 

 

w

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

САМ СЕБЕ ДЕВЕЛОП¨Р, ИЛИ КАК САМОМУ

ШТАМПОВАТЬ ГАМЕСЫ (ГЛАВА НУМЕРО УНО)

Александр “xtracer” Логинов (http://www.rgw.ru)

6 4 5 9 7

6 4 5 9 7 3 4 9 8 5

6 4 5 9 7 3 4 9 8 5 7 9 8 7 5

Ñàì

ñåáå

 

 

 

èëè

 

девелопер,

 

-

êàê

самому

 

 

ãàìå

штамповать

 

ñû

(глава

 

 

óíî)

 

нумеро

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

7 6 4 5 9 7

7 6 4 5 9 7 3

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

7 6 4 5 9 7 3 4 9 8 5 7 9 8 7

 

 

 

 

 

 

 

 

 

 

 

8 7 9 8 4

3 4 9 5 8 7 9 8 3 7 5 9 8 7 3

9 8 7 3 4 5 9 8 7 2 3 4 5 9 8 7 2 9 4 8 5 7 9 8 4 7 5 9 7

9 8 2 3 7 5 9 8 3 4 7

4 8 5 7 9 8 4 7 5 9 7 3 4 9 8 5 3 9 8 7 5 9 8 2 3 7 5 9 8 3 4 7 5 7 6 4 5 9 7 3 4 9

8 4 5 8 9 7 2 3 4 9 5 8 7 9 8 3 7

За один год мы гантский путь от повествования о по-

следних модификациях популярных игровых проектов до первого опыта скоротечной любви в объятиях косоглазого уровня для Red Faction. Пришло время сделать еще один шаг в сторону светлой мечты твоей жизни - собственного игрового проекта. Предлагаю тебе первую часть многосерийного опуса, разделенного на несколько фрагментов, позволяющих наиболее полно понять стадии игровой разработки, познакомиться с возможными сложностями на тернистом пути и создать свой собственный игровой проект. Данный материал несет чисто теоретическую основу и предназначен для лучшего понимания процесса создания компьютерных игр. Пускай многие описанные ниже рекомендации покажутся тебе наивными и простыми, но, как показывает практика, слишком много игровых проектов прекратили свое существование из-за элементарных ошибок самих разработчиков.

С чего начать?

Один из главных вопросов, волнующих молодого разработчика. Это только на первый взгляд кажется, что создать игру невероятно просто - взял в руки бутылку пива, позвал вечно веселого соседа, отхватил небольшую идею из школьного учебника, прибавил простенький движок, нарисовал десяток персонажей в фотошопе, и новый шедевр готов. Толпы издателей выстраиваются в очередь, чтобы приобрести новоиспеченное чудо, и если ты еще не Кармак, то почти Американ МакГи. На самом деле, процесс разработки игры достаточно трудоемок и требует не только огромных денежных затрат, но и бесконечного количества времени, сил и эмоций. Видимо поэтому большинство

- люди без семьи, надежды и времени. Впрочем, оставим эту грустную тему позади и перейдем к первому этапу формирования игры.

Концепция

Прежде чем приступать к созданию полноценной игры, ты должен четко осознавать, какие идеи и принципы ты хочешь воплотить в своем проекте. Будь это оригинальная идея, удачно ухваченная тобой из очередного голливудского попкорна, или гениальная мысль, внезапно поразившая твой мозг после бессонной ночи в Интернете. Главное - это оригинальность и растяжимость разработки. Если ты задумал создать небольшую игру о приключениях очередного супергероя в недрах атомного реактора заброшенной

Если ты задумал создать небольшую игру о приключениях очередного супергероя в недрах атомного реактора заброшенной инопланетной станции - это, конечно, хорошо, но колобок-мутант, ищущий свою волосатую сестру в средневековом окружении, будет куда оригинальней.

инопланетной станции - это, конеч- но, хорошо, но колобок-мутант, ищущий свою волосатую сестру в средневековом окружении, будет куда оригинальней. Главное - не увлекайся, иначе твоя гениальная игра будет понятна исключительно таким же продвинутым разработчикам, как и

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

Команда

Обладая начальной идеей, ты всегда можешь пригласить друзей, дальних знакомых или неизвестных людей с улицы и сделать им великолепное предложение, от которого невозможно отказаться. Будь настойчи- вым, при этом тщательно отбирай людей по их способностям (тебе понадобятся программисты, трехмерные и двухмерные аниматоры, специалисты по механике и созданию искусственного интеллекта), а не по внешнему виду или дружеским привязанностям. Команда - это цельный организм, от сбалансированности которого зависят готовность и каче- ство финального продукта. Подбирая людей, старайся не обещать много, будь честен и откровенен. Если ты наобещаешь команде золотые горы, а через полгода вы продолжите сидеть в старом гараже без денег, надежды и в окружении радиоактивных крыс, то сотни часов, проведенных в объятиях железного гестапо, могут оказаться напрасно потерянными. Если ты не уверен в своих коллегах или боишься остаться на половине пути совершенно один - начинай работать в полном одиночестве. Возможно, производство игры займет куда больше времени, зато в провале проекта ты будешь винить только себя. Стоит напомнить, что такие известные игровые разработчики, как Джон Ромеро и Кен Сильверман, создавали свои первые и вполне успешные игры исключительно своими силами.

Æàíð

Если с концепцией у тебя все в порядке, и навечно потерянный сосед смеется до истерики над двумя мятыми листами бумаги, то ты можешь приступать к одному из самых ответственных решений в своей жизни - выбору жанра будущего бестселлера. Обычно на этом этапе разработ- чики руководствуются своими лич- ными предпочтениями, попадая таким образом в омут разочарования и

Если ты наобещаешь команде золотые горы, а че- рез полгода вы продолжите сидеть в старом гараже без денег, надежды и в окружении радиоактивных крыс, то сотни ча- сов, проведенных в объятиях железного гестапо, могут оказаться напрасно потерянными.

технологических проблем. Поэтому отнесись к своему выбору с въедливой рациональностью. Если у тебя есть надежные друзья, прекрасно разбирающиеся во всех областях знаний, к тому же готовые пожертвовать годом жизни за бестелесную идею, то ты счастливый человек, и практически каждая задача вам будет по плечу. Ты можешь заняться разработкой стратегии, ролевика, симулятора искусственной жизни или модного 3D Action. Если же ты один и все друзья смотрят на тебя безумными глазами - не отчаливайся :). Ты всегда можешь создать простенькую головоломку, варгейм, аркаду или, как легендарный Дерек Смарт, - глобальный многопользова-

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

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

9 7 3 4 9 8 5 7 9 8 7 5

 

.

 

 

 

 

 

.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

 

 

 

 

7 6 4 5 9 7 3 4 9 8 5 7 9 8 7 5 9 8 2 5 9 8 7 9 8 4 5 8 9 7 2 3 4 9 5 8 7 9 8 3 7 6 4 5 9 7 3

7 6 4 5 9 7 3 4 9 8 5 7 9 8 7 5 9 8 2 5 9

3 4 5 9 8 7 2 3 4 5 9 8 7 2 9 4 8 5 7 9 8 4 7 5 9 7 3 4 9 8 5 3 9 8 7 5 9 8 2 3 7 5 9 8 3

4 7 5 7 6 4 5 9 7 3 4 9 8 5 7 9 8 7 5 9 8 2 5 9 8 7 9 8 4 5 8 9 7 2 3 4 9 5 8 7 9 8 3 7 5 9 8 7 3 4 5 9 8 7 2 3 4 5 9 8 7 2 9 4 8 5 7 9 8 4 7 5 9 7 3 4 9 8 5 3 9 8 7 5 9 8 2 3 7 5 9

9 8 3 7 5 9 8 7 3 4 5 9 8 7 2 3 4 5 9 8 7 2 9 4 8 5 7 9 8 4 7 5 9 7 3 4 9 8 5 3 9 8 7 5 9 8 2 3 7 5 9 8 3 4 7 5 7 6 4 5 9 7 3 4 9 8 5 7 9 8 7 5 9 8 2 5 9 8 7 9 8 4 5 8 9 7 2 3 4 9 5 8 7 9 8 3 7 5 9 8 7 3 4 5 9 8 7 2 3 4 5 9 8 7 2 9 4 8 5 7 9 8 4 7 5 9 7 3 4 9 8 5

Проще всего создать головоломку или небольшую аркаду. В подобном слу- чае можно использовать максимально примитивный движок, а общая линейность игры позволит тебе завершить проект че- рез пять-шесть месяцев.

тельский космический симулятор. Правильно рассчитай свои силы, продумай все варианты и приступай к выбору технологии.

Технология

Обладая точно рассчитанной концепцией, дружной командой и даже четко сформулированным жанровым предпочтением, ты все равно не сможешь создать хороший игровой продукт без должной технической основы. Безусловно, ты можешь наковырять собственную технологию с нуля, потратив полтора-два года на разработку меганавороченного трехмерного движка, который благополучно устареет к моменту выхода проекта. Безусловно, даже в случае неудачи ты станешь одним из крупнейших специалистов в этой области, но вряд ли такие жертвы оправданы даже столь высокими задачами. Поэтому не стесняйся и смело хватай один из бесплатных плодов от менее умных коллег.

Движки

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

из них обладает массой возмо тей, минусов и условностей. Некото-

рые движки распространяются абсолютно бесплатно, но если ты захо- чешь выпустить цельный коммерческий продукт, то придется поделиться с создателем технологии. Другие стоят существенных капиталовложений (от 100 зеленых рулей до 1 миллиона долларов). Третьи распространяются абсолютно бесплатно, но поддержка и дополнительные (иногда просто необходимые элементы) возможности доступны исключительно за отдельные деньги. Кроме того, при выборе технологии ты должен четко учитывать жанровую принадлежность и сюжетные особенности своего проекта. Например, ролевая игра может быть создана на обычной двухмерной технологии (как Arcanum или Baldur’s Gate), в то время как трехмерный шутер потребует максимального количе- ства специальных эффектов и продвинутого искусственного интеллекта. Проще всего создать головоломку или небольшую аркаду. В подобном случае можно использовать максимально примитивный движок, а общая линейность игры позволит тебе

Толпы издателей выстраиваются в очередь, чтобы приобрести новоиспеченное чудо, и если ты еще не Кармак, то почти Американ МакГи.

завершить проект через пять-шесть месяцев. Стоит также отметить, что при выборе движка не стоит забывать об удобстве редактора (тебе и твоим товарищам придется его видеть каждый день), технической поддержке и совместимости данной разработки с основной операционной системой. Будь внимателен, настой-

рассудителен, и у тебя все получится.

Это только начало

Я понимаю твою разочарованность - большую часть из всего сказанного ты уже читал в сотне газет, журналов и конференций. Но подобное введение просто необходимо перед практически занятиями по созданию небольшого аркадного проекта. Начи- ная со следующего номера, мы попытаемся совместными усилиями создать одну из самых оторванных и очаровательных игр ХХI века. Будь готов.

Пять самых интересных freeware движков

3D Echtzeitgrafik

Автор: Габриэль Вунзер

WWW: http://www.darkbasic.com/

Симпатичный трехмерный движок от соседей из Германии. Чем-то напоминает подзабытый Hired Team в ча- сти освещения и реализации трехмерных объектов. Одной из приятных особенностей данной разработки является наличие подробного руководства на немецком языке :). Так что если у тебя все в порядке с иностранными языками - можешь смело отправляться на официальную страничку автора и выдирать это замеча- тельное чудо с корнями.

Titan Engine

Автор: Игнасио Кастако Аквадо WWW: http://talika.fie.us.es/~titan/

Titan Engine - невероятно мощная технология от детей Хуана Карлоса Перейра. Поддержка практически всех версий Windows (кроме XP),

OpenGL, Кривых Бизье, экспорта в 3D Studio Max и карт от Quake3 вместе со скелетной деформацией позволит вам создать совершенный игровой проект. Правда, неудобство редактора дает о себе знать на пятый день разработки. Выбор за вами.

Orion3D

Автор: Габриэль Пейри WWW: http://perso.clubinternet.fr/nikopol0/menu.htm

Orion3D - это удобный движок, специально написанный под оболочку Windows. Поддержка OpenGL, Mip mapping, динамичного освещения и тумана ставят его на один уровень с Unreal. Что не так плохо для свободно распространяемой технологии.

Beam Engine

Автор: Тобиас Яханссон WWW: http://come.to/polygone

Beam Engine - это весьма симпатич- ное чудо от шведского программиста. Поддержка динамичного освещения, разрушаемые поверхности, реалистична физика и сложная анимация в умелых руках могут превратиться в настоящее чудо.

True3D

Автор: Тревор Уилкин

WWW: http://www.gamesprogram ming.co.uk/java/myPrograms/

True3D - это уникальный трехмерный движок, написанный целиком на Java, поддерживающий, к своей гордости, уникальную симуляцию трехмерного пространства. При большом желании на основе True3D можно создать свой небольшой, но весьма необычный браузер- íûé DOOM.

5 Кодинг 6 Hack-Faq 7 JoyStick 8 Юниты 9 Quit> 77

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

w

 

 

to

 

 

 

 

o

 

 

 

 

 

JoyStick

P

 

 

 

 

 

NOW!

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

ÇÀË ÑÓÄÀ

Урожденная Жанр Похожесть Мать/отец

Требует Групповуха Описуха

Jack Orlando

 

 

 

adventure

 

 

 

Police Quest

 

 

 

Zuxxez Entertainment/JoWooD

Productions

 

64(128)

 

(P2-266),

 

Ð200

 

 

 

Обломись

 

 

-

Старомодная

рисованная

адвенчу

. Бывшему по-

 

 

ðà a la Police Quest

 

лицейскому

нужно за 48 часов до-

 

 

 

казать, что он не совершал

ïðå-

 

 

 

-

ступление,

в котором

его обвиня

 

 

 

 

çà-

 

 

 

 

 

избитый,

ют. Сюжет, конечно,

 

è

 

 

 

 

 

 

то... В игре прорва

предметов,

логично

èñ-

все они могут быть

 

 

 

 

 

 

 

 

 

 

. Простого перебора

пользованы

 

 

 

 

 

 

-

 

 

-

инвентаря

не потребуется

ïðè

 

 

 

 

 

. Íåòó âçÿ-

 

 

 

 

 

 

 

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

и вообще -

тых с потолка

паззлов,

 

.

 

 

все продумано

äî

мелочей

 

 

 

 

 

 

 

 

 

 

 

 

ПРИГОВОР

ХОРОШО

 

Урожденная Жанр Похожесть Мать/отец Требует Групповуха Описуха

Mystery of The Druids

adventure

квесты от Cryo House of Tales/CDV Software

Ð233(P2-300), 32(64)

Обломись Ты играешь за сыщика, рассле-

дующего серию странных убийств. За ними стоит легенда о

древнем клане друидов и их ма-

ПРИГОВОР

СЛАБО

 

гии. Новоявленный Шерлок

Холмс перемещается в прошлое,

в гости к этим самым друидам,

чтобы помешать их коварным

планам. Игра так же банальна и

стандартна, как и этот незамыс-

. Обычная

2.5D

ловатый сюжет

-

графика, местами невразуми

тельная логика паззлов, абсолют-

но линейное развитие событий.

Урожденная Жанр Похожесть

Мать/отец Требует Групповуха Описуха

Wizardry 8 RPG

Wizardry 6-7, серия Might & Magic Sir-Tech Canada/Buka

Entertainment

Р2-266(P3-600), 64(128), (3D) Обломись

Последняя игра в серии Wizardry.

Система генерации и развития персонажей - просто супер! Боль-

ПРИГОВОР

РУЛЕЗ(З)!

 

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

умения... Графика и интерфейс нареканий не вызывают, озвучка сделана так, что закачаешься - почти мечта ролевика. Поклонники Arcanum обвинят Wizardry 8 в излишней “облегченности”, смещении геймплея в сторону сражений, зато здесь нет level cap...

Урожденная Жанр Похожесть Мать/отец Требует Групповуха Описуха

Return to Castle Wolfenstein

FPS

 

Wolfenstein 3D, Quake

 

Gray Matter Studios/Activision

 

Ð2-400(P3-800), 128(256), 3D

LAN, Èíåò

êàñ-

Шмайсеры, расклешенные

ки и орлы на фуражках - нос-

тальгия! Только теперь все на

качественно новом уровне: не

ПРИГОВОР

РУЛЕЗ(З)!

 

интерактивные, но потрясающие по дизайну левелы, интел-

лектуальные враги (убегают,

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

жанра. А эти зомби, а огнемет... Сказка!

Урожденная Жанр Похожесть Мать/отец Требует Групповуха Описуха

Empire Earth

 

3D RTS

 

Age of Empires 2

 

Stainless Steel Studios/Sierra Studios

-600), 64(256), 3D

Ð2-350(P3

 

LAN, Èíåò

 

Старый добрый AoE, только в 3D

и с дополнительными

эпохами.

Обещанный эпический охват

всей истории человечества вы-

ПРИГОВОР

ХОРОШО

 

лился в пять независимых

кампа-

 

ний за каждую эпоху - от камен-

ного века до отдаленного буду-

щего. Подражание

Age of Kings

 

 

-

 

 

 

чувствуется во всем: и в графи

ке, и в экономической

модели, и

. По сути, стандарт-

в сражениях

 

 

 

ная трехмерная “эр-тэ-эска” с

большим разнообразием юнитов

.

 

 

 

и построек

 

 

 

 

 

 

 

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

 

 

 

 

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

Соседние файлы в папке журнал хакер