Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
16
Добавлен:
20.04.2024
Размер:
12.31 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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

IP CONFIG СОБСТВЕННЫМИ РУКАМИ

 

 

 

 

 

 

 

 

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

Delphi

 

 

 

 

 

 

www.cydsoft.com/vr-online

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

60

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

твенными

руками

IP Config ñîáñ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.exe,

которая

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Òû,

 

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

утилиту Winipcfg

 

 

 

 

 

 

 

.

Лично

преследовала

нас на протяжении всего существования

линейки Win9x

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-FAQ,

òåáå òîæå

мне эта утилита

очень нравилась, и, судя по вопросам

â Hack

 

 

 

 

 

 

 

 

 

 

 

 

 

÷òî

â WinNT (Win2000,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

çà òî,

 

Я регулярно

слышу слова мата в сторону Билла

 

 

 

 

 

 

 

î

конфигурации IP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

информации

 

 

XP) íåò

такой тулзы, и теперь получение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

немного неудобное

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t.com/vr-online

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.ru www.cydsof

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

Теперь нажми сочетания пимпочек

 

 

 

 

 

 

 

 

 

 

 

 

 

ro

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Это я объявил эту злосчастную процедуру

 

 

 

 

для новой

процедуры:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

для тебя заготовку

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ãî Int

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Еще немно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ctrl+Shift+C, и Delphi подготовит

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

terInfo;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

утилита winipcfg,

 

 

 

 

 

 

 

 

 

 

 

.GetAdap

 

 

 

 

 

 

 

 

 

 

 

 

тобы получить информацию,

которую нам показывала

 

procedure

TSystemInfoForm

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

файлы:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

 

begin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

для Delphi нужно иметь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.pas. Äëÿ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.pas è IpTypes

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.pas, IpRtrMib

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.pas, IpIfConst

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.pas, IpHlpApi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

×IpExport

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

найти в спецсетевом SDK,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

любителей

С++ подобные заголовочные файлы можно

 

Внутренность процедуры

 

будем

 

рассматривать

кратко

(только самое

 

 

 

 

 

 

 

 

 

 

 

 

 

.

Ну а для Delphi ты сможешь найти эти

 

 

 

 

 

.

 

 

 

который легко

найти на сайте

Microsoft

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

èëè

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

журнала в свет

 

необходимое), а более

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

 

 

 

файлы вместе

с исходником

на моем сайте после выхода

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

журнала

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

найти на

диске

][ (только для обладателей

с диском)

 

 

 

 

ó

òåáÿ

 

Err:=GetNetworkParams(nil, FixedInfoSize);

 

 

 

 

 

 

 

 

 

 

 

lib директории, где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

â

поддиректорию

 

 

 

 

 

 

 

 

 

 

Эти файлы нужно скопировать

прямо в

òó

же диру, где будут

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_OVERFLOW) then

 

 

 

установлен

Delphi. Или можно поместить эти файлы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_BUFFER

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

if (Err<>0)

and (Err<>ERROR

 

 

 

 

 

 

 

 

 

 

 

 

 

 

исходники программы,

главное, чтобы Delphi их нашел

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.Caption:=’Error’;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Готовность ¹1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

HostNameLabel

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

exit;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

È

так, будем считать, что

файлы

 

end;

 

 

 

 

 

_INFO(GlobalAlloc(GPTR,

FixedInfoSize));

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

pFixedInfo:=PFIXED

 

 

 

 

FixedInfoSize);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ты нашел и засунул их в... Ну, в

 

GetNetworkParams(pFixedInfo,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

общем,

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

Первое, что надо

вызвать, - функцию GetNetworkParams

с двумя параметрами

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

òû òîæå

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

 

 

 

 

 

 

 

 

 

 

- это переменная,

куда будет записан

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Первый нужно установить в nil, а второй

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Запускай Delphi и создавай новый про-

 

 

 

 

 

 

 

 

 

 

.

Результат

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ект. Сразу же перейди в код

и добавь в

 

размер необходимой

памяти

äëÿ

получения

полной информации

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

потом проверить на

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

модулей:

 

я записываю в переменную Err, чтобы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

раздел uses имена следующих

 

выполнения функции

равна

константе

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

íå

 

равна

 

0

è

íå

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

IpHlpApi, IpTypes,

IpIfConst.

Готово? Ну

 

 

 

.

Åñëè

эта переменная

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

форму:

 

 

 

 

ошибки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-то ошибка и надо вывести об

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тогда давай дизайнить

 

 

 

 

 

 

_BUFFER_OVERFLOW,

то точно была какая

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ERROR

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Ïî âñåé ôîð-

этом сообщение

и выйти из

процедуры

 

 

 

 

 

 

 

 

 

D_INFO, êóäà

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

После этого

я выделяю память для структуры pFixedInfo

òèïà PFIXE

которое мы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Немного слов о дизайне

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нужно выделить в том количестве,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ìå ó

ìåíÿ

 

растянут

компонент

мы будем записывать инфу. Память

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

Íà

нем я создал две за-

получили после вызова GetNetworkParams

 

 

 

 

 

 

 

в качестве первого

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PageControl

 

 

 

 

 

 

 

 

 

 

 

-

Далее я снова вызываю

GetNetworkParams, только теперь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кладки: IP Config и Ethernet info. Сего

 

 

 

 

 

куда будет записана вся необходимая

èíôà.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

дня мы научимся получать всю инфор-

параметра я указываю структуру,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 1.

Форма будущей тулзы

 

 

вой закладке,

à

вторую

 

 

íà ïåð-

Вся инфа, как на ладони

 

 

 

 

 

 

 

 

оставим на

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мацию, которая

расположена

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

следующий

ðàç.

 

 

 

 

 

 

 

 

.

Â

принципе,

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Теперь создай

обработчик события

OnChange

äëÿ

 

компонента PageControl1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

î

 

 

 

. Так что остается только рассмотреть ее:

 

 

 

 

Когда юзер

будет менять

закладку, мы должны будем обновлять информацию

 

pFixedInfo

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мы будем

сегодня кодить

только первую

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

конфигурации протокола IP. Так как

 

 

 

 

 

 

 

 

.HostName - имя хоста (твоего компа);

 

 

 

 

 

 

 

 

следующий код:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

закладку, то напиши

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

 

 

 

 

 

 

 

 

 

 

 

1. pFixedInfo

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

Åñëè

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.IpAddress - адрес DNS сервера

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.DnsServerList

 

 

 

 

 

 

 

 

 

.Next, чтобы получить доступ к

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. pFixedInfo

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.DnsServerList

 

 

 

 

 

 

 

 

 

 

trol1.ActivePageIndex=0 then

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

один, то нужно вызвать pFixedInfo

 

 

вызова Next

нам вернется переменная

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. В качестве результата после

if PageCon

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

адрес DNS

GetIPInfo;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

следующему

 

 

 

через которую и можно получить следующий

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_STRING,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

процедуру GetIPInfo. Все,

 

òèïà PIP_ADDR

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

первая закладка, то вызвать

 

 

 

. В общем случае код будет выглядеть так:

 

 

 

 

 

 

Если сейчас выделена

 

 

 

 

 

 

 

 

процедуры

 

сервера

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

подготовка

закончена,

переходим к самому шкодингу этой загадочной

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t.Nex

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.DnsServerLis

 

 

 

 

 

 

 

 

 

 

 

 

GetIPInfo;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

pAddrStr:=pFixedInfo

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Шкодинг

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

tr<>nil) do

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

