книги хакеры / журнал хакер / 041_Optimized
.pdf
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
||
|
|
|
C |
|
E |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
||||||
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
||||||
|
- |
|
|
|
|
|
d |
|
|
|
|
|
- |
|
|
|
|
|
d |
|
||||||
|
F |
|
|
|
|
|
|
|
i |
|
|
|
|
|
F |
|
|
|
|
|
|
|
i |
|
||
|
|
|
|
|
|
|
|
t |
|
|
|
|
|
|
|
|
|
|
|
|
t |
|
||||
P |
D |
|
|
|
|
|
|
|
|
o |
|
|
|
P |
D |
|
|
|
|
|
|
|
|
o |
||
|
|
|
|
NOW! |
r |
|
|
|
|
|
|
|
NOW! |
r |
||||||||||||
|
|
|
|
|
BUY |
|
|
|
|
|
|
|
|
|
|
BUY |
|
|
||||||||
|
|
|
|
to |
|
|
|
|
|
|
|
|
|
|
|
|
|
to |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
w |
|
|
|
|
|
|
|
|
|
m |
|
|
|
w |
|
|
|
|
|
|
|
|
|
m |
||
w Click |
|
|
|
|
|
|
o |
|
|
|
w Click |
|
|
|
|
|
|
o |
||||||||
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
||
|
. |
|
|
|
|
|
|
.c |
|
|
|
|
|
. |
|
|
|
|
|
|
.c |
|
||||
|
|
p |
df |
|
|
|
|
e |
|
|
|
|
|
|
p |
df |
|
|
|
|
e |
|
||||
|
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
g |
|
|
|
||||||
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
|
|
||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
<???>Îäèí... ý-ý-ý... |
|
<???>Меня достает |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
нехороший человек |
|
периодически вылеза- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
подписал меня на пор- |
|
ющая ерунда, которая |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
носайт. Теперь каждый |
|
хочет соединить меня с |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
день приходит куча пи- |
|
Инетом, обычно в са- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
сем. Уже все это доста- |
|
мом начале после за- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ло. Пользуюсь я |
|
грузки Windows Me; я |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Outlook Express, íå |
|
óæå âåñü msconfig ïåðå- |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
знаю, вроде все заша- |
|
лазил, а она все появ- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ðèë â ýòîì Outlook’e, íî |
|
ляется и так усердно |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
не могу найти фильт- |
|
просит соединиться. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ры, как можно избавит- |
|
Подскажи, что делать? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ся от этих писем? Пы- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
тался отписаться, дак |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ñàéò íå çíàþ! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Н: Искать еще. Где-то должна быть прога, которая |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
обращается к Инету. Можно еще залезть в свойства |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
обозревателя (в IE выбрать “Сервис-Свойства обо- |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
Н: У тебя ящик на mail.ru, и это намного облег- |
зревателя”) и на закладке “Подключение” отключить |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
автоматический дозвон (Выбрать “Не использовать” |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
чает дело. Зайди на www.mail.ru через браузер, |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
выбранные соединения). |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
войди в ящик, выдели письмо с порносайта и |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
нажми “добавить в черный список”. После этого |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
такие шедевры будут автоматически удаляться |
|
<???>Что такое дест- |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
еще на сервере, не доходя до тебя. |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
руктивный код? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Эти вопросы меня уже |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
достали |
H: Это код программы, который приводит к дест- |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
<???> Могут ли меня поймать, если я |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
руктивным действиям. Непонятно? Попробую еще |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
сделаю то-то... |
|
раз - это участок программы, который делает унич- |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
Н: Ты знаешь, в Управлении Р сидят да- |
тожения. Непонятно? Пробую еще раз, это какая-то |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
леко не идиоты. Насколько мне извест- |
функция, которая делает что-то нехорошее. Наде- |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
но, там даже есть наши братья хакеры. |
юсь, что какое-то из этих объяснений понятно, по- |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
Неужели ты думаешь, что ты умнее |
тому что я не знаю, что ты нашел сложного в поня- |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
всех? Если наша доблестная захочет, то |
тии “деструктивный код”. Может, ты не понимаешь |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
поймает тебя за пять сек. Но и не стоит |
слово “деструктивный”? Так оно означает разруше- |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
думать, что именно тебя будут ловить. |
ние. Может, это для меня так очевидно? Но ты не |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
Во-первых, не всегда поступают заявле- |
стесняйся этого, я тоже плохо понимаю большин- |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
ния в Управление Р, потому что многие |
ство заумных терминов. Помню, как я долго и нуд- |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
хотят скрыть факт взлома или разо- |
но не мог понять, что такое консенсус, пока мне не |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
браться с обидчиком самостоятельно. В |
объяснили. Я вообще не понимаю, почему мы не |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
этом случае шанс выловить тебя сильно |
можем говорить понятным русским языком, а ис- |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
уменьшается, потому что ловлей будут |
пользуем заумные иностранные слова? |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
заниматься далеко не профессионалы. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Во-вторых, само Управление может не |
|
<???>Можно через |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
захотеть заниматься тобой из-за мелоч- |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
ности преступления и несовершенства |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
нашего законодательства. Просто даже |
|
прокси получать(от- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
если тебя поймают, посадить на какой- |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
правлять) письма или |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
нибудь срок очень тяжело. Если в Уп- |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
равлении сидят продвинутые типы, то в |
|
играть в CS? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
суде попадаются абсолютно непонима- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ющие люди, которым объяснить что-то |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
очень тяжело. Вот поэтому Управление |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
часто закрывает глаза на те вещи, кото- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
рые могут заткнуться на пути в суд. За- |
H: Если прокся и нужная тебе прога умеют это де- |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
чем им нужен очередной висяк не по их |
лать, то можно все. Просто некоторые прокси |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
âèíå? |
|
предназначены только для HTTP, а некоторые мо- |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
Когда ты что-то взламываешь, то дол- |
гут и мыло пропускать. А вот насчет прокси для |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
жен отдавать себе отчет в том, что со- |
CS я не слышал, может быть и есть, но я не уве- |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
вершаешь преступление и можешь быть |
рен в такой роскоши. |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
наказан. С другой стороны, наказания |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
может и не быть. Вот и думай, стоит ли |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
рисковать? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 Кодинг |
6 Hack-Faq |
7 JoyStick |
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|||
|
F |
|
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
||
w |
|
|
to |
|
|
|
|
|
o |
||
|
|
|
|
|
|
X-Стиль |
|||||
P |
|
|
|
|
|
NOW! |
|
|
|||
|
|
|
|
|
BUY |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
w Click |
|
|
|
|
|
|
o |
m |
|||
|
w |
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
||
|
|
|
df |
|
|
n |
e |
|
|||
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
-xcha |
|
|
|
|
|
«ПОЛНЫЙ ПЭ»
Даня Шеповалов (dan@real.xakep.ru, www.danya.ru)
Для тех, кого вообще из койки не выпускают, т.к. лень ремни удерживающие расстегивать, поясню: есть у нас на родине мега-человек, и зовут его Гоблин. Когда-то он был самым крутым журналистом, писавшим о Кваке (кстати, и в ][ Гоблин отметился), потом самым крутым переводчиком игр, а теперь самый крутой переводчик фильмов. То, что ты смотрел на видео, в кинотеатрах и тем более по телевизору - слив полный, со всеми этими переводами типа "мне все равно" на фразу "I'm don't fucking care about any motherfucking body". Гоблин же пошел другим путем и переводит все так, как в действительности говорят герои. Если это мат, то и в русской
версии - мат, если это евреи, то и в русской версии это голос с еврейским акцентом и т.д. Те, кто не видел ни одного фильма с его переводом, могут грустно вздыхать, вы пропустили
полжизни мимо. Остальные, думаю, уже протащились от "Спиз...ли" и "Цельнометаллической Оболочки".
][: Как вообще появилась идея заняться переводами?
>Goblin: Есть у меня дружбан по имени Вован. Знаю его давно, но жизнь сложилась так, что я трудился в уголовке, а Вован - в конкурирующей организации. И вот прикупил Вован себе немыслимого качества видеомагнитофон, штуку баксов стоил. А если ты по-англий- ски хотя бы три слова понимаешь, то смотреть фильмы, переведенные нашими умельцами, просто невыносимо. Вот мы и решили сами заняться переводами блокбастеров: "Чужие" там, "Криминальное чтиво", вестерны всякие. А на DVD гдето с год назад перешел, для чего приобрел дивидюк Toshiba аж за 140$.
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
|
X |
|
|
|
|
|
|||
|
|
- |
|
|
|
|
|
d |
|
||
|
|
F |
|
|
|
|
|
|
t |
|
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
||
|
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
|
||||
][: Откуда ты так хорошо |
|
|
|
BUY |
|
|
|||||
|
|
|
|
|
|
|
|
||||
знаешь английский? Гей- |
|
|
to |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
||||
|
w Click |
|
|
|
|
|
|
||||
мерский опыт? |
|
|
|
|
|
o |
m |
||||
|
w |
|
|
|
|
|
|
|
|
||
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
|
p |
|
|
|
|
g |
|
|
|
>Goblin: Íå-à. Просто ïðè |
df |
-x cha |
|
e |
|
||||||
|
|
|
|
|
|
n |
|
|
|
советской власти все нор- мальные новости были англоязычными. Естественно, хотелось знать, че там и как. Ну и правильные книжки читал, фантастику западную. Будешь смеяться, но закончил я двухгодичные курсы при ДК милиции, да.
][: Какого персонажа тебе, как бывшему оперу, было интереснее всего озвучивать? Небось, инструктора по боевой подготовке из фильма "Цельнометаллическая оболоч- ка"? Там ты фактически побил все рекорды по художественному мату.
>Goblin: Ну, в общем - да. Я сам в Красной Армии сержантом был, так что это близкая сердцу тема. А инструктор, он не актер на самом деле. Кубрик достойного кандидата на роль долго искал. В их числе оказался настоящий сержант
Вопросы |
задавал |
|
|
|
Äàíÿ |
|
|
|
|
Шеповалов |
|
Студия |
|
||
|
«Полный |
||
|
|
|
ÏÝ» |
|
ИНТЕРВЬЮ |
||
|
|
|
представляет |
|
|
|
... |
|
|
|
|
|
|
|
|
|
Ñ |
|
ГОБЛИНОМ |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ÑÑÛË |
|
ÒÅÌÅ: |
|
|
|
|
|
|
|
|
|
|
|
ÊÈ ÏÎ |
|
|
Переводы |
Ãîáë |
|
|
|
|
|||||
http:// |
|
|
|
|
MP3: |
|
|
||||||
Голосо |
dvdspecial. |
|
|
|
èíà â |
|
|
||||||
|
"×üè |
|
|
ru/perevod. |
|
|
|
|
|
||||
вание |
ïåðå |
|
phtml?keywor |
|
|
||||||||
|
dvdspecial. |
|
âîäû |
|
|
âñåõ": |
d=&perevo |
||||||
|
|
|
круче |
|
d=Goblin&x=0&y=0 |
||||||||
http:// |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
ru/voiting. |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
phtml?voiting |
id=29 |
||||
|
|
|
|
|
|
|
|
|
|
|
|
70 Ньюсы 1 Феррум 2 PC_Zone 3 X-Стиль 4 Взлом
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
C |
|
E |
|
|
||
|
|
X |
|
|
|
|
|
||
|
- |
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
||
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
||
|
|
|
|
|
BUY |
морской пехоты, который |
|||
w |
|
|
to |
двадцать пять лет новобран- |
|||||
w Click |
|
|
|
|
|
||||
|
|
|
|
|
m |
||||
|
w |
|
|
|
|
öåâ oвоспитывал. Кубрик гово- |
|||
|
. |
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
df |
|
|
|
e |
|
|
|
|
|
|
|
n |
|
|
||
|
|
|
|
|
|
рит: типа, попробуйте что-ни- |
|||
|
|
|
|
-xcha |
|
|
|
будь в камеру сказать. Сержант рот открыл, да как понес... Ну, ты кино уже смотрел, так что сам слышал. Народ в шоке был, и его тут же на роль взяли.
][: Ты по ходу каждый фильм серьезно изучаешь перед тем, как начать переводить?
>Goblin: Ага. Досконально. Вообще, тут множество всяких тонкостей есть. Например, русский язык, он в принципе на двадцать пять процентов "длиннее", чем английский. То есть у них слова одно-двухсложные, а у нас ощутимо длиннее. Далеко не каждому дано излагать мысли кратко и афористично, а в переводе это еще сложнее. Поэтому местами надо говорить очень быстро, чтобы поспевать за героем. В целом при переводе я смотрю фильм больше десяти раз: сначала пару раз для ознакомления, потом - когда перевожу, затем наговариваю текст - опять смотрю. Потом с "приклеенным" звуком пересматриваю и выявляю ошибки. Потом еще пяти-шести сведущим людям даю поглядеть - они ткнут пальцем в то, чего не заметил сам. Кстати, когда несколько раз смотришь ка- кой-нибудь чудовищный отстой типа той же "Кобры", то начинаешь находить в нем классные моменты.
][: Слушай, Гоблин, стопудово ты спец в переводе ругательств. Разреши давний спор: круче ли русский язык, чем английский, в плане мата?
>Goblin: Ну, вообще, если человек заявляет, что у них всего два слова есть: "фак" и "щит", это говорит только о
том, что гражданин не знаком с предметом в принципе. Для примера, "фак" одним словом ты далеко не всегда переведешь - все зависит от того, как предложение построено. Естественно, далеко не все строят их грамотно. Вот господин сержант в "Цельнометаллической оболочке" предметом владеет. Категорически. Он отлично знает, как побогаче все завернуть, обозвать, унизить - это ж то же самое ораторское искусство. Для американцев, кстати, подобное владение языком не характерно, ибо в большинстве своем они неместные (испанцы, немцы да китайцы всякие). Подобный полет фантазии встретишь редко. Но, тем не менее, рассуждения о том, где хуже, где луч- ше, проистекают от неправильного понимания и недостаточных знаний. Везде все замечательно с ругательствами обстоит, надо просто шарить в предмете.
][: Какой фильм дался тебе сложнее всего и почему?
>Goblin: Опять же "Цельнометаллическая оболочка". Я, конечно, старый солдат, но там зверское количество жаргонизмов всяких. Когда вояки друг с другом разговаривают - напрягаюсь. Однако добрые люди разыскали че- ловека, который во Вьетнаме в то время служил, настоящего морпеха. Вот он и разъяснил, что к чему.
][: А переводами игр ты занимаешься? Это же вроде больше по твоей специальности...
>Goblin: Есть чутка. Года полтора назад забабахал "Горький-18". Просто "Горь- кий-17", поляками сочиненный, с моей точки зрения, имел довольно нездоровый антирусский душок. Ну, они нашей былой имперской мощью ушибленные, их можно понять. Но и я там поураганил от души, изменил диалоги, поглумился над сюжетом. Еще "Серьезного Сэма" второго переводил, недавно как раз вышел - мое клеймо на обложке присутствует.
][: Перевод какого фильма ты считаешь лучшим?
Goblin: Лучше всех получился "Snatch". (В переводе Гоблина "Snatch" звучит как "Спиз...ли". Другие перевод- чики ошибочно обозвали этот фильм "Большим Кушем"). Там же негодяи сплошные, а данный контингент я отлично знаю: как кричать, с какими интонациями. Так что есть мнение, что "Snatch" самым бодрым получился.
][: Вообще, опыт старшего опера помогает в работе?
>Goblin: Не столько помогает, сколько накладывает тяжкий отпечаток, хы-хы. Есть такая шутка: "на фотографии видны уши фотографа". Так и в переводе всегда заметна личность переводчика. А поскольку я личность мрачная и достаточно злобная, то это существенно отражается на моих работах.
][: Сколько времени уходит на перевод одного фильма?
>Goblin: Неделя. Технологически на сам перевод уходит три дня (часа по четыре в день), а на окончательную доводку до ума - еще дня три-четыре. Быстрее никак не получается, другие дела тоже надо делать. Много времени отнимают вещи непереводимые. Вот, например, помнишь пряничный че- ловечек в Шреке говорит "Eat me!". Для детей это значит "Съешь меня!", а на сленге - "отс...и у меня!". Ну как такое переведешь?
][: На дисках с твоими работами стоит надпись "Переведено с особым цинизмом". Какой смысл ты вкладываешь в эту фразу?
>Goblin: Поясняю на примере. Если ты помочился на забор, это будет хулиганство. А если ты при этом повернулся к гражданам лицом и сделал то же самое, то это называется "Те же действия, совершенные с особым цинизмом". А вообще - просто смешная фраза.
][: Какое оборудование и софт ты используешь в своей работе?
>Goblin: P4 на 1.4Ггц, мать ASUS, 512 RIMM, пара винтов на 60Gb каждый, Sound Blaster, микрофон Behringer. Из софта: Sound Forge. Все просто.
][: Кстати, переводы - это прибыльное дело или нет?
>Goblin: Да как-то не особо. Официально за это платят 50$. За фильм. Но, вообще, все зависит того, какого ты уровня переводчик и с кем ты дружишь. Поскольку я в этом деле не пацан, денег платят нормально. В принципе, никто из "титанов от филологии" этим делом не занимается. Потому имеем стадо халтурщиков. Слили из сети рипнутый фильм, позвали "толкового" студента из общаги - ну-ка быстро переведи! Тот наушники напялил, стакан для легкости речи принял и забацал известно что. Тут ведь главное - первыми все это дело на прилавок выложить и бабло срубить. А я
стараюсь делать максимально адекватный и, если можно так сказать, точный перевод.
Кстати, считаю, что дублировать фильмы нельзя категорически. Скажем, голос Арнольда имеет специфический тембр плюс тяжелый немецкий акцент (типа немец в советской деревне: "Яйки, кура, масло" - все дела). Потому правильный подход - это голос за кадром. А самый правильный - это вообще субтитры, однако массовый зритель их не приемлет.
][: А ты не пробовал работать на какие-нибудь крупные компании, занимающиеся видео? Или там уже нет такой свободы слова?
>Goblin: Там существует жесткая цензурная позиция, на мой взгляд - совершенно глупая. Есть мнение, что на фильме следует писать: детям до восемнадцати лет смотреть не рекомендуется. Подходишь по возрастному ограничению - смотри на здоровье. Нет - до свидания. Я думаю, в восемнадцать лет молодого человека сложно поразить или шокировать "нехорошими словами". Он сам кого хочешь поразит. Это, на мой взгляд, уже прерогатива режиссера: решать, кто у него как и о чем говорит. А вовсе не цензора. Тем более, что все фильмы - разные. Ты "Шрека" смотрел ведь, там непечатные слова отсутствуют как таковые, это ж детский мультфильм. А "Snatch" - фильм про бандитов и негодяев, и разговаривают они там, как в жизни. Ну, я так и перевожу. Конечно, там красок подбавлено, но фильм от этого только веселее становится. В больших же студиях все тут же начинают махать руками и кричать: "Так нельзя!". И ножницами - чик! Сразу становится "как положено". Но ведь это сразу выхолащивает саму суть фильма. Возьми, например, "Криминальное чтиво - предмет всеобщих восторгов, очень веселый фильм, по ОРТ нет-нет да и покажут. Но когда я свой вариант перевода людям ставлю, те час сидят с вытянувшимися физиономиями: "Да как же так?!". А вот так! Фильм - про негодяев, которые и ведут себя как негодяи, людей убивают. Смешного там мало. А то, что есть, смешно далеко не для всех. Считаю, что я просто даю людям возможность взглянуть на все это дело под совершенно другим углом. Углом адекватного перевода. Я счи- таю, что люди не видят фильмы такими, какие они на самом деле есть. Если ты "От заката до рассвета" по ОРТ
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
смотрел, то у тебя наверняка |
|
|
||||||||
|
|
|
|
|
||||||
|
|
|
|
|
BUY |
|
|
|
|
|
÷òî òàì |
|
|
|
|
|
|||||
сложилось мнение, w |
|
|
to |
|
|
|
|
|
|
|
w Click |
|
|
|
|
|
|
m |
|||
два таких прикольных пацана- |
|
|
o |
|
||||||
|
w |
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
весельчака: Тарантино и Клу- |
|
|
|
|
|
|||||
|
|
|
|
-x cha |
|
|
|
|
ни. Разъезжают, острят там туда-сюда. Короче, складывается впечатление, что это комедия какая-то. А господин Родригес, который кино снимал, в первой половине показывает отвратных мразей, которые затем попадают в такую жуткую ситуацию, что поневоле даже начинают вызывать симпатию. В моем переводе оно так и выглядит. В переводе ОРТ - с точностью до наоборот.
][: Какие отзывы по поводу своих переводов ты полу- чаешь чаще: гневные письма от пенсионерок или хвалебные гимны от циничных программеров?
>Goblin: Поначалу, когда мое правое дело только проникло в компьютерные массы, граждане начали учить меня русскому языку: дескать, ты какие-то слова неизвестные употребляешь. Типа - слова "проставиться" (в плане алкоголя) мы не знаем, это какой-то местечковый жаргонизм и т.д. Ну, фиг знает, ребята. Я трудился в тюрьме на много тысяч посадочных мест и видел людей отовсюду: начиная от Воркуты и заканчивая Занзибаром и Шри-Ланкой. И все они по- чему-то знали слово "проставиться", да. Но в целом отзывы диаметрально противоположные: одни - в восторге, другие - негодуют.
][: Что думают твоя жена и сын по поводу работ студии "Полный ПЭ"?
>Goblin: Женщина не одобряет категорически. "Snatch" я ее посмотреть заставил. Говорит - понравилось, но больше ничего показать не просит, хе-хе. Когда я рычал в микрофон "арию сержанта" из "Цельнометаллической оболочки", она на меня потом с изменившимся лицом посмотрела и сказала: "Дима, я никогда не думала, что ты ВОТ ТАК можешь". А подросток спокойно смотрит все. Правда, строго в наушниках.
-Faq 7 JoyStick 8 Юниты 9 Quit> 71
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|||
|
F |
|
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
||
w |
|
|
to |
|
|
|
|
|
o |
||
|
|
|
|
|
|
X-Стиль |
|||||
P |
|
|
|
|
|
NOW! |
|
|
|||
|
|
|
|
|
BUY |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
w Click |
|
|
|
|
|
|
o |
m |
|||
|
w |
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
||
|
|
|
df |
|
|
n |
e |
|
|||
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
-xcha |
|
|
|
|
|
HACKWEAR, ИЛИ КАК ОДЕТЬСЯ ХАЦКЕРУ
LuidZy è C. Jay
|
|
|
|
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 |
|
|
|
|
HackWear,
или как одеться |
хацкеру |
|
|
|
|
|||
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
Если ты читаешь Х, то это, конечно, еще ничего не значит. Ведь вдруг ты его |
купил |
||||||
|
ради очередного обзора игр, описания |
железа, новых анекдотов |
èëè ïî- |
|||||
|
настоящему стоящей вещи - |
. Cкорее всего, |
ТЫ даже забыл о кульной |
|||||
|
рекламы |
|
... о рубрике Х-Стиль. Так |
|||||
|
рубрике, реально интересной |
|
|
|||||
|
каждому стильному челу |
|
чем фотки с |
|||||
|
вот, если эта рубрика одна из твоих любимых и радует тебя больше, |
|||||||
|
|
|
|
|||||
|
обнаженной Бритни (что маловероятно |
:), то было бы круто |
и выглядеть |
|||||
|
. Но возникает |
вопрос: как это сделать? Можно, конечно, пройтись |
||||||
|
соответственно |
|
|
|
|
|
бутик. Но |
|
|
по secondhand`ам, клевым рокерским магазам или зайти в какой-нибудь |
|||||||
|
разве этот путь подходит тебе? Ты же продвинутый чел... Включай |
мозги и читай |
||||||
|
|
|
|
-магазинах, торгующих |
||||
|
. В ней мы расскажем тебе об интернет |
|
|
|
|
|||
|
эту статью дальше |
|
|
|
äëÿ òåáÿ. |
|||
|
весьма специфичной одеждой... одеждой для хацкеров... одеждой |
|||||||
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
72 Ньюсы 1 Феррум 2 PC_Zone 3 X-Стиль 4 Взлом
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
|
X |
|
|
|
|
|
|||
|
|
- |
|
|
|
|
|
d |
|
||
|
|
F |
|
|
|
|
|
|
t |
|
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
||
|
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
|
to |
|
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|
|||||
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
|
. |
|
|
|
|
|
.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 |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
t |
|
|
|
|
|
|
|
||
P |
D |
|
|
|
|
|
|
|
|
o |
|
|
|
|
|
|
|
|
|
|
|
NOW! |
r |
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
to |
BUY |
|
X-Стиль |
|
|
|
Geekstuff |
||||||
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||
w |
|
|
|
|
|
|
|
|
|
|
Íó |
÷òî |
æ, |
приступим. |
|||
w Click |
|
|
|
|
|
|
o |
m |
|
Первый |
магазин, который |
||||||
|
w |
|
|
|
|
|
|
|
|
|
|
||||||
|
. |
|
|
|
|
|
|
.c |
|
|
|||||||
|
|
p |
df |
|
|
|
|
e |
|
|
|||||||
|
|
|
|
|
g |
|
|
|
|
||||||||
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
ìû |
решили |
включить в |
||||
|
|
|
|
HACKWEAR, ИЛИ КАК ОДЕТЬСЯ ХАЦКЕРУ |
|||||||||||||
|
|
|
|
статью, |
|
называется |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Geekstuff |
(geekstuff.com). |
LuidZy è C. Jay
Впервые зайдя на страничку этого проекта, понимаешь, что авторы не особо утруждали себя работой над дезигном сайта. "Может быть, это и правильно - ведь это же интернет-магазин.
Ставка наверняка делалась на выбор одежды", - сказали мы себе, надеясь в дальнейшем увидеть действительно широкий ассортимент и качественную продукцию. Но не тут-то было: зашли в раздел, где были выставлены на продажу футболки, и в нашем броузере появилось всего шесть футболок :(. И все они для кодеров и для линуксоидов. Да, широтой ассортимента, как мы смели предположить, данный проект не обладал. Что касается головных уборов, а именно бейсболок, то их здесь имеется достаточное количество для того, чтобы сделать выбор (5 различных моделей). Единственная вещь, которая порадовала нас (да и которая, скорее всего, порадует многих людей, которые кодят на Перле) - это размещение на сайте этого проекта "фирменной" одежды клуба юзверей Перла, именующегося Perl Mongers (типа Торговцы Перлом). Одежды от этого клуба также немного: две футболки и две бейсболки. Но по качеству они намного лучше, чем ранее представленные нами футболки. Любой кодер Перла будет выглядеть в них просто великолепно :). Что касается цен, то средняя цена за футболку - 15 бакинских, за бейсболку - столько же. Доставка в Россию,
разумеется, почтой.
ПЛЮСЫ: эксклюзивная продукция от клуба Perl Mongers, прикольные бейсболки.
МИНУСЫ: мало футболок, нет теплых вещей.
LinuxShop
Следующий проект, о котором пойдет речь, носит скромное название LinuxShop (linuxshop.ru). Сайт сделан грамотно, что, конечно же, не может не радовать нас, тем более, что это российский интернет-
магазин. На фоне с предыдущим он выглядит довольно-таки прилично. Да и что касается одежды (футболки, бейсболки) - выбор будет действительно побольше. Всего в ассортименте этого магаза
представлено около 45 футболок и всего лишь одна бейсболка. Также можем сказать, что магазин не останавливается на достигнутом и постоянно увеличивает количество своей "продукции". Ты, наверное, скажешь: "Посмотрите на
название этого проекта - LinuxShop! Я ведь не линуксоид, и мне тут делать нечего!". И ты ошибешься, так как в этом магазине ты наверняка найдешь себе что-нибудь по душе. Предлагаются футболки по следующим тематикам: операционные системы, философия Open Source, кодинг, serious fun (этот раздел радует нас в особенности :). Также недавно был добавлен раздел с так называемыми High quality T-shirts (высококачественными футболками). Если говорить о самом волнующем для тебя моменте - о цене всех этих футболок, то нельзя назвать цены очень-то высокими: 250 русских тугриков за футболку - это вполне разумно! Учитывая то, что если ты живешь в столице - то доставят тебе твою покупку прямо домой в целости и сохранности
совершенно бесплатно. Ну а если ты живешь
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|||
|
|
- |
|
|
|
|
|
d |
|
||
|
|
F |
|
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
||
|
P |
|
|
|
|
NOW! |
o |
||||
|
|
|
|
|
|
|
|||||
другом городе, то жди посылку. |
|
|
|
|
BUY |
|
|
||||
|
|
|
|
|
|
|
|
|
|
||
Если тебя порадовал этот проект, тогда смело набивай в своем броузере lin- |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|||||
|
w Click |
to |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
o |
m |
|||
uxshop.ru и делай свой выбор! Кстати, главред Х, SINtez, - один из постоянныхw |
|
|
|
|
|
|
|||||
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
g |
.c |
|
||
клиентов этого магазина. |
|
p |
|
-x cha |
|
|
|
||||
|
|
df |
|
e |
|
||||||
|
|
|
|
|
n |
|
|||||
|
|
|
|
|
|
|
|
|
ПЛЮСЫ: есть из чего выбирать, невысокие цены.
МИНУСЫ: в ассортименте нет теплой одежды, скудный выбор головных уборов
.
ThinkGeek
Напоследок мы расскажем тебе еще об одном проекте, который мы были просто обязаны включить в наш превю. Почему обязаны? Все это лишь потому, что по сравнению со своими конкурентами этот магазин является явным фаворитом. Здесь все сделано "как надо": впечатляет и сайт (thinkgeek.com), и сама одежда, которой здесь ты найдешь великое множество. Вот на этом давай остановимся поподробнее. Магазин разделен на шесть виртуальных отделов: футболки, одежда для работы, одежда для девушек (для девушек-хакеров, разумеется :), теплая одежда, головные уборы, одежда для детей. Кроме того, раздел футболки имеет еще пять подразделов (футболки для кодеров, хакеров, админов, вебмастеров и т.д.). Также мы были приятно удивлены тем, что в продаже присутствуют галстуки околохакерской тематики!!! В каждом разделе ты найдешь около десяти различных товаров! Теперь пораскинь своими мозгами и посчитай, какой ассортимент получается у этого магазина... Нехило выходит. Да, что сказать, ребята постарались. Цены на все ЭТО варьируются от 15 до 25 условных единиц. Доставка - почтой. Если выбор одежды в ранее представленных нами интернет-магазинах показался тебе скудным, то этот проект создан специально для тебя. Так что не отчаивайся и заходит на thinkgeek.com, и ты обязательно найдешь что-нибудь подходящее для себя!
ПЛЮСЫ: огромнейший выбор, присутствует теплая одежда. МИНУСЫ: высокие цены.
Апдейт
"Эх, ребята, клевая получилась статья, но написали далеко не про все", - сказал Синтез и застучал по клавиатуре. Этот абзац от него.
Итак, забыли ErrorWear (www.errorwear.com) - офигенный магазин по продаже маек с различными комповыми ошибками. Всякие Error 404 - слив, это нам не нужно, а вот Blue Screen Of Death (синий экран смерти) - это офигенно. "Как они его запринтскринили? Из-под VMWare что ли?" - спрашивал я Центнера. "Тормоз! Они его в Фотошопе нарисовали!" - ответил он мне :).
Дальше, майки и футболки от Cult of Death Cow никому что ли не нужны? Нужны? Тогда открываем для себя самый элитный магазин хакерской одежды - Jinx Hackwear (www.jinxhackwear.com). О, да! Здесь есть все! Как тебе, например, маечка с надписью "IRC Junkie"? :). Ну и, конечно же, здесь классическое "Got root?" от шапок до толстовок с капюшоном
и на закуску: NerdGear (nerdgear.zoovy.com) - магазин ботанов (Nerd с английского сленга - ботан, компьютерщик) Особая фишка - майка "Gates - Know Thy Enemy" с фоткой Билли. Плюс магазин Geekgarb (www.geekgarb.com), где можно прикупить маечку со значком ICQ (для фанатов Мирабилиса :). Все, занавес!
Outro
Ну вот и все то, о чем мы собирались поведать тебе в этой статье. Теперь дело осталось за тобой. Выбери себе клевый прикид, но только смотри не перестарайся :).
74
|
|
|
|
|
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 |
|
|
|
|
|
|
|
d |
f |
|
|
n |
e |
|
|
||
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
-xcha |
|
|
|
|
|
СЕТЕВЕАЯ БИБЛИОТЕКА WINSOCK
Horrific aka Фленов Михаил (smirnandr@mail.ru) www.cydsoft.com/vr-online
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
H |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
P |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
L |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
E |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
k |
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
oc |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ins |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
êà |
|
|
W |
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
òå |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
èî |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
áë |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
àÿ |
|
|
áè |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
âå |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
òå |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
Ñå |
|
|
|
|
|
|
|
|
|
|
|
|
через компоненты |
Delphi очень удобна и достаточно |
проста, но |
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
DРабота с сетью |
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
обращаться к сетевой |
|
||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
Ýòî |
можно |
исправить, если напрямую |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
слишком уж медленна |
|
|
|
|
|
|
|
|
|
|
. |
Сегодня |
мы познакомимся |
с ее основами и потом |
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
дождался |
|
|
|||||||||||||||||||||||||||||
библиотеке |
|
окошек - Winsock |
|
|
|
в мире сканер портов |
:). |
Да, ты почти |
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
самый быстрый |
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
сможем |
создать |
|
|
|
|
|
|
тебе показывал, |
был очень хорошим, но |
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
Òîò |
сканер, который я |
|
|
|
|
|
|
|
|
но напишем |
|
|
|||||||||||||||||||||||||||||||||||||||||
этого |
момента |
|
|
|
|
|
. |
|
Новый вариант будет самым быстрым в мире, |
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
слишком |
медленным |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
мы его в следующий раз, а сегодня |
|
теория |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
e |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.com/vr-onlin |
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.cydsoft |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ail.ru www |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
nandr@m |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
àèë smir |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
íîâ Ìèõ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Horrific aka Ôëå |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ìû |
|
|
|
|
. Для версии 1.0 нужно указать |
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. Версия winsock, которую |
хотим стартануть |
|
|
|
|
|
MAKE- |
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
sock |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
нужна вторая, значит, будем указывать |
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
íî íàì |
|
|
|
|
|||||||||||||||||||||
|
îå Win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MAKEWORD(1,0), |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
×òî òàê |
|
|
|
Winsock состоит |
из одного лишь файла Winsock.dll. Она очень |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||
Á |
иблиотека |
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
î |
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
потому что |
â íåé |
|
WORD(2,0) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
рмация |
||||||||||||||||||||
хорошо подходит для создания простых приложений, |
|
|
è |
|
2. Структура типа TWSADATA, в |
которой |
будет возвращена инфо |
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
соединения |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
реализованы |
|
все необходимые функции |
для создания |
|
|
найденном winsock. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
вызвать |
|||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
. Â winsock |
|
|
|
|
|
|
|
|
|
|
|
. |
Для этого |
нужно |
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
äàæå |
не пытайся |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
р создавать |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
как нужно |
|
закрывать |
библиотеку |
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
. Зато сниффе |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
узнаем, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
редачи файлов |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
встроить эти |
|
Теперь |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В принципе, если ты не |
||||||||||||||||||||||||||||
приема/пе |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
MS обещала |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ðîâ. |
|||||||||||||||||||||||||
нет ничего для |
доступа |
|
ê |
заголовкам |
пакетов |
|
|
|
|
|
|
|
|
|
прокатила нас |
|
функцию |
WSACleanup, |
|
ó |
|
|
рой нет парамет |
|
|
|
. После выхода из |
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
êîòî |
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||
необходимые продвинутому |
челу вещи в winsock2, но, как всегда, |
|
|
|
|
|
|
|
|
закроешь Winsock, |
то ничего |
критического не произойдет |
|
|
после |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
просто освобождение |
ненужного сразу |
|||||||||||||||||||||||||||||||||
задницей по наждачной бумаге :) и сказала, |
мол, обойдемся |
|
|
|
|
|
|
|
|
|
программы все само закроется, |
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
функции одинаковы для |
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||
Чем хороша |
эта библиотека, так это тем, что все ее |
|
|
|
|
|
|
|
|
|
|
|
|
использования |
является хорошим тоном в |
кодинге |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||
|
|
ðì |
и языков |
|
|
|
|
|
рования. |
|
Так, например, когда мы |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||
|
|
|
|
программи |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
многих платфо |
|
|
|
|
|
его легко |
|
можно |
будет перенести на язык С/С++ и даже |
|
|
|
|
|
|
|
|
|
|
åð |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
напишем сканер портов, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
é ïðèì |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ровать |
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
там сетевые функции называются |
Первы |
|
|
|
|
|
|
|
|
|
|
|
|
ð, |
который |
|
|
|
|
||||||||||||||||||||||||||||||||||||||
написать что-то подобное |
â *nix, |
потому что |
|
ры. Разница между |
сетевой |
Ä |
àâàé |
сразу |
напишем |
приме |
информацию о нем. Создай в Delphi |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
на экран |
||||||||||||||||||||||||||||||||||||||||||||||||||
так же и имеют |
практически те же парамет |
|
|
|
|
|
|
|
|
и должно быть, |
Winsock и выводить |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
Windows è Linux |
минимальна, хотя и есть. Но так |
|
|
|
|
|
|
|
. Теперь к нему надо подключить заголовочные файлы |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
библиотекой |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
новый проект |
|
|
|
|
|
|
|
|
|
|
|
|
uses и добавить |
òóäà |
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
риться |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
надо перейти в раздел |
|
|
|||||||||||||
ведь Билл не может по-человечески, |
и ему обязательно надо выпенд |
рживает |
winsock |
|
|
|
|
|
|
. Для этого |
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2-й версии |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
Сразу же предупрежу, |
что мы будем изучать winsock2, а Delphi подде |
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
ровать этот пустой проект, то Delphi |
|||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
îí ñìîã |
|
увидеть вторую, |
|
нужно |
|
скачать |
модуль winsock2 |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||
только первую |
|
|
|
|
|
|
. |
Чтобы |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Если ты попробуешь |
|
сейчас |
скомпили |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
(ýòî |
можно сделать с |
|
моего сайта в |
|
|
. Это потому, что он не может найти сами |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
версию |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
заголовочные |
файлы для 2-й версии |
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
проругается |
на добавленный |
модуль |
файлы Winsock2 с моего сайта, то можно |
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
разделе “download” |
|
-> “Заголовочные файлы”) |
|
|
|
|
|
|
|
|
socket - ýòî êàê áû |
|
|
. Если ты скачал заголовочные |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
|
библиотеки |
|
построена вокруг понятия |
файлы |
|
|
двумя |
способами: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||
Вся работа сетевой |
|
|
|
|
|
|
|
|
|
|
|
поступить |
|
-нибудь диру |
и туда же забросить файлы |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
соединения |
с сервером ты должен подготовить |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
виртуальный сетевой канал. Для |
|
|
|
|
на любой порт |
серванта. Все |
1. Сохранить новый |
проект в какую |
|
|
|
|
|
|
|
.inс. Неудобство |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.inc è wsnetbs |
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
можешь соединяться |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.inc, wsnwlink |
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
к работе и потом |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.inc, wsipx |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
такой канал |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
дать тебе сейчас общий |
|
|
|
|
.pas, ws2tcpip |
|
|
|
|
|
|
|
|
|
Winsock2, надо забрасывать |
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
практике, но я попробую |
WinSock2 |
|
|
|
в каждый проект, использующий |
||||||||||||||||||||||||||||||||||||||||||||||||||||
это лучше всего увидеть на |
|
|
|
|
|
|
|
|
|
|
|
этого способа - |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||
алгоритм работы с сокетами: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
заголовочные |
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
WinSock. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
файлы |
|
|
|
|
ýòè |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
|
|
|
руем библиотеку |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ó |
íàñ |
2. |
Можно |
|
забросить |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
1. Инициализи |
ðóåì socket |
(канал для связи). |
После инициализации |
|
|
|
â |
äèðó |
|
Delphi\Lib, |
è |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
- |
файлы |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||
2. Инициализи |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
канал. |
Созданный socket |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
должна быть |
переменная, указывающая на новый |
|
|
|
|
есть не только на |
тогда |
уж точно любой проект |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
компе. Порты |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
ýòî, |
можно сказать, что открытый порт на твоем |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
найдет их. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
передача данных между компами, то |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
серванте, но и у тебя, и когда происходит |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
äèì |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
она происходит |
между сетевыми |
портами. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
ру. В каждой функции для работы с сетью |
Øêî |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ò |
еперь создай форму, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
3. Можно присоединяться к серве |
|
|
|
|
|
|
переменная, |
|
указывающая |
íà |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
ром обязательно указывается |
|
|
õîòü |
чем-то похожую |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||
первым парамет |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
созданный |
|
канал, через который будет происходить |
соединение |
|
|
|
|
|
|
на рисунок |
1. |
После |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
создай |
|
обработчик |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
тартуе |
|
|
|
|
|
|
|
|
k |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
этого |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
события |
OnClick äëÿ |
кнопки и |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
ì winsoc |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
библиотеку (для юниксоидов |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
амое первое, что надо сделать - стартануть |
|
напиши там следующий текст: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Ó |
|
|
|
|
|
|
проги |
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
|
это не нужно делать). Для этого нужно вызвать функцию |
WSAStartup |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Форма будущей |
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||
Ñíåå |
|
|
|
|
|
|
|
|
|
|
|
ðà: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
есть два парамет |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75
|
|
|
|
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 |
|
|
|
|
|
||
|
|
|
СЕТЕВЕАЯ БИБЛИОТЕКА WINSOCK |
Horrific aka Фленов Михаил (smirnandr@mail.ru) www.cydsoft.com/vr-online
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
procedure TForm1.Button1Click(Sender: |
TObject); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Это очень удобно (но |
|||||||||||||||||||||||
var |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
действия, |
не дожидаясь физического |
контакта с сервантом |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
info:TWSADATA; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
время, пока произойдет |
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
кодинге), потому что можно использовать |
|
|||||||||||||||||||||||||||||||||||||||
begin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
тяжело в |
|
|
|
делать - |
|
вызывать |
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
контакт, в своих целях. |
Единственное, |
что ты не можешь |
|
|||||||||||||||||||||||||||||||||
|
tartup(MAKEWORD(2,0), info); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
реального |
|
физического |
|
|
контакта. |
|||||||||||||||||||||||||||||||||||
WSAS |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
сетевые |
функции, пока не произойдет |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
следить за тем, когда закончится |
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
.wVersion); |
|
|
|
|
|
|
|
|
|
|
|
|
Недостаток |
в том, что самому приходится |
||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
tToStr(info |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
t.Text:=In |
|
|
|
|
|
tion; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
функции и можно будет дальше работать с сетью. |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
VersionEdi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
выполнение |
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
.szDescrip |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
t.Text:=info |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
DescriptionEdi |
|
|
|
|
|
|
|
|
|
tatus; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
.szSystemS |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
t.Text:=info |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ò |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
SystemStatusEdi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
й коннек |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Для этого |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Полны |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
окет готов, а значит, можно произвести |
соединение с сервером |
|
|
|
|
||||||||||||||||||||||||||||
WSACleanup; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
Ó ýòîé |
функции есть три |
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
end; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
в библиотеки winsock есть функция connect |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ñпараметра: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
самом начале |
я стартую winsock |
ñ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
 |
1. |
|
|
|
-сокет, которую мы получили после вызова функции socket |
|
|
|||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
artup. |
|
 |
íåì |
|
ÿ |
Переменная |
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
помощью |
|
|
|
|
|
2. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Для того чтобы узнать |
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
WSASt |
а информация |
Структура типа TSockAddr |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
запрашиваю 2-ю версию, |
3. |
Размер |
структуры, |
указанной |
во втором параметре |
|
|
|
|
|
параметра |
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
ìíå |
будет |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
î |
|
текущем |
состоянии |
|
размер, можно воспользоваться |
функцией SizeOf и указать в качестве |
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
возвращена в структуру info. После этого |
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
структуру |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ее полностью |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
ÿ |
|
|
вывожу |
|
полученную |
|
èíôó |
|
äëÿ |
Структура |
TSockAddr |
очень сложная, |
|
и описывать |
нет смысла |
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
Лучше мы познакомимся |
с нею на практике, а пока я покажу только основные |
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
всеобщего просмотра |
|
|
î |
версии |
ó |
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
Ïðè |
выводе |
информации |
|
|
|
|
поля, которые должны быть |
заполнены |
|
|
|
|
. Здесь нужно указывать то же, что |
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
меня есть небольшая проблема, потому |
sin_family - семейство используемой адресации |
|
|
|
(äëÿ |
íàñ ýòî |
|
ÐF_INET èëè |
||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
÷òî |
|
свойство wVersion |
структуры |
info |
указывали в первом параметре при создании |
сокета |
|
|||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
имеет числовой тип, а для вывода мне |
AF_INET). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
||||||||||||||||||
Пример работы проги |
|
|
|
|
íàäî |
преобразовать его |
|
â |
|
|
. |
Äëÿ |
sin_addr - |
адрес сервера, куда мы хотим |
присоединиться |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
строку |
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||
этого я выполняю преобразование |
с помощью IntToStr. |
|
|
|
|
|
|
|
|
sin_port - порт, на который мы хотим |
приконнектиться |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
На деле это будет выглядеть так: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
úåìà |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
âêà ðàç |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sock- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
одгото |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
Ï |
режде чем производить |
коннект к серверу, |
надо еще подготовить |
|
|
var |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
. |
Äëÿ |
подготовки нужно выполнить |
|
addr: TSockAddr; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
. |
Ýòèì |
è |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
et |
ê |
займемся |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
работе |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
функцию socket, у которой есть три параметра: |
|
|
|
ìû |
будем |
begin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
Тип используемой |
|
|
|
|
. Íàñ |
|
интересует |
Инет, поэтому |
|
addr.sin_family := AF_INET; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||
1. |
адресации |
|
видишь, |
îáà |
значения |
очень |
похожи и |
|
.sin_addr |
:= ServerName; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
AF_INET. Êàê |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
указывать PF_INET или |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
â |
первом случае работа будет |
|
addr |
|
|
|
:= htons(21); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
показывают |
одну и ту же адресацию, |
только |
|
addr.sin_port |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
t, @addr, sizeof(addr)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
синхронной, |
а во втором |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
будет |
|
|
t(FSocke |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
асинхронной |
|
указать, на основе какого протокола |
|
connec |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
2. Базовый протокол. Здесь мы должны |
|
|
|
end; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
|
читаешь Х и |
рубрику “Кодинг”, то должен |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
происходить |
работа. Если ты регулярно |
|
|
|
|
wn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
- TCP (с надежным |
соединением) и |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
существует два базовых протокола |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. В качестве |
|||||||||||||||||||||||
знать, что |
|
|
|
|
соединений, а просто выплевывающий |
данные в порт). |
|
Ну и напоследок - |
функция |
для закрытия соединения - closesocket |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
UDP (не производящий |
|
|
|
UDP, òî |
|
|
|
|
|
-сокет. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
SOCK_STREAM, а если нужен |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
Для TCP в этом параметре надо указать |
|
|
|
|
параметра |
нужно указать переменную |
|
|
|
|
|
раз мы углубимся в сетевой кодинг |
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
На сегодня я думаю закончить, а в следующий |
|
|
|
сканер портов. |
Исходники |
||||||||||||||||||||||||||||
указывай SOCK_DGRAM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
мегабыстрый |
|||||||||||||||||||||||
3. Вот здесь |
мы можем указывать, какой конкретно протокол |
íàñ |
интересует |
|
и уже скоро напишем долгожданный |
|
|
|
|
|
|
|
.com/vr-online |
||||||||||||||||||||||||||||||||||||||||||||||||||
|
_ECHO, |
|
|
ñ |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||
Возможных |
значений |
тут немерено |
|
(например, |
IPPROTO_IP, |
IPPORT |
.pas è |
|
примера, как всегда, можно скачать |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
выхода этого номера в свет. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
IPPORT_FTP |
и т.д.). Если хочешь увидеть |
все, то открывай файл winsock2 |
|
|
после |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
это и будут возможные |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
_, |
и все что ты найдешь - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
запускай поиск по IPPORT |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
P.S. У меня к тебе просьба, на сто баксов |
:). Не пиши мне большие письма |
||||||||||||||||||||||||||||||||||||||||
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. ß |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
рубрики “Кодинг” |
меня каждый день валят |
вопросами |
||||||||||||||||||||||||||
протоколы |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
После появления |
|
|
|
|
|
÷òî-òî |
||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. ß ìîãó |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
òü |
|
|
|
|
|
|
|
|
|
|
|
не в состоянии |
âñåì |
|
рассказывать то, о чем пишут книги |
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
/асинхроннос |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
написать |
|||||||||||||||||
|
|
|
|
нность |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
работы |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. А просьбы типа помоги |
|||||||||||||||||
Синхро |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
Ò |
|
|
|
|
|
|
познакомить с синхронностью |
и асинхронностью |
|
|
|
|
|
|
|
|
-то помочь, но не больше |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
|
еперь я хочу тебя |
. |
|
|
|
|
|
|
|
|
подсказать, где |
|
|
|
|
|
. |
Я отвечаю только на те вопросы, где ответ |
||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
прогу |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
порта. Разница в этих двух режимах следующая |
|
|
|
|
|
|
|
|
вообще нереальны |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
íå ìîãó. ß |
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
займет несколько |
строчек. Целые лекции по мылу я разводить |
|
|
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
то программа останавливается |
|
|
помог всем, |
|
|
|
|
|
|
|
|
|
. |
|
|
Вас слишком |
|||||||||||||||||||||||||||
|
Синхронная работа: когда ты вызываешь функцию, |
бы с удовольствием |
но это НЕВОЗМОЖНО |
|
|
|
на несколько |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
. |
|
Поэтому |
лучше разбей |
свой вопрос |
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
. Допустим, что ты запросил коннект с сервером |
много, а я один :(((. |
|
. |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
|
и ждет полного ее выполнения |
|
|
|
|
|
|
|
|
|
|
коннект или ошибка. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
Прога тут же тормозит и ждет, пока не произойдет |
|
|
|
маленьких и спрашивай |
постепенно, а не все сразу |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
о каждую |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
Асинхронная |
работа: при этом режиме |
программа не спотыкается |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
. Òâîÿ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
. Допустим, что ты запросил все тот же коннект с сервером |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
сетевую функцию |
|
|
|
|
|
|
|
и тут же продолжает выполнять следующие |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
прога посылает запрос на соединение |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
Ï |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
d |
|
|
|||
|
ðîãð |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
F |
|
|
|
|
|
|
t |
|
||
|
|
|
ìì |
|
|
|
|
|
|
|
|
|
|
|
|
D |
|
|
|
|
|
|
|
i |
|
||
|
|
|
|
èðî |
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
||
|
|
|
|
|
|
|
âà |
|
|
|
|
|
|
|
|
P |
|
|
|
|
|
|
|
|
|
o |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
.c |
|
|||
|
|
|
|
|
|
|
íè |
|
|
|
|
|
|
|
|
|
|
|
|
NOW! |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
p |
|
|
|
|
|
e |
|
|
||||
|
|
|
|
|
|
|
|
|
å |
ãð |
ôè |
|
|
|
df |
|
|
|
g |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
êè |
BUY |
|
|
|
|
|
|
||||||
|
Вывод |
спрайтов |
|
|
w Click |
to |
|
|
|
|
|
|
|
||||||||||||||
|
|
|
à |
|
|
|
|
|
|
|
|
à |
|
|
|
|
|
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
|||
Основа любой |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
ë |
|
двухмерной графики - спрайты, т.е. |
простые |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
юбого формата. Если ты хоть |
|
|
|
графические картинки |
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
слышать |
такое |
|
|
немного следишь за игровым миром, то |
должен уже |
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
понятие, как спрайтовая графика. |
Практ |
ически |
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
двухмерной графики |
|
|
|
|
|
любая прога |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
использует графические файлы для вывода |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
изображения на экран. |
|
|
|
какого- |
нибудь |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Horrific aka Фленов Михаил |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
Теория спрайтов |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
smirnandr@mail.ru www.cydsoft.com/vr-online |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
Ä |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
î |
появления |
3D |
ускорителей |
спрайтовая графика была единственным |
|
|
|
|
|
|
|
|
|
научились |
|
создавать |
|
главную |
|||||||||||||||||||||||||||||
способом создания игр. |
Даже самый |
знаменитый |
и на первый взгляд |
|
|
|
|
|
|
|
|
|
поверхность, |
íà |
|
которой |
можно |
||||||||||||||||||||||||||||||
трехмерный Doom был |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
полностью двухмерным и |
напичкан спрайтами. Все |
|
|
|
|
|
|
|
|
|
рисовать. |
|
Напоминаю, |
÷òî |
|||||||||||||||||||||||||||||||||
монстры - |
это просто |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
заранее подготовленные |
картинки, а такие вещи, |
как оружие |
|
|
|
|
|
|
|
|
|
поверхность |
- ýòî |
просто |
область |
||||||||||||||||||||||||||||||||
или аптечки, вообще |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
памяти. |
|
|
Ýòà |
|
||||||||||||||||||||||
Работа со |
|
не знали о существовании |
третьего измерения. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
область |
может |
||||||||||||||||||||||||||||
спрайтами |
похожа на |
мультипликацию, ты |
просто |
подготавливаешь |
|
|
|
|
|
|
|
|
|
находиться |
как в памяти видеокарты, |
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
òàê |
|
è |
|
â |
|
|||||||||||||||||||||||||
изображение какого-нибудь предмета |
â |
разных |
плоскостях и потом выводишь их на |
|
|
|
|
|
|
|
|
|
|
|
|
оперативке. |
|
Первичная |
|||||||||||||||||||||||||||||
|
|
|
|
|
экран в зависимости от ситуации. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
поверхность |
всегда |
находится |
â |
||||||||||||||||||||||||
|
|
|
|
Посмотри |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
памяти |
|
видюхи, |
|
|
è |
|
âñå, ÷òî |
|||||||||||||
|
|
|
|
íà |
рисунок 1. |
На нем показана вполне |
|
|
|
|
|
|
|
|
|
отображено |
íà |
|
|
íåé, |
сразу |
||||||||||||||||||||||||||
|
|
|
|
|
реальная |
|
последовательность |
спрайтов. |
Åñëè |
|
|
|
|
|
|
|
|
|
отображается |
на мониторе. Запись в |
|||||||||||||||||||||||||||
|
|
|
|
|
последовательно |
воспроизвести каждый из спрайтов, |
|
|
|
|
|
|
|
|
|
ýòó |
|
|
поверхность |
|
равносильна |
||||||||||||||||||||||||||
|
|
|
|
òî |
может |
возникнуть |
ощущение |
трехмерности |
|
|
|
|
|
|
|
|
|
рисованию |
по самому |
экрану. |
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
самолета, который наклоняется в твою сторону. А если |
|
|
|
|
|
|
|
|
|
Ты можешь создавать |
дополнитель- |
|||||||||||||||||||||||||||||||
|
|
|
|
åùå |
|
è |
постепенно |
двигать |
ýòè |
картинки |
ïî |
õîäó |
|
|
|
|
|
|
|
|
|
íûå |
поверхности и хранить в них что |
||||||||||||||||||||||||
|
|
|
|
|
движения |
самолета, то можно окончательно обмануть |
Изображение для вывода на экран |
угодно, |
ведь это простая память, и |
||||||||||||||||||||||||||||||||||||||
|
|
|
|
òâîå |
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
зрение. Хорошо прорисованные |
спрайты могут |
|
|
|
|
|
|
|
|
|
она уже не влияет на содержимое эк- |
|||||||||||||||||||||||||||||||
|
|
|
|
|
создать |
ощущение |
|
реального мира. |
Åñëè |
òû |
õîòü |
äà íàøó |
|
|
|
|
|
|
|
ðàíà. Òàê |
почему бы не загрузить ту- |
||||||||||||||||||||||||||
|
|
|
|
иногда |
|
|
|
|
|
|
|
|
|
|
|
картинку? В этом случае мы сможем |
обращаться к |
íåé |
средствами |
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
используешь свой комп для игр, то ты |
DirectDraw, которые могут |
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
понимаешь, |
о чем я говорю. |
|
|
|
|
|
|
|
|
|
|
|
|
работать с ускорителями и выполнять любые |
операции |
|
||||||||||||||||||||||||||
|
|
|
|
Подготавливаем картинку |
|
|
|
над поверхностями намного быстрее. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
Поверхность для картинки |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
Ñ |
егодня |
ìû |
|
ïîêà åùå |
íå |
будем |
создавать |
Ä |
ля начала открой |
проект, |
созданный в предыдущем |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
анимации, |
íî |
простую |
|
|
|
номере Х, сейчас мы |
|
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
статическую |
картинку |
его доработаем. |
Перемещаемся в |
раздел |
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
выведем на экран. На |
рисунке 2 ты |
можешь |
|
|
|
|
|
var |
è |
рядом |
ñ |
объявлением |
|
||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
первичной поверхности описываем |
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
увидеть подготовленное мною |
åùå îäíó: |
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
|
|
изображение. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|
FImageSurface: IDirectDrawSurface7; |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
Ты можешь создать любую другую |
|
|
|
|
|
Прежде чем использовать ее, очень |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
что она должна |
умещаться |
â |
картинку, но помни, |
хорошим |
тоном было |
áû |
сначала обнулить |
|
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
пределы экрана. Если |
переменную. Для этого |
переходим |
íàøó |
|
|
||||||||||||||||||||||||||||||||||||||
|
|
|
|
õîòÿ áû îäèí |
|
òóäà, ãäå |
начинается |
|
|
|
|
||||||||||||||||||||||||||||||||||||
|
|
|
|
пиксель не |
поместится, то изображение |
|
|
|
|
код нашей |
программы, и |
|
|
||||||||||||||||||||||||||||||||||
|
|
|
|
не будет выведено на |
|
присваиваем переменной |
FimageSurface значение nil. |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
|
|
экран. |
|
|
|
|
|
|
|
А почему |
|
я присвоил |
nil, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
Для начала вспомним |
предыдущий урок. На |
|
|
|
а не простой 0 (ноль)? Ноль мы |
можем |
присваивать |
|
||||||||||||||||||||||||||||||||||||
|
|
|
íåì ìû |
числовым |
|
|
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
переменным, а переменные |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
создали первое полноэкранное |
DirectX |
приложение и |
указатели |
|
на область |
памяти, где |
|
объекта - это не числа. На самом деле это |
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
расположен сам |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
Спрайтовая анимация |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
самолета |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
|
d |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
F |
|
|
|
|
|
|
|
|
t |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D |
|
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
w |
|
|
|
to |
|
|
|
|
|
o |
Кодинг |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
P |
|
|
|
|
|
|
NOW! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
BUY |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
w Click |
|
|
|
|
|
|
o |
m |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
g |
.c |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
p |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
df |
|
|
n |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
ПРОГРАММИРОВАНИЕ ГРАФИКИ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
Horrific aka Фленов Михаил (smirnandr@mail.ru) |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
www.cydsoft.com/vr-online |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
. Когда |
ты его создаешь, то выделяется |
необходимая для хранения объекта |
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
. Когда ты уничтожаешь |
объект, |
||||||||||||||||||||||||||||||||||
|
|
|
объект |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
память и переменной присваивается |
только ссылка |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
память освобождается |
и ссылка обнуляется |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ÿ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
æåíè |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
рузка |
изобра |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
идее, сначала |
ìû |
||||||||||||||||||
|
|
|
|
Çàã |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
из простого файла. По |
|
|||||||||||||||||
|
|
|
|
Ò |
еперь |
загрузим наше изображение |
считывая |
оттуда |
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
ôàéë è, |
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
создать |
поверхность, |
потом открыть |
|
|
|
||||||||||||||||||||||||||||||
|
|
|
|
|
должны |
|
|
|
. |
Но это только по идее, потому что |
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
èõ |
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
данные, записывать |
в поверхность |
|
|
|
|
|
âåñü ýòîò |
процесс |
|||||||||||||||||||||||||||||||
|
|
|
|
|
файлы для DirectX с моего сайта, то |
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
если ты качал заголовочные |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
|
|
|
выполняется за одну строчку. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
 íåì óæå |
||||||||||||||||||||||
|
|
|
|
|
Вместе |
с заголовочными |
файлами ты можешь найти файл |
ddutil.pas |
|
|
|
|
â òîì |
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
операций, которые могут тебе понадобиться, |
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
много стандартных |
|
|
||||||||||||||||||||||||||||||||||
|
|
|
|
|
реализовано |
|
|
|
хочу сказать, что модуль написан |
íå ìíîé è |
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Сразу |
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
числе и загрузка |
изображения |
|
|
|
|
корпорашкой |
MS, так что его реализация |
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
нелюбимой |
||||||||||||||||||||||||||||||||
|
|
|
|
|
не Васей Пупкиным, а всеми |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
|
|
|
|
|
есть и для языков С/С++. |
|
|
|
|
|
|
|
|
|
|
|
. Теперь можно загружать что |
|||||||||||||||||||||||||||
|
|
|
|
|
Перейди в раздел |
uses и добавь туда имя |
этого модуля |
перед |
циклом |
|
обработки |
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
поверхности |
è |
|
||||||||||||||||||||||||||
|
|
|
|
|
угодно. |
После создания первичной |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
сообщений напиши следующее: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tDraw, ‘1.bmp’, 0, 0); |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tmap(FDirec |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
FImageSurface |
|
:= DDLoadBi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Ó |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Здесь я вызываю функцию |
DDLoadBitmap, |
которая описана в модуле ddutil.pas |
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
нее четыре |
параметра: |
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. Уже созданный |
объект DirectDraw |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Если путь не указывать, то изображение должно |
|||||||||||||||||||||||||||||
|
|
|
|
|
|
2 Èìÿ (åñëè íàäî, òî è |
путь) файла |
|
|
|
|
ôàéë. |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
лежать |
в той же директории, что и запускной |
|
|
|
|
|
|
|
|
|
. Åñëè òû |
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- это желаемые ширина и высота |
картинки |
|
|
|||||||||||||||||||||
|
|
|
|
|
|
3, |
4. Последние два параметра |
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||
|
|
|
|
|
|
значения, отличные |
îò íóëÿ, |
то картинка будет |
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-нибудь |
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
укажешь |
здесь какие |
|
|
|
|
|
|
|
. Если указать нули, то будут использоваться |
|||||||||||||||||||||||||||||
|
|
|
|
|
|
приведена |
именно к этим размерам |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
вручную (не |
||||
|
|
|
|
|
|
реальные размеры изображения |
|
|
поверхность |
FimageSurface |
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Я специально |
íå |
|
создавал |
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
вызывал явно метод CreateSurface), |
потому что если это необходимо, |
òî |
||
|
||||
ее. Ручной труд тут уместен, |
только если ты |
|||
DDLoadBitmap |
сама проинициализирует |
|
. |
|
фическое, а нас пока устроят и значения |
по умолчанию |
|||
хочешь создать что-то специ |
|
|
|
|
|
|
|
анету |
|
|
ñóåì |
âñþ ïë |
|
. Ýòî |
|||
È |
|
|
|
|
|
к его выводу на экран |
Îáðè |
зображение |
готово, |
и можно приступать |
|||
|
желательно |
делать по событию |
|
|||
|
при необходимости |
прорисовать окно. |
|
|||
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
_PAINT then |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
if msg=WM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
begin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Обнуляю структуру bltfx |
|
tfx)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
bltfx, SizeOf(bl |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
ZeroMemory(@ |
размер |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
//Заполняю |
åå |
tfx); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
bltfx.dwSize := sizeof(bl |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
//Цвет заливки |
|
|
:= 0; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
bltfx.dwFillColor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
//Закрашиваю |
ôîí |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tfx); |
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_WAIT, @bl |
|
|
|
||||||||||||
|
|
|
|
|
.Blt(nil, nil, nil, DDBLT_COLORFILL |
or DDBLT |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
FPrimarySurface |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
//Вывожу на экран изображение |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_WAIT); |
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
t (175, |
75, FImageSurface, |
nil, DDBLTFAST |
|
|
|
|
|
|
||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
.BltFas |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
FPrimarySurface |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
end; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bltfx, |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
Первым делом я заполняю структуру |
|
||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
Давай разберемся |
|
с этим текстом |
var â âèäå |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Это очень сложная |
|
|||||||||||||||||||||||||||||
которая у меня объявлена в разделе |
|
òèïà TDDBLTFX |
|
|
|
Blt, которая |
|
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
функции поверхности |
|
|
|||||||||||||||||||||||||||||||||||||||
структура, |
которая |
используется |
при вызове |
|
|
|
|
|
|
. |
|
|
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
достаточно сложная и имеет |
множество возможностей |
|
|
|
||||||||||||||||||||||||||||||||||||||
тоже, в свою очередь, |
|
|
функции Blt |
- очистка экрана. |
|
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
с одной из |
возможностей |
|
||||||||||||||||||||||||||||||||||||||||||
Сегодня мы познакомимся |
|
|
|
значения |
- dwSize (размер |
|
||||||||||||||||||||||||||||||||||||||||||
|
|
надо заполнить |
только два |
|
||||||||||||||||||||||||||||||||||||||||||||
Для этого в структуре |
|
bltfx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
структуры заполняется |
всегда) и dwFillColor |
(цвет заливки) |
|
|
|
сказать, даже метод |
|
|||||||||||||||||||||||||||||||||||||||||
функцию (точнее |
|
|||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||
Когда структура |
готова, можно вызывать |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
объекта поверхности) |
Blt. У метода есть 5 параметров: |
|
|
|
nil, òî |
рисуется на всей |
|
|||||||||||||||||||||||||||||||||||||||||
|
|
íà |
которой |
надо рисовать |
(åñëè |
|
||||||||||||||||||||||||||||||||||||||||||
1. Область приемника, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
а только закрашиваем, |
|
|||||||||||
поверхности) |
|
|
|
|
|
|
|
|
|
(мы не копируем поверхность, |
|
|
||||||||||||||||||||||||||||||||||||
2. Поверхность источника |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
âñÿ |
|
|
поэтому |
ó ìåíÿ nil) |
|
|
|
|
|
|
|
должна скопироваться |
(если nil, то копируется |
|
|||||||||||||||||||||||||||||||||||||
3. Область источника, которая |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Здесь я указываю |
|
||||||||||
поверхность) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
4. Флаги, которыми |
указывается, что должна |
сделать |
|
функция |
|
|
|
|
выбранную |
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
закрасить |
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
- |
указывает на |
необходимость |
|||||||||||||||||||||||||||||||||||||||||
|
DDBLT_COLORFILL |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
цветом. |
А также DDBLT_WAIT |
- |
указывает на то, что если |
|||||||||||||||||||||||||||||||||||||||||||
|
область |
указанным |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
вывод сейчас |
|
невозможен, то подождать |
|
|
|
|
|
|
параметры, в данном случае |
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
необходимые |
|
||||||||||||||||||||||||||||||||||
|
5. Структура, в которой хранятся |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(откуда копируем и |
|||||||||||
|
цвет заливки |
|
|
|
|
|
есть размеры источника и приемника |
|||||||||||||||||||||||||||||||||||||||||
|
Среди параметров |
Èç-çà |
этого может |
|||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|||||||||||||||||||||||
|
êóäà), à |
вот поверхность указывается |
|
только источника |
Все очень просто, |
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|||||||||||||||||||||||||||||||||
|
возникнуть вопрос: “А куда |
происходит копирование?” |
|
|
|
|
|
|
в данном |
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
которая вызвала этот метод, |
|
|||||||||||||||||||||||||||||||||||||||||
|
копироваться будет в ту поверхность, |
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
случае в |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.Blt). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
поверхность |
|||||||||||
|
|
первичную (FPrimarySurface |
|
|
|
|
|
íàøà |
|
|
первичная |
|||||||||||||||||||||||||||||||||||||
|
После |
|
выполнения |
ýòîé |
|
функции |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||
|
|
|
|
|
черным |
цветом. |
Теперь мы готовы перенести |
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
(FprimarySurface) очищается |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
||||||||||||||||||||||
|
наше изображение |
из поверхности FimageSurface |
на первичную |
òî, |
|
наверно, |
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
íà |
|
параметры метода Blt, |
|
|||||||||||||||||||||||||||||||||||
|
Если ты внимательно посмотрел |
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Для этого в |
||||||||||||||||||||||||||
|
заметил, |
|
что с помощью нее можно и копировать |
поверхности |
|
|
|
|
|
. |
||||||||||||||||||||||||||||||||||||||
|
|
копируемую |
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
параметра |
нужно только указать |
поверхность |
|||||||||||||||||||||||||||||||||||||||
|
качестве второго |
|
реализацией BltFast. Но |
|||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
более |
простой и |
|
более быстрой |
|||||||||||||||||||||||||||||||||||||||||
|
Но я воспользовался |
|
|
|
|
|
|
в следующий |
||||||||||||||||||||||||||||||||||||||||
|
другая история, с которой мы разберемся |
|||||||||||||||||||||||||||||||||||||||||||||||
|
это уже совершенно |
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
ðàç. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
own |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. В следующий раз я |
||||||||||||||
|
Shutd |
|
|
|
|
|
|
|
|
|
|
|
|
пример |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
Í |
а этом сегодняшний |
можно закончить |
|
|
|
|
|
|
|
|
÷òî òóò |
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
изображений |
на экран, потому |
|||||||||||||||||||||||||||||||||||||||||
|
|
продолжу рассказ про вывод |
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
есть очень много интересных |
и хитрых приемов |
|
|
ñ |
моего |
|
сайта |
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
можно |
|
|
скачать |
|
|
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
примера, |
|
êàê |
|
всегда, |
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
Исходники |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
.com/vr-online после выхода этого номера в свет. |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
www.cydsoft |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
:). Не пиши мне большие |
||||||||||||||||||||
|
P.S. У меня к тебе просьба, |
на сто баксов |
||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
меня каждый |
день валят |
||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
|
|
|
. После появления рубрики “кодинг” |
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
òî, |
о чем пишут |
||||||||||||||||||||||||||||||||||||||||
|
письма |
|
|
|
. |
|
Я не в состоянии |
всем рассказывать |
||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. À |
|||||||||||||||||||||||||||||||
|
вопросами |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
где-то помочь, но не больше |
|||||||||||||||||||||||||||||
|
|
|
. |
Я могу что-то подсказать, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Я отвечаю |
||||||||||||||||||||||||||
|
книги |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
просьбы типа помоги написать |
прогу - вообще нереальны |
|
|
. |
|
Целые |
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
только на те вопросы, |
где ответ займет несколько |
|
строчек |
|
помог |
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
íå |
|
|
|
|
|
. Я бы с удовольствием |
|||||||||||||||||||||||||||||||||||||
|
лекции |
|
по мылу я разводить |
|
ìîãó |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
:(((. |
|||||||||||||||||||||||
|
|
|
Вас слишком много, а я один |
|||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
||||||||||||||||||||||||||||||
|
всем, но это НЕВОЗМОЖНО |
|
вопрос |
|
на несколько |
маленьких и |
||||||||||||||||||||||||||||||||||||||||||
|
Поэтому |
лучше |
разбей |
|
ñâîé |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
|
спрашивай постепенно, |
а не все сразу. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78