книги хакеры / журнал хакер / 045_Optimized
.pdf
|
|
|
|
|
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 Юниксоид