while (pAddrS

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

 

 

 

 

 

.S

-

здесь находится следующий адрес

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Добавь в разделе private нашей формы следующее:

 

 

 

 

 

 

 

 

 

pAddrStr.IpAddress

 

 

 

получить еще адрес, если есть

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

tr.Next -

 

private

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

pAddrStr:=pAddrS

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

procedure GetIPInfo;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

w

 

 

to

 

 

 

 

o

Кодинг

P

 

 

 

 

 

NOW!

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

o

m

 

 

w

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

IP CONFIG СОБСТВЕННЫМИ РУКАМИ

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

www.cydsoft.com/vr-online

 

 

Ты спрашивал

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

<???> Êàê

запустить другую

программу из Delphi?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Н: Для начала в раздел uses

нужно ручками прописать имя

модуля shellapi.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

После этого по событию кнопки

(или другому

событию, которым ты хочешь

 

 

запустить

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

стороннюю программу) нужно написать код:

 

 

 

 

 

 

 

 

 

ShellExecute(Handle, nil,

‘c:\program_name.exe’, ‘’,’c:\’, SW_SHOW);

 

 

 

Êàê

 

 

 

 

 

 

 

 

 

 

 

видишь, у этой функции есть аж 6

параметров:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Главное окно. Здесь мы

 

указываем Handle

-

окно своей программы, но

 

 

можно и nil.

 

 

 

 

 

 

 

 

 

2.

Указатель на строку, которая

говорит, что надо

 

делать. Если ты хочешь

 

 

 

 

 

 

запустить

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

open (äëÿ

 

программу, то рекомендую устанавливать nil.

Возможны варианты:

 

 

открытия

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(для просмотра

 

 

программы), print (для распечатки документов)

èëè explore

 

 

директории).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. Полный путь

или просто имя

запускаемого файла. Желательно указывать

 

 

полный путь.

 

 

 

 

 

 

 

 

 

 

 

4.

Параметры,

которые надо передать в программу.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5. Директория

ïî

умолчанию,

в которой должна работать программа.

 

 

 

6. Команда отображения.

Команд

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

 

 

SW_

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нормального отображения.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SHOW äëÿ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Чтобы

загрузить

страничку в IE можно написать так:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ShellExecute(Handle, nil,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Чтобы

 

 

 

 

 

 

‘http://www.xakep.ru’, ‘’,’’, SW_SHOW);

 

 

 

 

 

 

 

 

 

письмо кому-нибудь, пишем так:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

создать

 

 

 

 

 

 

 

 

 

 

 

 

ShellExecute(Handle, nil,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

‘MailTo:smirnandr@mail.ru’, ‘’,’’, SW_SHOW);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.

pFixedInfo.NodeType - тип узла. Здесь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

хранится целое число. Если оно равно 1,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

òî

значит тип узла «Broadcast», 2 - «Peer

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

to peer», 4 -

«Mixed»,

8 -

«Hybrid».

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.

 

pFixedInfo.ScopeId -

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

NetBIOS (NetBIOS

Scope

ID).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5.

pFixedInfo.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

EnableRouting - включена ли

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

маршрутизация

IP. Если здесь

true, òî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

маршрутизацию

 

включена,

иначе

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

отключена.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6.

 

pFixedInfo.EnableProxy

-

включен ли

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

WINS

проксик.

 

 

Åñëè

здесь

true, òî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

проксик включен, иначе отключен.

îäíó

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Âîò

 

è

âñå.

 

Достаточно только вызвать

 

 

процедуру, и ты уже знаешь так много интересного

î

компе,

 

с которого

запущена

твоя прога.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Disconnect

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Â

Â

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ызов функции GetIPInfo

 

 

 

 

также засунуть и по событию OnShow для

 

 

 

главной формы,

чтобы

можно

 

 

 

 

этом случае,

сразу

 

информация

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

 

 

 

 

 

после запуска,

âñÿ

необходимая инфа уже будет

находиться на своем месте.

 

 

 

 

 

 

 

 

 

 

 

 

 

На этом я спешу распрощаться до

следующего номера

][, ãäå

мы разберемся, как

 

 

 

 

 

 

 

 

 

 

 

 

 

 

заполнить вторую страничку нашей проги.

Â

ней будет показано,

как получить текущий

IP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

адрес твоей машины, маску сети, адреса различных

серверов (

 

 

 

 

многое другое. Тебе нужно всего лишь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DHCP, WINS) è

Ну вот и все. Удачи!!!

 

 

 

 

 

 

 

подождать один месяц или где-то 30 дней.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P.S.Ó

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

Íå

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

 

 

письма. После

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

появления рубрики «Кодинг» меня каждый

день валят

вопросами. Я не

â

 

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

î

 

 

 

 

 

 

 

 

 

 

чем пишут

книги. Я могу что-то

подсказать,

 

ãäå-òî

помочь, но не

больше. А

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

ß

отвечаю

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

ответ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

лекции по мылу я

 

 

 

 

 

займет несколько строчек.

Целые

разводить не

 

ìîãó. ß áû ñ

удовольствием помог

âñåì, íî ýòî

НЕВОЗМОЖНО.

 

 

 

 

Âàñ

 

слишком

много,

à

ÿ

îäèí

:(((.

Поэтому

лучше разбей свой

 

 

 

 

 

 

 

вопрос

 

íà

несколько

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

маленьких и

спрашивай постепенно, а не все сразу.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

Листинг программы

 

 

procedure

TSystemInfoForm.GetIPInfo;

 

 

 

var

 

 

 

 

 

 

FixedInfoSize, Err:DWORD;

 

 

 

 

pFixedInfo:PFIXED_INFO;

 

 

 

pAddrStr:PIP_ADDR_STRING;

 

 

begin

 

 

 

 

 

FixedInfoSize:=0;

 

 

 

 

Err:=GetNe

 

 

 

 

 

 

tworkParams(nil, FixedInfoSize);

 

if (Err<>0) and (Err<>ERROR_BUFFER_

 

 

 

begin

 

 

OVERFLOW) then

 

 

 

 

 

 

 

 

HostNameLabel.Caption:=’Error’;

 

 

 

 

exit;

 

 

 

 

 

end;

 

 

 

 

pFixedInfo:=PFIXED_INFO(GlobalAlloc(GPTR, FixedInfoSize));

GetNe

 

 

 

 

 

 

tworkParams(pFixedInfo, FixedInfoSize);

 

HostNameLabel.Caption:=S

 

 

 

 

 

 

trPas(pFixedInfo.HostName);

DNSListBox.Items.Clear;

 

 

DNSListBox.I

 

 

 

 

 

 

tems.Add(S

 

 

 

 

 

 

trPas(pFixedInfo.

 

 

 

 

 

 

DnsServerList.

 

 

 

 

 

 

IpAddress.S));

pAddrStr:=pFixedInfo.

 

 

 

 

 

 

DnsServerList.Next;

 

while (pAddrStr<>nil) do

 

 

begin

 

 

 

 

DNSListBox.Items.Add(S

 

 

 

 

 

 

trPas(pAddrStr.IpAddress.S));

pAddrStr:=pAddrStr.Next;

 

 

end;

 

 

 

 

case pFixedInfo.NodeType of

 

 

1:

NodeTypeLabel.Caption:=’Broadcast’;

 

2:

 

 

 

NodeTypeLabel.Caption:=’Peer to peer’;

 

4:

 

 

 

NodeTypeLabel.Caption:=’Mixed’;

 

 

8:

 

 

 

 

NodeTypeLabel.Caption:=’Hybrid’;

 

 

 

 

 

 

end;

 

 

 

 

NetBIOSScopeLabel.Cap

 

 

 

 

 

 

tion:=pFixedInfo.ScopeId;

 

if

 

 

 

 

 

 

pFixedInfo.EnableRouting>0 then

 

 

IPRoutingLabel.Caption:=’Yes’

 

 

else

 

 

 

 

IPRoutingLabel.Caption:=’No’;

 

 

if pFixedInfo.EnableProxy>0 then

 

 

WINSProxyLabel.Caption:=’Yes’

 

 

else

 

 

 

 

 

 

WINSProxyLabel.Caption:=’No’;

 

 

if pFixedInfo.EnableDns>0 then

 

 

Ne

 

 

 

 

 

 

tBIOSResolutionLabel.Caption:=’Yes’

 

 

else

 

 

 

 

 

 

Ne

 

 

 

 

 

 

tBIOSResolutionLabel.Caption:=’No’;

 

 

end;

 

 

 

 

 

 

Tips&Tricks

Иногда возникает необходимость создать пустой файл (например .log-файл) Для этого можно использовать команду touch, предназначенную для изменения отметок времени последнего доступа к файлу. Если файл не существует, он будет создан. Например, нужно создать .log-файл для httpd-сервера Apache. По-

сле выполнения команд: touch httpd-access.log chown nobody httpdaccess.log будет создан пустой файл httpd-access.log, принадлежащий пользователю nobody и готовый к протоколированию работ httpdсервера.

serge_hid@hotbox.ru

62

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

 

E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

to

 

 

 

 

 

o

 

Кодинг

 

 

 

 

 

 

 

 

 

 

 

 

P

 

 

 

 

 

NOW!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

 

o

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

df

 

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПЕРВАЯ АНИМАЦИЯ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

www.cydsoft.com/vr-online

 

 

 

 

 

 

 

графики

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Первая

анимация

 

 

 

 

 

 

 

 

 

 

 

 

 

Когда я еще программировал

графику под DOS, единственным

способом

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ê

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

получить большую скорость

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

просто, потому что видеопамять

находилась

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Это было достаточно

 

 

 

 

 

 

 

видеопамяти

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

для вывода графики

 

 

 

 

 

 

 

 

 

по определенному

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. В Windows запрещен прямой доступ, поэтому

 

 

 

 

 

 

очень

сильно тормозило систему

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

tDraw

позволяет решить эту проблему

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Íî Direc

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тут есть проблемы

 

 

 

 

t.com/vr-online

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.ru www.cydsof

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

»

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Âñå «ÇÀ

 

 

 

 

 

 

 

 

 

 

 

- единственный способ

некоторых случаях прямой доступ к видеопамяти

 

 

 

 

 

 

достаточно

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

системы.

Õîòÿ DirectDraw

 

 

 

 

 

 

 

процессорное время

 быстрая

библиотека, она все же расходует некоторое

 

 

Draw достаточно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

при выводе графики зря.

Это связано с тем, что функции Direct

 

 

 

 

 

 

 

 

 

. Каждая дополнительная возможность

универсальны

и имеют много возможностей

 

 

 

 

 

 

 

нужно максимум

 

 

 

 

тормоз, а

âåäü

в реальных условиях нам

- это как дополнительный

 

 

 

 

 

 

 

обращаешься к

видеопамяти

напрямую, вывод

50% доступных

примочек. Когда ты

 

 

глупость и не

 

 

 

 

 

быстрее, если ты сам не сделаешь

в любом случае будет происходить

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

затормозишь

 

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

прямого

 

доступа -

 

 

 

Draw нет нормальных

Еще одно «за» использование

 

â Direct

 

 

 

 

 

ñ ÷åì ìû óæå

средств для рисования

графики, кроме как копирования изображений,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

посередине экрана

 

 

 

. А что если тебе надо нарисовать только точку

 

 

 

 

 

 

познакомились

 

 

 

 

 

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

виде отдельных изображений?

или линию? Неужели все это надо

 

 

 

 

 

 

 

 

 

 

 

 

 

этого

Конечно же, нет, с помощью

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

 

 

 

 

 

 

 

(школьного курса достаточно)

необходимо

всего лишь немного знаний математики

 

òåáÿ

благодаря Х. Я покажу

 

 

 

 

 

Ñî âñåì ýòèì ÿ

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

и немного ловкости рук.

 

 

 

 

 

 

 

 

.

тебе алгоритмы рисования линий, кругов

и выходящих из всего этого

последствий

 

 

 

 

 

 

 

 

 

 

 

 

 

 

èÿ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Òåîð

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

åð

 

 

 

 

 

é ïðèì

 

 

 

 

 

Первы

 

 

PutPixel, которая будет выводить на экран

написал небольшую процедуру

ß

пиксель в

видеопамять поверхности:

 

 

îäèí

 

 

Procedure PutPixel(X, Y: Integer; R, G, B : Byte);

 

 

var

 

 

 

 

 

 

 

desc : TDDSURFACEDESC2;

 

 

 

 

 

Value:Word;

 

 

 

 

 

 

 

begin

 

 

 

//Обнуляю

структуру

ZeroMemory (@desc, SizeOf(desc));

 

размер

 

desc.dwSize := SizeOf(desc); //Заполняю

 

 

 

 

value:=B or (G shl 5) or (R shl 11); //Вычисляю

öâåò

 

 

 

 

 

 

 

_WAIT, 0); //Блокировка

 

.Lock (nil, desc, DDLOCK

 

 

 

FImageSurface

 

 

 

 

 

 

//Вывод точки

 

 

 

.lPitch + X*2)^

:= Value;

 

 

 

 

 

 

.lpSurface) + Y * desc

 

 

teger(desc

 

 

 

 

 

 

PWord(In

.Unlock (nil);//Разблокировка

 

 

FImageSurface

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

Ä

ля получения прямого доступа к поверхности

нужно вызвать ее метод

 

 

 

 

 

 

 

Lock. Этот метод блокирует поверхность

è

позволяет получить доступ

 

 

 

 

 

 

 

поверхности

 

 

 

 

 

 

 

 

 

ê

åå

 

 

 

. Âî

 

время блокировки

 

 

непосредственно

 

 

данным

 

 

 

 

 

 

 

 

 

на небольшие

происходит и

блокировка

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

 

с помощью

 

 

 

 

 

 

 

 

 

 

сразу

разблокировать

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. У метода

Lock есть четыре параметра:

 

 

 

 

 

 

 

 

вызова Unlock

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Область поверхности, к которой мы хотим

получить доступ. Тип параметра -

 

 

 

 

 

 

 

 

 

 

.

указатель на TRect. Если здесь указать nil, то доступ

будет получен ко всей области

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

, куда будет записана инфа о поверхности

2. Структура типа TDDSURFACEDESC2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. Флаги. Можно

указывать следующие:

 

 

 

 

 

 

(игнорируется

при получении

 

 

 

 

 

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

 

_NOSYSLOCK

 

 

 

 

à) DDLOCK

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

доступа к первичной поверхности);

 

 

только для

чтения;

 

 

 

 

 

 

 

_READONLY - заблокировать

 

 

 

 

 

 

á) DDLOCK

_SURFACEMEMORYPTR

-

указывает

íà òî,

÷òî

надо получить

 

 

â) DDLOCK

 

 

 

 

 

 

 

 

 

угол области

поверхности;

 

 

 

 

 

 

правильный указатель на верхний

то подождать,

ïîêà

 

 

 

 

 

 

невозможна,

 

_WAIT -

если сейчас блокировка

 

ã) DDLOCK

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

поверхность не освободится;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_WRITEONLY - блокировать только для записи.

 

 

 

 

 

 

ä) DDLOCK

 

 

 

 

 

 

 

 

 

 

 

 

и должен быть равен 0.

 

 

 

 

 

4. Последний параметр не используется

.

У этого

метода

 

 

 

 

 

 

 

 

 

После использования поверхности

нужно вызвать метод Unlock

 

 

 

.

только один

параметр

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

которая должна быть разблокирована

 

 

 

 

 

 

 

 

чтобы случайно

 

 

 

 

 

òó

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

Желательно

разблокировать

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

какой-то кусок не остался заблокированным

 

 

 

 

 

 

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

После вызова

 

метода Lock адрес памяти, где находятся

 

â

качестве второго

свойстве

lpSurface структуры, переданной

находится

â

 

пример, а потом

 

 

 

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

 

.

Вот тут, наверно,

 

 

 

 

 

параметра

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

разобрать его по косточкам

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

У этой процедуры всего пять параметров:

 

 

 

 

X - позиция по горизонтали, куда надо вывести точку;

 

Y - y позиция по вертикали, куда надо вывести точку;

 

R - значения красного цвета точки;

 

 

 

 

 

G - значения зеленого цвета точки;

 

 

 

 

 

B - значения голубого цвета точки.

 

 

öâåò

.

 

Из параметров R, G и B мы будем составлять

точки

 

. Первым

делом я обнуляю структуру desc и в поле

Теперь перейдем к коду функции

 

 

 

 

 

.

 

 

 

. Вот тут начинается

dwSize заношу ее размер

 

 

 

Дальше я вычисляю цвет, который

мне нужно занести в память

è

 

зависит

от текущего видеорежима

. Вычисление цвета

 

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

 

 

 

 

 

.

 

 

 

 

 

выбранной глубины цветов

 

 

 

 

 

 

 

 

tDraw

 

 

 

 

 

Öâåò â Direc

 

â 8

бит (максимум, что можно

 

ñëè

 

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

 

 

 

палитре), то никаких проблем. У

 

отобразить, - 256 цветов, и то благодаря

 

 

 

т.е. картинка

Å òåáÿ

в памяти каждый байт - это указатель на цвет в палитре,

 

8х8 будет выглядеть так:

 

 

 

 

 

125 002 015 121 146 166 004 112

 

 

 

 

 

225 255 125 125 003 168 112 036

 

 

 

 

 

125 082 015 021 146 166 004 112

 

 

 

 

 

225 255 125 125 003 168 112 036

 

 

 

 

 

225 255 125 125 003 168 112 036

 

 

 

 

 

125 082 015 021 146 166 004 112

 

 

 

 

 

225 255 125 125 003 168 112 036

 

 

 

 

 

125 082 015 021 146 166 004 112

 

 

 

 

 

 

каждое

 

-то цвет. Если мы используем режим TrueColor, то

Òóò

число означает какой

байта

дают цвет. Это значит, что наша

 

 

 

в этом режиме каждые три рядом стоящих

 

 

 

 

 

64

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

<???> Извините меня за

беспокойство, но у меня есть к Вам один вопрос.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вот Вы написали статью про

простой сканер

ресурсов на Delphi, а не могли

 

 

 

 

 

 

 

 

 

 

 

 

áû Âû

помочь мне его

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

разработать на C++ Builder 5.0, просто

очень надо.

 

 

 

 

 

 

 

 

 

 

 

 

Í: Во-первых, прошу

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вторых, не

 

 

 

 

всех называть меня на ТЫ, я еще слишком молод :). Во-

 

 

 

 

 

 

 

 

 

 

 

 

надо извиняться,

ÿ

всегда готов помочь в ответе на небольшие

 

 

 

 

 

 

 

 

 

 

 

 

письма. Ну

а теперь собственно

 

 

 

 

 

 

 

 

 

 

 

 

 

сам ответ:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C++ Builder è Delphi ýòî

практически одно и то

же. В обоих используется одна

 

 

 

 

 

 

 

 

 

 

 

 

библиотека VCL, и C++

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Delphi. А перенос не так сложен,

ïèøè òî

же самое, просто что и в моих

 

 

 

 

 

 

 

 

 

 

 

 

примерах, только заменяй:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

:= íà =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

== íà =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin íà {

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end íà }

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и так далее.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Имена функций

одни и те же, разница только

â

синтаксисе. А еще

тебе нужно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

будет изменить имена типов.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ó ìåíÿ Integer, ó òåáÿ Int, ó

ìåíÿ Real, ó òåáÿ

Float (и сначала ставится тип, а

 

 

 

 

 

 

 

 

 

 

 

 

потом имя переменной).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

табличка должна расшириться в ширину в три раза.

 ýòîì

случае каждые три байта

 

 

 

 

 

 

 

 

 

 

 

будут давать цвет

(RGB).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ну а самое интересное

происходит при 16-битном

цвете, когда в два

байта нужно

 

 

 

 

 

 

 

 

 

 

 

засунуть три цвета.

 

 

 

 

 

 

 

 

 

 

 

 

Как это сделать,

если два байта

- ýòî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

делится? Очень

 

 

 

 

 

 

 

 

 

 

 

 

16 áèò, à 16 íà 3 íå

 

 

 

 

 

 

 

 

 

 

 

просто - в этом случае очень часто

используется режим 5-6-5, где

 

 

 

 

 

 

 

 

 

 

 

5

áèò ïîä

красный цвет,

 

6

áèò

ïîä

зеленый

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

è 5

áèò

ïîä

голубой. Можно

 

 

 

 

 

 

 

 

 

 

 

переключиться

íà

режим

 

5-5-5, ãäå

всем цветам

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

будет отдано одинаковое

 

 

 

 

 

 

 

 

 

 

 

количество бит, но мы будем рассматривать 5-6-5. Так как

16-битный режим самый

 

 

 

 

 

 

 

 

 

 

 

сложный, я

решил использовать

в своем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

примере именно его.

Надеюсь, что с

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Чтобы получить результирующий цвет и засунуть

åãî â

переменную Value (которая

 

 

 

 

 

 

 

 

 

 

имеет тип WORD

èëè

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

зеленый на

5 áèò

 

два байта), мне нужно сдвинуть красный

цвет на 11 бит влево,

 

 

 

 

 

 

 

 

 

 

и синий

 

прибавить

êàê åñòü.

Именно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ýòî

è

происходит в

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

value:=B or (G shl 5) or (R shl 11);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

 

E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D

 

 

 

 

 

 

 

 

i

r

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P

 

 

 

 

 

NOW!

o

(G shl 5) -

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сдвигаем переменную G на пять бит влево;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(R shl 11) -

сдвигаем R на 11 бит

влево.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

 

Результаты

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

 

 

 

 

складываются

 

между

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

собой

è

переменной

B

ñ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

помощью

 

 

 

 

 

 

 

 

 

 

 

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

логического

сложения

or.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

wоперации

 

 

 

c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p

df

 

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

Прямая запись в видеопамять

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

еперь о том, как

записывать в память. Чтобы записать значение цвета

 

 

 

 

 

 

 

 

 

 

в левый верхний

 

 

 

 

 

 

 

 

 

 

угол, нужно

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

 

 

 

 

 

 

Ò desc.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

привожу

 

 

 

 

 

 

lpSurface, òî åñòü âîò ñþäà

PWord(Integer(desc.lpSurface))^

 

. ß

 

 

 

 

 

 

указатель

ê

 

òèïó

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Åñëè

áû

ÿ

 

 

 

 

 

 

PWord, потому что записывать буду значение

òèïà Word.

 

 

 

 

 

 

 

записывал

 

только

áàéò,

 

òî

приводил

 

áû

 

ê

 

 

 

 

 

 

 

PByte(Integer(desc.lpSurface))^ .

 

 

 

 

 

 

 

 

 

 

PByte

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Чтобы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

которую надо записать, я

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вычислить строку, в

умножаю

 

значение Y на длину

 

 

 

 

 

 

строки

-

Y *

desc.lPitch. Â desc.lPitch êàê ðàç

 

 

 

 

 

 

 

 

 

 

 

 

 

и находится

длина строки

картинки.

 

 

 

 

 

 

Чтобы вычислить

 

Õ

позицию,

 

ÿ

умножаю

Õ

 

íà 2,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

потому что каждое

значение Х

 

 

 

 

 

 

 

позиции состоит из 2 байт.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Íó è,

наконец,

 

 

â

 

 

ýòîé

 

процедуре

FImageSurface -

ýòî

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

IDirectDrawSurface7,

 

â

которую

ÿ

 

загружу

 

картинку. Именно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ýòó

 

поверхность

ÿ

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Disconnect

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ß

 

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

диска журнал получил второе дыхание. Я каждый

 

 

 

 

 

 

 

 

 

месяц

совместно

 

ñ

 

 

 

 

 

 

 

 

 

 

 

 

 

редактором

стараюсь найти что-то

 

интересное

 

è

 

 

 

 

 

 

 

 

 

полезное

 

äëÿ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

любого

кодера

и разместить на диске.

Помимо

 

этого

 

ÿ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

выкладываю и исходники

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сегодня я

 

 

 

 

 

 

 

 

 

 

 

примеров для тех, у кого проблемы с Инетом.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

не буду рассматривать в статье

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а просто

выложу

 

åãî íà

äèñê

 

ñ

 

 

 

 

пример, чтобы не загружать

лишнее место,

 

 

 

 

 

 

 

 

 

подробными

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

 

è

 

 

 

 

 

 

 

 

информацией/описанием. Ну

à òå,

 

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

 

 

 

 

 

 

 

кому не достанется

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

 

 

 

 

 

 

 

обратиться на

 

ìîé

 

ñàéò

www.cydsoft.

 

 

 

 

 

 

 

 

 

 

 

 

 

разделе «Хакер». Удачи!!!

 

 

 

 

 

 

 

 

 

 

com/vr-online

è

найти

âñå

необходимое

 

â

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P.S.Ó ìåíÿ ê òåáå

просьба, на сто баксов :).

Íå ïèøè ìíå

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

 

 

 

 

 

 

 

После появления

 

 

 

 

 

 

 

 

рубрики

«Кодинг» меня каждый день

 

 

 

 

 

 

 

 

 

 

 

 

 

 

валят

вопросами. Я

 

 

 

 

 

 

 

не в состоянии всем

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ß

 

ìîãó ÷òî-òî

 

 

 

 

 

 

 

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

íî íå

 

больше. А

просьбы типа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

помоги написать

 

 

 

 

 

 

 

прогу вообще нереальны. Я отвечаю только на те

вопросы, где ответ займет

 

 

 

 

 

 

 

несколько строчек.

Целые

 

лекции по мылу

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

я разводить не

ìîãó. ß áû ñ

 

 

 

 

 

 

 

удовольствием помог

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

îäèí :(((.

Поэтому

 

 

 

всем, но это НЕВОЗМОЖНО. Вас слишком

много, а я

 

 

 

 

 

 

 

лучше

разбей свой вопрос на несколько

 

 

 

 

 

 

 

 

 

 

спрашивай постепенно,

 

маленьких и

 

 

 

 

 

 

 

 

а не все сразу.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

65

 

 

 

 

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

 

 

 

 

 

 

 

МУТИМ СОБСТВЕННЫЙ ЧЕМПИОНАТ

Stepan Ilyin aka Step (step@real.xakep.ru)

ИГРОВОЙ ТУРНИР? КАК ДВА БАЙТА...!

Мутим собственный чемпионат

 

 

 

 

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

 

 

 

 

Как ни читаю обзор-отчет о каком-нибудь чемпионате, так все время ловлю себя на мысли, что почти в каждом из них как будто по шаблону написано примерно следующее: «А вот организация подкачала, с этим и этим были проблемы, а этого и этого вовсе не было». Удивляюсь, неужели не надоело проводить любительские чемпионаты, пора бы уже подняться на ступень выше и относиться к чемпионатам по компьютерным играм так, как это делается в профессиональном спорте; в конце концов, ни в одной другой стране киберспорт не имеет официального статуса!

ENTER

Обязательства

Я тебе расскажу, как провести действительно достойный похвалы чемпионат с хорошими призами и спонсорами, поэтому вариант мини-чемпи- оната в каком-нибудь компьютерном клубе в подвале отпадает, их и так девать некуда. Поэтому несколько раз подумай, сможешь ли ты уверенно общаться и убеждать в необходимости спонсировать чемпионат по компьютерной игре директоров различных фирм и организаций, чтобы те предоставили помещение и призы, сможешь ли обговаривать все ус-

ловия и обязательства, сможешь ли координировать действия своих помощников и держать под контролем несколько десятков участников, постоянно отвечая на множество их глупых вопросов. Если ты думаешь, что твои организаторские способности готовы выдержать такое испытание, то читай нижеследующие советы и рекомендации, и у тебя наверняка все получится!

Помещение

Именно с выбора помещения (читай компьютерного клуба) я и начну, потому что именно по нему составляется первое и самое сильное впечатление о турнире. Выбирать его надо с особой тщательностью: компьютеров должно быть достаточно, чтобы одновременно играли если не все уча- стники, то хотя бы половина, иначе чемпионат может серьезно затянуться, а постоянные и длительные задержки - больное место для игроков, особенно приезжих. Не забывай о запасных компьютерах (если какието выйдут из строя, что ОЧЕНЬ вероятно) плюс о дополнительных компьютерах под выделенные серверы, без которых чаще всего не обойтись, а также под спектаторов (зрителей). Впрочем, если хочешь приятно удивить всех присутствующих, то можно поставить большой телевизор или проектор, транслирующие одну из игр. Не стоит забывать и о мощности компьютеров, одно дело - проводить чемпионат по Starcraft, и совсем другое - по q3 или War3. Если у кого-то что-то будет тормозить, то ругани и брани не оберешься. В любом слу- чае выбирать достаточно просто: если есть много быстрых тачек - клуб по этому критерию подходит, если

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

или владельцами. Здесь уже все за-

дальше. Вторым же, но от этого не

висит от тебя, от твоего умения

менее важным критерием является

убеждать людей. Во время беседы не

общая атмосфера клуба, месторас-

забудь сказать, что это идеальный

положение, обстановка, простор-

вариант раскрутить клуб, повысить

ность помещения, компьютерная ме-

его рейтинг, привлечь новых клиен-

Если хочешь приятно удивить всех

присутствующих, то можно поставить большой телевизор или проектор,

транслирующие одну из игр.

Вот что я называю хорошим помещением... =) Фото с EuroCup3

бель, ремонт, освещение, вентиляция, персонал, наличие бара и т.д. Здесь объяснять что-то подробнее излишне, просто помни, что в помещении будет много народу, и все должны чувствовать себя комфортно. Клубов сейчас, даже в самых маленьких городах, предостаточно, поэтому при определенном усердии найти что-то подходящее не сложно. Другое дело, договориться с директорами

тов, выйти на новый уровень, более того - пообещай лично объявить благодарность в прессе и Интернете. Если ты сделаешь все правильно и твой собеседник - не яркий пример зажимистого богача, то он предоставит тебе большую скидку на аренду помещения и компьютеров; худший же из приемлемых вариантов - тебе просто предоставят клуб в распоряжение на целый день по обычным тарифам.

66 Ньюсы 1 Феррум 2 PC_Zone 3 Взлом 4 Юниксоид

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

 

 

 

F

 

 

 

 

 

 

 

t

 

 

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

незначительные пожертвования, а так-

 

 

 

 

 

to

BUY

Спонсоры и призы

 

 

 

 

 

же на различные призы типа ящика

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

.c

m

пива, железяк для компьютера, под-

 

 

w.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

o

 

 

 

 

 

p

 

f-xchaВзносы за участие в турнире игроков

 

 

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

d

 

 

 

n

e

 

писки на компьютерное издание и т.д.

 

 

 

 

 

 

 

скорее всего даже не покроют полови-

 

 

 

 

 

 

 

Из всего этого можно скомпоновать

 

 

 

 

 

 

 

ны всех затрат на аренду целого ком-

 

 

 

 

 

 

 

неплохие призы. Более того, непло-

 

 

 

 

 

 

 

пьютерного клуба, поэтому спонсоры

 

 

 

 

 

 

 

хим дополнением к призу будут меда-

 

 

 

 

 

 

 

- неотъемлемый атрибут крупного

 

 

 

 

 

 

 

ли, кубки или грамоты, последние,

 

 

 

 

 

 

 

чемпионата. Кто может быть спонсо-

 

 

 

 

 

 

 

кстати, можешь сделать и сам, благо

 

 

 

 

 

 

 

рами? Ну, во-первых, сам клуб (тогда

 

 

 

 

 

 

 

обойдется это в копейки, а положи-

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

тельных эмоций у победивших будет

 

 

 

 

 

 

 

чески исчезает), особенно если он

 

 

 

 

 

 

 

хоть отбавляй (пример такой грамоты

 

 

 

 

 

 

 

только начинает свою работу и у него

 

 

 

 

 

 

 

смотри на скриншоте).

 

 

 

 

 

 

 

есть большая потребность в клиентах

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и, соответственно, в рекламе; во-вто-

 

 

 

 

 

 

 

 

 

рых, крупные фирмы и организации

Помощники

 

 

 

 

 

 

 

города, особенно отмечу крупные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Без помощников тебе будет очень

 

 

 

 

 

 

 

Интернета и мобильной связи, произ-

 

 

 

 

 

 

 

тяжело, поэтому постарайся при-

 

 

 

 

 

 

 

водители пива и безалкогольных на-

 

 

 

 

 

 

 

влечь заинтересованный в данном

 

 

 

 

 

 

 

питков, а также местная пресса. Ста-

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

райся быть настойчивым, но в то же

 

 

 

 

 

 

 

сит от тебя, но не советую тебе

 

 

 

 

 

 

 

время не назойливым, всегда доби-

 

 

 

 

 

 

 

брать всех подряд: двух, максимум

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

трех человек хватит с головой.

 

 

 

 

 

 

 

какими-нибудь «пешками», которые

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

забудут все то, что ты им скажешь,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сразу же после разговора. Не забудь

Время проведения и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

прихватить с собой документы, уста-

 

 

 

 

 

 

 

регистрация

 

 

 

 

 

 

 

навливающие официальный статус

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

компьютерному спорту; пообещай по-

Идеальным временем для турнира

 

 

 

 

 

 

 

весить рекламные стенды и сделать

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

ссылки в прессе и Инете, объясни, что

 

 

 

 

 

 

 

ные праздники; если чемпионат

 

 

 

 

 

 

 

на чемпионате будет много молодежи

 

 

 

 

 

 

 

 

однодневный - то воскре-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сенье, если двухдневный,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

то, соответственно, суб-

 

 

 

 

 

 

 

 

 

 

 

 

 

бота и воскресенье, а на-

 

 

 

 

 

 

 

 

 

 

 

 

 

чинать рекомендую с ча-

 

 

 

 

 

 

 

 

 

 

 

 

 

ñîâ 11:00-12:00 (âñå èíî-

 

 

 

 

 

 

 

 

 

 

 

 

 

городние к этому време-

 

 

 

 

 

 

 

 

 

 

 

 

 

ни должны добраться).

 

 

 

 

 

 

 

 

 

 

 

 

 

После того как догово-

 

 

 

 

 

 

 

 

 

 

 

 

 

ришься обо всем с вла-

 

 

 

 

 

 

 

 

 

 

 

 

 

дельцами/директором

 

 

 

 

 

 

 

 

 

 

 

 

 

клуба, сообщи дату всем

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

цам, а точнее спонсорам

 

 

 

 

 

 

 

 

 

 

 

 

 

(чтобы те предоставили

 

 

 

 

 

 

 

 

 

 

 

 

 

все необходимое вовре-

 

 

 

 

 

 

 

 

 

 

 

 

 

мя) и потенциальным иг-

 

 

 

 

 

 

 

 

 

 

 

 

 

рокам. Грамотно, лако-

 

 

 

 

 

 

 

 

 

 

 

 

 

нично, но на 100% ин-

 

 

 

 

 

 

 

 

 

 

 

 

 

формативно подготовь

 

 

 

 

 

 

 

 

 

 

 

 

 

рекламный текст чемпио-

 

 

 

 

 

 

 

 

 

 

 

 

 

ната, включающий в себя

 

 

 

 

 

 

 

 

 

 

 

 

 

название игры, дату, вре-

 

 

 

 

 

 

 

 

 

 

 

 

 

мя и место (если нужно,

 

 

 

 

 

 

 

Грамота. Просто, но чертовски приятно =)

то со схемой) проведе-

 

 

 

 

 

 

 

ния, краткие правила

 

 

 

 

 

 

 

 

 

 

 

 

 

и людей, интересующихся высокими технологиями (в случае компьютерной фирмы), то есть потенциальных клиентов; навешай лапши, что все их конкуренты уже выделили средства. В общем, при определенной удаче и умении быть убедительным, обойдя немалый список фирм, хотя бы нескольких спонсоров ты найдешь. Не бойся соглашаться даже на

Вот такие удостоверения имели все участники чемпионата «Первые Большие Студенческие КИБЕР-ИГРЫ»

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

 

 

F

 

 

 

 

 

 

 

t

 

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

P

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

to

BUY

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

 

p

 

 

 

 

 

g

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Часть таблицы, составленной DMTG PHP

А вот что получилось в Win32 версии DMTG

(карты, систему проведения, дополнительные условия), призы, размер взноса за участие, а также email или телефон для связи и предварительной регистрации для иногородних игроков. После чего разошли все подготовленное ньюсмейкерам крупных eSport порталов, хотя бы progamer.ru и cyberfight.ru,

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

те обязательно выложат это в новостях. Если призы действительно достойны внимания, а также если тебе удастся договориться с ФКС (www.cybersport.ru) о рейтинговом статусе турнира, то наверняка приедут папашки из других городов, а это уже верный признак серьезности турнира. Этот же текст эффектно оформи (иначе спонсоры могут не понять) и постарайся повесить во всех клубах города. Не советую тебе делать предварительную регистрацию (исключение для иногородних игроков), практика показала, что достаточно много народу может попросту не прийти, поэтому назначь регистрацию в течение одно-

5 X-Còèëü 6 Кодинг 7 JoyStick 8 Юниты 9 Quit> 67

 

 

 

 

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

 

 

 

 

 

 

 

МУТИМ СОБСТВЕННЫЙ ЧЕМПИОНАТ

Stepan Ilyin aka Step (step@real.xakep.ru)

го или двух часов до начала турнира. Кстати, если приехавшим из других городов участниками по ка- кой-то причине придется ночевать в чужом городе, подготовь для них хотя бы небольшой список гостиниц с адресами, телефонами и примерными ценами.

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

В последнее время система проведения «Double Elimination» (а также ее усложненная модель «Full Double

таблицу, проводить жеребьевку и экспортировать результат в HTML. В общем, именно то, что нам сейчас нужно. Если ты не сможешь выделить машину под постоянное отображение этой таблицы всем желающим (это важно!), то перечерти ее на большой кусок ватмана и сделай специальный стенд, результат превзойдет все ожидания!

Что можно, что нельзя

Игрокам необходимо разрешить постоянно находиться в спектатор-

Must Have прогу для проведения турнира neur0soft DMTG можешь слить отсюда - www.planetquake3.net/neur0soft/. Существует бинарная версия этой проги, написанная на VB, которая не будет работать без этого файла ftp.ucpel.tche.br/pub/Diversos/Programacao/Linguagens/vb6/os/s ystem/comdlg32.ocx, а также PHP-версия.

должно быть как можно меньше народу: зеваки, крадущие кислород, нам не нужны, поэтому позаботься об охране и бэйджах для участников и для получивших право спектаторов (прессы, представители спонсоров и т.д.).

Процесс пошел

И вот, наконец, все приготовления завершены, все участники зарегистрировались, результаты жеребьевки известны, все в предвкушении начала игр. Пары должны выбрать карту, на какой будут играть, это практически всегда выбирается так называемым «вы- черкиванием», то есть имеется список из, скажем, пяти карт, игроки по очереди (начинающий определяется жребием) вычеркивают карты, в итоге остается всего

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

FIN

 

 

to

BUY

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

g

 

o

 

А далее финалы, вручение призов, p

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

написание отчета со всеми необхо-

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

сайта, отправка результатов на круп-

 

 

 

 

 

 

 

 

нейшие eSport ресурсы и, если есть

 

 

 

 

 

 

 

 

 

возможность (а она должна быть), в

 

 

 

 

 

 

 

 

 

прессу. Не забудь сделать все так,

 

 

 

 

 

 

 

 

 

как обещал спонсорам, иначе мо-

 

 

 

 

 

 

 

 

 

жешь забыть про их дальнейшее со-

 

 

 

 

 

 

 

 

трудничество.

 

 

 

 

 

 

 

 

 

 

Зачем это нужно?

Действительно, достаточно резонный вопрос, ведь заработать на проведении турниров пока сложно. Скорее всего, это делается для самого себя, для своего «Я», для репутации в про-игровых кругах. Помни, что киберспорт развивается немыслимыми темпами и уже не за

Компьютер для проведения турнира по RTCW на все том же QuakeCon 2002

Место проведения чемпионата QuakeCon 2002, в наминации quake3 которого зарешал наш питерский игрок M19*Lexer, увезя с собой 20k американский рублей

Elimination») стала стандартом де-фак- то, никакие другие системы проведения практически не признаются прогеймерами. В чем же ее прелесть? А в том, что у игрока, потерпевшего одно поражение, остаются шансы на победу в турнире, а это очень важно, потому что никто не застрахован от случайностей и «непрухи». Я не буду подробно расписывать, что собой представляет эта система, потому что очень сложно объяснить ее на пальцах. Куда рациональнее будет воспользоваться уникальной и суперполезной для организации турнира программой neur0soft DMTG (подробнее на врезке). Она умеет составлять прекрасную турнирную

ской зоне (вот почему нужно просторное и хорошо вентилируемое помещение), иначе будет масса отрицательных отзывов. Разреши подключение всех своих девайсов, а именно клавы, мышки, наушников, подгузников =) и т.п., плюс под все это дело дрова. Здесь советую заранее поставить MouseWare (ftp.logitech.com/pub /techsupport/mouse/), именно ее чаще всего используют про-гейме- ры. Что не разрешается: пить спиртное, кушать, курить, кричать, ругаться, наезжать на кого-либо (плюс дополнить по желанию и обстоятельствам). В помещении

Разреши подключение всех своих девайсов, а именно - клавы, мышки, наушников, подгузников =) и т.п., плюс под все это дело дрова.

лишь одна - ее и играем. Этот процесс должен проходить в присутствии судьи/организатора или его помощников во избежание скандалов и недоразумений. А далее... далее описывать, в общемто, и нечего: игры идут по сетке вплоть до финала. Хочется лишь отметить вероятные форс-мажор- ные обстоятельства, такие как зависоны компьютеров, поломка оборудования и т.п. - все эти обстоятельства должны решать судьи и только судьи (оспорить которого невозможно), здесь сложно дать какие-либо рекомендации - все очень зависит от ситуации. В любом случае, если участники обоюдно согласятся на переигровку, то мешать им не стоит.

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

P.S. Естественно, это отнюдь не все, что я хотел бы рассказать тебе, но, увы, объем статьи ограничен, поэтому на этом заканчиваю. Если тебя заинтересовала эта тема, а также тема проведения online чемпионата, то пиши - подумаем...

EXIT

68 Ньюсы 1 Феррум 2 PC_Zone 3 Взлом 4 Юниксоид

Соседние файлы в папке журнал хакер