книги хакеры / журнал хакер / 043_Optimized
.pdf
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
C |
|
E |
|
|
||
|
|
X |
|
|
|
|
|
||
|
- |
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
r |
|
|
P |
|
|
|
|
|
NOW! |
o |
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
BUY |
|
|
||
|
|
|
|
to |
|
|
|
|
|
w Click |
|
Ýòî ôàêò.m |
Ведь господа Касперские, Соломоны и Лозин- |
||||||
|
|
||||||||
w |
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
.c |
|
||
|
|
p |
df-xchanские помогут тебе, вирусмейкеру, если твое детище вы- |
||||||
|
|
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
e |
|
явлено, стреножено и каст... тьфу, ты... препарировано =). Основной ущерб от вирусов будет только тогда, когда они сработают синхронно на большом количестве машин, после этого их уже можно лечить и убивать сколько вздумается: они ведь свое дело сделали. Да и вирусыдолгожители в современном мире вряд ли возможны. Волшебников не бывает, поэтому код нашего вируса - платформенно зависим и должен работать вне зависимости от своего положения в зараженной программе. Также в нем (на то он и вирус!) нельзя использовать динамические библиотеки (даже С runtime) и выделять память под глобальные переменные в сегменте данных. С другой стороны, это не могут быть и вирусы-демоны, так как с ними просто бороться: в конце концов, можно явно оговорить список разрешенных процессов.
В рамках этой статьи разберем заражение исполняемых файлов, но никакого кода не жди: я не преследовал цели научить писать вирусы, да и статья не об этом. Все будет вкратце и общих словах. Итак, для исполняемых файлов и библиотек используется формат ELF. Форма ELF’a описана в файле /usr/include/elf.h. Советую тебе внимательно ознакомиться с содержимым этого файла, чтобы представлять себе в дальнейшем, о чем идет речь. Все исполняемые файлы, созданные ld, всегда отображаются в одну и ту же область памяти. Заголовок программы лежит по адресу 0x08048001, хотя это и не является постоянной величиной. В принципе распределение памяти зависит от параметров, с которыми при создании файла запускался ld, но все почему-то используют параметры по умолчанию. Это облегчает вирусмейкеру задачу. Вообще, ld всегда создает исполняемые файлы со структурой:
1 - Заголовок ELF (Elf32_Ehdr)
2 - Заголовок программы (Elf32_Phdr)
3 - Интерпретатор программы (если слинковано динамически)
4 - Сегмент кода
5 - Сегмент данных
6 - Заголовок секций (Elf32_Shdr)
Весь файл от начала до конца загружается в единый сегмент, называемый «code» или «text». Код, производимый gcc, мало пригоден для вирусов, так как он не может работать в любом месте программы, поэтому внедрить получается только asm. Самое сложное при написании вируса - сохранение работоспособности зараженной программы. Для заражения надо рассчи- тать количество свободного места под код вируса, вставить вредоносный код между сегментом кода и сегментом данных. Также нужно модифицировать и настроить код вируса на реальную входную точку программы, изменить входную точку на входную точку вируса и модифицировать заголовок программы так, чтобы вирус был включен в сегмент кода, перенастроив все последующие указатели и записав модифицированный файл. Модификация входной точки состоит в изменении адреса, с которого должно начинаться выполнение программы - e_entry. Этот новый адрес должен быть равен сумме базового виртуального адреса p_vaddr и размера старого сегмента кода в файле p_filesz. Эти адреса можно взять из структуры Elf32_Phdr, а для самих адресов пользоваться Elf32_Addr. Далее изменение заголовка программы: модифицируются размер сегмента кода в файле p_filesz и в памяти p_memsz суммированием с размером вируса VIRUS_SIZE. Далее в цикле двигаем смещение p_offset до тех пор, пока оно не станет нужного размера. Модификация заголовка секций Elf32_Shdr состоит в приведении смещения этого заголовка e_offset, для этого к нему надо прибавить VIRUS_SIZE. Последнее делать не обязательно, но желательно, так как иначе readelf и strip не согласятся с зараженной программой.
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
C |
|
|
E |
|
|
|
|||
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
- |
|
|
|
|
|
|
d |
|
|||
|
|
|
|
|
|
F |
|
|
|
|
|
|
|
t |
|
|||
|
|
|
|
|
|
<PageP |
059> |
|
|
|
i |
|
||||||
|
|
|
|
|
|
D |
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
|
|
|
to |
BUY |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
программы, чтобы потом в дальнейшем не пользоClick - |
|
|
|
|
|
|
m |
||||||||
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
o |
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
w |
. |
|
|
|
|
|
|
.c |
|
|||
|
|
|
ваться exploit’ом. Далее следует стереть последние 5- |
g |
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
p |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
df |
|
|
|
n |
e |
|
|||
Основное отличие вируса от червя за- |
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
|||
|
|
6 строчек из /var/*<то, что вирус атаковал>*, здесь |
|
|
|
|
|
|
|
|||||||||
ключается в том, что червь исполняется |
|
|
|
|
|
|
|
|
|
|||||||||
|
|
все очень сильно зависит от типа атаки. Обходить rpm |
|
|
|
|
|
|||||||||||
как отдельная задача. При действии ви- |
|
|
|
|
|
|
|
|||||||||||
|
|
проще всего, модифицируя его базу. Но есть гораздо |
|
|
|
|
|
|
||||||||||
руса файлы меняются навсегда, то есть |
|
|
|
|
|
|
|
|
||||||||||
|
|
более интересный вариант: написать модуль ядра, ко- |
|
|
|
|
|
|
||||||||||
после перезагрузки изменения сохранят- |
|
|
|
|
|
|
|
|
||||||||||
|
|
торый будет считать контрольные суммы так, как вы- |
|
|
|
|
|
|
||||||||||
ся, но, с другой стороны, вирус работает |
|
|
|
|
|
|
|
|
||||||||||
|
|
годно вирусу, или вообще подставлять незараженные |
|
|
|
|
|
|
||||||||||
только при старте программы. Червь же |
|
|
|
|
|
|
|
|
||||||||||
|
|
копии, куда следует. Это, кстати, позволит махом |
|
|
|
|
|
|
|
|
|
|||||||
полностью контролирует свой процесс. |
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
обойти все мониторы, проверяющие контрольные |
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
суммы, и некоторые антивирусы. Такой ход дает нео- |
|
|
|
|
|
|
|||||||||
Прежде чем заражать программу, вирусу следует |
|
|
|
|
|
|
||||||||||||
граниченные возможности работы с компьютером, так |
|
|
|
|
|
|||||||||||||
убедиться, что она не была заражена ранее. Пред- |
как в этом случае вирус исполняется в адресном про- |
|
|
|
|
|
|
|||||||||||
ставь себе многократно зараженный bash. При вызо- |
странстве ядра и, что неприятнее всего, в режиме яд- |
|
|
|
|
|
|
|||||||||||
ве любого скрипта каждая копия вируса будет зара- |
ра. Так можно и BIOS поправить, и жесткий диск сло- |
|
|
|
|
|
|
|||||||||||
жать новые файлы, и производительность системы |
мать. Уже ручки чешутся? :) Но обломись: абсолютное |
|
|
|
|
|
|
|||||||||||
заметно упадет. Самый легкий способ для обнаруже- |
большинство вирусов с подобных механизмом напи- |
|
|
|
|
|
|
|||||||||||
ния уже зараженных программ - поставить какую-ни- |
сано именно под Windows. В этой ОС драйвер являет- |
|
|
|
|
|
|
|||||||||||
будь метку, как это проделывал покойный Jerusalem, |
ся модулем ядра, а установить новый драйвер в |
|
|
|
|
|
|
|
|
|
|
|||||||
или использовать код вируса в качестве метки. Но та- |
Windows куда проще. Поэтому Microsoft ввела серти- |
|
|
|
|
|
|
|||||||||||
кой вирус просто обнаружить, поэтому авторы виру- |
фикацию драйверов, и WinXP предупредит о непроше- |
|
|
|
|
|
||||||||||||
сов делают свои произведения полиморфными. |
ном госте. Одно плохо - 30% производителей не |
|
|
|
|
|
|
|
|
|
||||||||
Очевидно, что нет шифра, который сам себя расшиф- |
слишком утруждают себя сертификацией, а зря. Воз- |
|
|
|
|
|
|
|||||||||||
ровывал бы. Но производители процессоров облегчи- |
|
вращаясь же к Линуксу, следует отметить, что некото- |
|
|
|
|
|
|
||||||||||
ли эту задачу, введя команды, которые не влияют на |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
ход исполнения программы, - nop, xor AX 0, mov AX |
Tips&Tricks |
|
|
|
|
|
|
|||||||||||
AX и прочие. Если эти команды разбрасывать по де- |
|
|
|
|
|
|
||||||||||||
шифратору случайным образом, то в нем не останет- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ся постоянных последовательностей. В качестве же |
|
Не знаю ни одного человека, |
дольше :))!? Вставлять подобные |
|
|
|
|
|
||||||||||
метки, например, можно использовать имя файла, |
|
который хотя бы однажды ис- |
символы лучше всего через ме- |
|
|
|
|
|
||||||||||
|
пользовал такие шрифты, как |
ню Вставка -> Символ. Затем |
|
|
|
|
|
|||||||||||
шифрованное строкой пробелов. Механизм, которым |
|
|
Webdings, Wingdings è ò.ï. Îä- |
можно увеличивать до |
любого |
|
|
|
|
|
||||||||
вирус проверяет файл, можно использовать для пост- |
|
нако эти шрифты могут быть |
размера. Правда, размер шриф- |
|
|
|
|
|
||||||||||
|
очень полезны. Например, од- |
та в Ворде ограничен кеглем 72, |
|
|
|
|
|
|||||||||||
роения антивируса, но это не сильно беспокоит виру- |
|
|
|
|
|
|
||||||||||||
|
нажды на работе (я работаю |
но это легко исправить, введя |
|
|
|
|
|
|||||||||||
смейкеров - антивирус можно написать всегда, есть |
|
инженером-программистом на |
вручную нужный размер прямо в |
|
|
|
|
|
||||||||||
даже такая теорема, поэтому зачем париться? Если |
|
заводе) меня попросили напи- |
поле выбора. Просмотри все эти |
|
|
|
|
|
||||||||||
|
сать объявление "Не курить!" с |
шрифты, в них есть символы на |
|
|
|
|
|
|||||||||||
вирус будет просто модифицировать файлы, то эта |
|
соответствующим знаком. |
все случаи жизни. |
|
|
|
|
|
|
|
|
|
|
|
|
|||
подлянка ничего не даст :). В любом дистрибутиве |
|
Благодаря этим шрифтам, не |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
выходя из Ворда, я сделал объ- |
Иван Скляров |
|
|
|
|
|
|
|
|
|
|
|
|
||||
Linux присутствуют средства борьбы с таким произ- |
|
явление за несколько секунд, а |
Ведущий |
|
рубрики |
|
|
|
|
|
||||||||
волом. Во-первых, естественно, это разграничение |
|
сколько бы это заняло времени, |
|
|
|
|
|
|
||||||||||
|
если бы я, например, начал ри- |
Tips&Tricks Èâàí |
Скляров |
|
|
|
|
|
||||||||||
прав доступа, ядро в любой Unix-системе не даст ви- |
|
|
|
|
|
|
||||||||||||
|
совать знак в каком-нибудь Corel |
(Sklyarov@real.xakep.ru) |
|
|
|
|
|
|
|
|||||||||
русу изменять файлы, к которым у него нет доступа |
|
Draw (он бы только загружался |
Присылай мне свои трюки и |
|
|
|
|
|
||||||||||
по записи. Во-вторых, есть такие вещи, как rpm, sys- |
|
|
советы, |
и, возможно, |
|
òû |
|
|
|
|
|
|||||||
|
|
увидишь их на страницах ][. |
|
|
|
|
|
|||||||||||
log, logwatch, так и прочие шпионы и мониторы кон- |
|
|
В конце года самый актив- |
|
|
|
|
|
||||||||||
трольных сумм файлов. И опять-таки в Linux’е боль- |
|
|
ный участник получит 100$. |
|
|
|
|
|
||||||||||
|
|
Редакция журнала и веду- |
|
|
|
|
|
|||||||||||
шинство программ устанавливается через rpm, так |
|
|
щий рубрики не несут от- |
|
|
|
|
|
||||||||||
как это удобно абсолютно всем, кроме создающим |
|
|
ветственности за |
советы, |
|
|
|
|
|
|||||||||
|
|
которые |
читатели |
äàþò |
|
|
|
|
|
|||||||||
подлянки в лице вирусов. Достаточно набрать |
|
|
|
|
|
|
|
|||||||||||
|
|
друг другу ;). |
|
|
|
|
|
|
|
|
|
|
|
|
||||
# /bin/nice -n 19 rpm —verify —all, таким образом, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
можно увидеть, какие программы были изменены. В- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
третьих, грамотные пользователи проводят регулярный |
рые утилиты тоже грешат проникновением в ядро для |
|
|
|
|
|
|
|||||||||||
backup системы. Надеюсь, ты не исключение? :) Со |
сбора системной информации. С точки зрения адми- |
|
|
|
|
|
|
|||||||||||
всем этим действительно сложно что-либо поделать. |
на, загрузку «левых» модулей ядра можно предотвра- |
|
|
|
|
|
|
|||||||||||
Правда, если вирус себя долго не проявляет, то есть |
тить, если при компиляции выключить поддержку мо- |
|
|
|
|
|
|
|||||||||||
шанс резервного копирования зараженных программ. |
дульности и поддержку proc. Если не сделать послед- |
|
|
|
|
|
||||||||||||
Это все можно обойти, только включив в код вируса |
него, то есть возможность вкрутить модуль, используя |
|
|
|
|
|
||||||||||||
средства получения прав рута. А уже с правами root’а |
/proc/kcore è /porc/ksyms. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
выполняется любая программа с установленным SUID. |
Подведем итоги |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Проблема лишь в получении прав суперпользователя: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
использовать уже известную дыру - не решение, так |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
как почти наверняка в заражаемой системе она |
Что же мы имеем в итоге? Хороший вирус должен |
|
|
|
|
|
|
|
||||||||||
будет уже прикрыта. Но, однажды получив root систе- |
содержать дешифратор, механизм заражения, меха- |
|
|
|
|
|
||||||||||||
мы, вирус может все. Первым делом ему надо непре- |
|
низм взлома и подчистки логов, механизм обмана |
|
|
|
|
|
|
||||||||||
менно установить SUID для зараженной и заражаемой |
сторожей, деструктивные элементы, пермутатор де- |
|
|
|
|
|
||||||||||||
|
|
|
шифратора и шифратор. Даже этот довольно длин- |
|
|
|
|
|
|
Полиморфный - это вирус, состоящий из |
ный перечень обходит, к счастью (или сожалению?), |
|
только самых распространенных и простых сторо- |
||
двух частей: дешифратора и рабочей час- |
||
жей, которые все продвинутые челы, скорее всего, |
||
ти. Часто используют простые шифро- |
||
обновили более свежими собратьями. Если и пи- |
||
вальные алгоритмы, так как они быстрее |
||
сать вирус, то писать желательно только на ассемб- |
||
- подойдет и простой XOR с именем фай- |
||
лере, оптимизируя все необходимое по размеру. |
||
ла (или другим паролем). Соответствен- |
||
Сложновато, да? Вот именно по этой причине виру- |
||
но, и дешифратор в таком вирусе - поли- |
||
смейкеры если и пишут что под Unix, то только при- |
||
морфный, так как в теле хорошего вируса |
||
митивных сетевых червей и троянов. Дей- |
||
не должно присутствовать ни одной по- |
||
ствительно опасных, классических виру- |
||
стоянной последовательности байтов. |
||
сов нет, ибо Пингвин Тукс - крепкий оре- |
||
|
||
|
шек, что и требовалось доказать. |
5 Западло... 6 Кодинг 7 JoyStick 8 Юниты 9 Quit> 59
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
E |
|
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
d |
|
|
||
|
F |
|
|
|
|
|
t |
|
|
|
P |
|
|
|
|
|
|
|
i |
|
|
D |
|
|
<Page 060> |
|
||||||
|
|
|
|
|
|
|
r |
|
||
|
|
|
|
|
NOW! |
o |
|
|||
|
|
|
|
BUY |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
w Click |
to |
Юниксоид |
||||||||
|
||||||||||
|
|
|
|
|
m |
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
o |
|
|
|
. |
|
|
|
|
.c |
|
|
||
|
|
p |
|
|
|
g |
|
|
|
|
|
|
|
df |
|
n |
e |
|
|
||
|
|
|
|
-xcha |
|
|
|
|
|
X В СТИЛЕ ][
Toxa (Toxa@real.xakep.ru)
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
ХАКЕР\¹43\Июль\2002P |
|
|
|
|
|
i |
|
|||
|
D |
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
|
w Click |
|
|
|
|
|
|
|||
X в стиле |
|
|
|
|
|
|
m |
|||
|
w |
|
|
|
|
|
|
|
o |
|
|
w |
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Ставим и настраиваем систему X-Window!
Ты любишь консоль? Конечно, любишь. Это гибкий, удобный инструмент управления системой. Бесспорно, vi, lynx и BitchX - самые удобные программы на свете, а
bash - самая удобная на свете оболочка. Но так думают далеко не все. И правильно делают, потому что, даже учитывая все вышесказанное, постоянно чувствовать себя живущим в семидесятых годах (время зарождения Unix'а), в то время как в соседских окнах вовсю щелкают мышкой и превозносят GUI & Point'n'click interface, - та еще радость. А выход между тем простой - плюнуть в эти окна, задвинуть
шторы и поставить на свою машину X-Window system (или, по-нашему, «иксы»). Этим увлекательным занятием я и предлагаю тебе заняться прямо сейчас.
Ликбез
Но для начала - справка для самых маленьких. Как известно, в операционной системе Windows GUI (то бишь Graphical User Interface) встроен прямо в ядро, что, безусловно, повышает производительность графической оболочки (так как графическая система постоянно работает на уровне ядра, ибо в этом ядре заключена), но резко понижает стабильность системы (крах отдельного приложения вызовет крах всей системы, если же говорить об WinNT - там все несколько иначе, система, может, и останется жить, но поглю- чит вдоволь :). В Unix-системах же графическая оболочка (X-Window) запускается и работает как отдельное приложение, то есть на пользовательском уровне. Это, конечно, медленнее, чем маздайный GUI (чтобы совершить операцию, скажем, по созданию нового окошка, процессу нужно обратиться к ядру, с помощью системного вызова, для создания окна, перейти в контекст ядра и затем снова вернуться в пользовательский режим), так что не жди от наворо- ченных графических оболочек типа KDE или GNOME такой же быстроты работы, как GUI в виндах. Зато - и это несомненный плюс - ни одно графическое приложение никоим образом не может повесить систему, т.к. ты всегда можешь убить иксы (для системы они - лишь отдельный процесс, которых много) и тут же перезапустить их, случись что нехорошее. Ты спросишь, а как все это дело управляется? А управляется это приложением под названием X-сервер, он отвеча- ет за быстроту действий, прорисовку окон, взаимодействие с видеокартой и т.п. Так что под словами «убить иксы» я как раз и подразумевал убиение X- сервера. Наконец, почему - «сервер»? Этот вопрос корнями уходит в историю Unix'а. Как ты знаешь, это ведь в первую очередь сетевая система, и в период ее развития, когда встал вопрос о графическом пользовательском интерфейсе, было решено и здесь не отходить от сетевой концепции, реализовав его в рамках «сервер-клиент»: на мощном центральном компьютере устанавливался X-сервер, а на несколько терминалов (т.е. workstations) - только клиенты. И вся основная работа по обсчитыванию прорисовки графики и т.п. выполнялась на главном сервере, а клиентам отсылался по сети лишь результат на их дисплеи, что позволяло рабочим станциям тратить минимум ресурсов на GUI, а серверу - обслуживать сразу несколько машин. У тебя же сервер и клиент как бы реализованы на одной тачке, но понятие "X-сервер" так и осталось.
Установка
Но хватит, завязываем с теорией, переходим к практике. Ниже я буду говорить только об одном, самом популярном X-сервере, Xfree86. Это известный сервер с открытыми исходными кодами, распространяющийся бесплатно, поэтому он по дефолту включен в дистрибутивы бесплатных Unix-like систем (Линукса и прочих *BSD). Конечно, есть и несколько коммерческих X-серверов, может быть даже более мощных и удобных, например, Accelerated X и прочие, но их я касаться не буду. Ставим XFree86 и точка, ибо при всем богатстве выбора другой альтернативы нет :). Если у тебя живет какой-нибудь Линукс, то 90%, что иксы уже установлены на твоей машине. Если же у тебя не просто Линукс, а такая отборная попсятина, как RH (RedHat) или MDK (Mandrake), то, бьюсь об заклад, у тебя к тому же в качестве графической оболочки установлено одно из двух: либо KDE, либо GNOME. Впрочем, это правильно, т.к. все остальные не выдерживают никакой критики (поверь, я юзал и WindowMaker, и BlackBox, и прочие графические чу- да), ведь если уж и сидеть в иксах, то в иксах нормальных, а всяким ужасам периода палеозоя типа xvwm есть только одно оправдание - мало места на диске или очень редкое использование (на сервере, скажем). Поэтому для Linux-юзеров процесс установки иксов не так актуален (дистрибутивы регулярно обновляются, соответственно, в последнем дистрибутиве присутствует самая последняя версия Xfree86, а ставить ее проще всего, указав галочку напротив пункта "Install X-server" в красочном меню графического инсталлятора). Чего нельзя сказать о пользователях *BSD-систем. Учитывая все вышесказанное, подведу итог: объектом установки иксов у нас будет FreeBSD. Тем более, в последней Release-версии (4.5) до сих пор во время инсталляции предлагается установка далеко не самого свежего Xfree86 3.3.6, от которого уже попахивает плесенью. Та же история и у других систем ветки *BSD - OpenBSD и NetBSD. Что и неудивительно - это серверные системы, а на сервере графическая среда нужна отнюдь не в первую очередь, вот к ним и внимание соответствующее. Наконец, ставить более новую версию Xfree86 нужно хотя бы по одной причине: если твоя видеокарта не старше полутора-двух лет, ты ее в списке поддерживаемого оборудования просто не найдешь. Идем на http://www.xfree86.org и скачиваем последнюю версию xfree, коя на сегодняшний день - 4.2.0. Обрати внимание, что на Ftp-шнике доступны версии отдель-
но для Linux'а и разных *BSD-систем. Не пренебрегай этим фактом и качай то, что тебе подходит, в нашем случае - версию для FreeBSD, она представлена дюжиной .tgz-пакетов, которые ты должен скачать все, также не забудь оттуда же взять инсталляционный скрипт (install.sh). Качать придется в сумме около пятидесяти мегабайт, так что запасись терпением. На изумленные возгласы: «Чем качать, у меня же Фряха, голая консоль и больше ничего!», я отвечу - man wget. На крайняк, можешь скачать xfree в Винде своим любимым download-менеджером: ведь Free- /Open-/NetBSD Fat-разделы видит. Да, нужно ли говорить, что при установке бзди ты ответил "no" на вопрос об установке X-сервера Xfree 3.3.6? Скачали, скинули все куда-нибудь в /tmp. А затем просто запускаем инсталляционный скрипт:
#./install.sh
После чего побежит процесс установки, система проверит, стоит ли у тебя предыдущая версия Xfree86, если да, то поинтересуется, сохранять ли настройки, и т.п. Так как у нас ничего не стояло :), то тупо отве- чаем 'y' на все задаваемые вопросы.
Настройка
Поставили. Теперь осталось самое главное - ПРАВИЛЬНО сконфигурить иксы. Не пугайся, все не так сложно, как кажется, а о подводных камнях я расскажу. Так что просто перемещаемся в /usr/X11R6/bin/ и запускаем оттуда на выбор одну из двух конфигурационных программ: xf86config - консольную или xf86cfg - графическую. Цель обеих одинакова - сформировать и записать конфигурационный файл XF86Config, просто первая делает это, последовательно задавая тебе вопросы в консоли, а вторая - запускает графическую оболочку, активизирует в ней твою мышь и дает возможность, не напрягаясь, сконфигурить иксы буквально несколькими щелчками мыши. Да, файл XF86Config еще можно просто написать руками с нуля в своем любимом текстовом редакторе, но это уже для эстетов. Думаю, понятно, что мы будем использовать... правильно, первую, консольную программу :). На то есть несколько причин: вопервых, она полнее и подробнее, во-вторых, если у тебя стоит OpenBSD, то у тебя возникнут проблемы с мышкой уже на этапе конфигурирования, так как в этой «самой пуленепробиваемой» системе за мышь отвечает один драйвер wsmouse, и если он у тебя активизирован в консоли (раскомментирована соответствующая строчка в /etc/rc.conf), то ты обломишься -
60 Ньюсы 1 Феррум 2 PC_Zone 3 Взлом 4 Юниксоид
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
||
|
|
|
C |
|
E |
|
|
|
|
|
|
C |
|
E |
|
|
|
||||||
|
|
X |
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
||||||
|
- |
|
|
|
|
|
d |
|
|
- |
|
|
|
|
|
d |
|
||||||
|
F |
|
|
|
|
|
|
|
t |
|
F |
|
|
|
|
|
|
|
t |
|
|||
P |
D |
|
|
|
|
|
|
|
|
i |
|
<PageP |
061> |
|
|
|
|
i |
|
||||
|
|
|
|
|
|
|
|
|
r |
D |
|
|
|
|
|
|
|
|
|
r |
|||
|
|
|
|
|
|
NOW! |
o |
|
|
|
|
|
|
NOW! |
o |
||||||||
|
|
|
|
|
BUY |
|
|
|
|
|
|
|
BUY |
|
|
||||||||
|
|
|
|
to |
|
|
|
|
|
|
|
|
|
|
to |
|
|
|
|
|
|
||
w Click |
|
|
|
|
|
|
m |
w Click |
|
|
|
|
|
|
m |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
w |
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
w |
|
|
|
|
|
|
|
|
o |
|
|
|
. |
|
|
|
|
g |
.c |
|
|
. |
|
|
|
|
g |
.c |
|
||||||
|
|
p |
|
|
|
|
|
|
|
|
|
p |
|
|
|
|
|
|
|
||||
|
|
|
df |
|
|
n |
e |
|
|
|
|
df |
|
|
n |
e |
|
||||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
Внимание! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
С августа на страницах журнала появляется |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
UnixFAQ. Поэтому, если у тебя есть какие- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
либо вопросы или неясности касательно |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*nix'ов, начинай мылить уже сегодня на |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
unixfaq@real.xakep.ru |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
в иксах |
мышь работать |
откажется. И потом, кстати, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
âûõ, |
ты можешь увидеть то самое "Out of range", а ес- |
|
|
|
тов тоже - явно маловато :), так что в самом нача- |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
иксы по-любому не запустятся, выпав с ошибкой |
ли даже все и нормально, то результатом запуска ско- |
|
|
|
ле (после полей Identifier, Device и Monitor) пропи- |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
device "busy". Такой вот выбор - либо тут мышь, либо |
рее всего |
будет ужасное разрешение экрана (у меня |
|
|
|
сываем строчку: DefaultColorDepth 24, что означа- |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
там. Наконец, в любом случае нам придется получен- |
было 1800x1600 :) при не менее ужасной частоте (60 |
|
|
|
ет установку глубины цвета по умолчанию 24 бита. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
ный файл XF86Config править руками. |
Гц) с каким-то совершенно фантастическим количест- |
|
|
|
|
Тут же, справившись с цветами, смотрим на ту |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Итак, запустили /usr/X11R6/bin/xf86config, и програм- |
вом цветов, также, возможно, не будет работать мыш- |
|
|
|
подсекцию "Display", где объявлена эта глубина - |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
ма пошла задавать какие-то вопросы. Я не буду объ- |
ка (не по той причине, что в OpenBSD, там бы иксы |
|
|
|
24 (Depth 24), и после оной строчки прописываем |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
яснять их все, т.к. на вопросы типа: какая у тебя |
просто не запустились). Но все это поправимо. |
|
|
|
разрешение, которое хотим видеть, следующим |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
мышь, какая у тебя видеокарточка (выбрать из спис- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
образом: Modes |
||||||||||||||||||||||||||||||||||||||||||
|
ка) или какой язык предпочитаешь, думаю, ты смо- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"1024x768". ×òî îçíà- |
||||||||||||||||||||||||||||||||||||||||||
|
жешь ответить сам. К тому же большинство из вопро- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
чает - установить для |
||||||||||||||||||||||||||||||||||||||||||
|
сов имеет довольно разумные ответы «по умолча- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
глубины цвета 24 бита |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
нию», которые - если ты не перепахал |
свою систему |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
разрешение 1024х768 |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
вдоль и поперек - должны подойти. Отмечу лишь сле- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
точек (поставишь то, |
||||||||||||||||||||||||||||||||||||||||||
|
дующие: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
которое тебе нужно). |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
- Секция Xkb, на вопрос «Хотите ли вы включить под- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
А так как данная глу- |
||||||||||||||||||||||||||||||||||||||||||
|
держку xkb», отвечаешь "yes", и затем в подразделах |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
бина у нас проставле- |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
выбираем из предложенного списка варианты пере- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
на по умолчанию, то |
|||||||||||||||||||||||||||||||||||||||||||
|
ключения раскладки клавиатуры и т.п. Опять-таки тут |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
при старте иксы будут |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
все на твой вкус, единственное, что не советую, так |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
запускаться в разре- |
||||||||||||||||||||||||||||||||||||||||||
|
это занимать в подразделе XkbOptions какое-либо |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
шении 1024х768 с |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
действие за сочетанием клавиш Ctrl+Alt (а такой ва- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
глубиной цвета 24 би- |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
риант на выбор имеется), т.к. они задействованы для |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
та. Красота! Отмечу |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
|
переключения консолей в иксах на любую другую: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
тут же, что параметр |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
|
Ctrl+Alt+X (X-номер консоли). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Modes может в каче- |
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||
|
- Секция Monitor, если ты не нашел свой монитор в |
Правим под себя конфиг... |
|
|
|
стве аргументов иметь несколько различных час- |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
предлагаемом списке, а инструкция к нему давно по- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
тот (записывай их подряд, отделяя каждую в ка- |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
теряна, то могут возникнуть проблемы с определени- |
Открываем в каком-нибудь text editor'е (vi, emax, |
|
|
|
вычки), тогда ты сможешь переключаться между |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
ем ключевых параметров: HorizSync и VertRefresh (т.е. |
joe...) файл /etc/X11/XF86Config и начинаем его ре- |
íèìè. È, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
частота горизонтальной и вертикальной развертки). |
дактировать. Как видишь, это простой текстовый |
|
|
|
наконец, частота. Убивать глаза на 60-ти герцах - |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Предлагаю маленький хинт: выставить заведомо |
файл, для удобства разбитый на секции и снабжен- |
|
|
|
удовольствия мало, поэтому ищем секцию «Мони- |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
слишком большие (или слишком маленькие) значе- |
ный комментариями. |
|
|
|
тор» (Section "Monitor") и пишем туда три следую- |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
ния, а затем (см. ниже) попробовать запустить иксы. |
Во-первых, сразу проверь, что у тебя написано в |
щие строчки: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Некоторая часть граждан почему-то считает, что мо- |
крысиной секции (Section "InputDevice"). Поле |
|
|
|
HorizSync [диапазон]; VertRefresh [диапазон]; |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
нитор, получив неверные значения, обязательно взо- |
Identifier нас не интересует (можешь написать там |
|
|
|
ModeLine [значения]. Как ты можешь подобрать |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
рвется (ну или хотя бы сгорит ЭЛ-трубка ;) собствен- |
«Logitech Optical Cordless Mouseman» для своей |
|
|
|
первые два диапазона, я уже упоминал, а послед- |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
но, этот миф и послужил причиной создания много- |
двухкнопочной Mitsumi :), в поле Driver должно |
|
|
|
няя строчка имеет формат типа "1024x768" 94.50 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
численных фобий и фантазий на тему «боюсь настра- |
стоять "mouse" (если у тебя мышка, конечно ;), а |
|
|
|
1024 1072 1168 1376 768 769 772 808 +hsync |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
ивать иксы, вон сосед ставил линукс, и у него мони- |
вот следующее поле важно. По логике оно должно |
|
|
|
+vsync, где первые два аргумента - разрешение и |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
тор сгорел». На самом же деле, если только у тебя |
выглядеть так: Option "Protocol" "PS/2", так оно, |
|
|
|
частота, а остальное - рабочие характеристики |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
моник не из исторического прошлого, он на неверные |
кстати, и в Линуксе выглядит. Но в случае |
|
|
|
твоего монитора. Выставь их в соответствии с |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
значения всего лишь ругнется табличкой «Out of |
FreeBSD эта строчка как раз повод к тому, чтобы |
|
|
|
твоим вкусом, единственное, что не советую, ста- |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
range», где заодно высветятся границы значений нуж- |
мышь в иксах не работала. А чтобы все было |
|
|
|
вить частоту ниже 85 Гц - это вредно для глаз. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
ных нам параметров для этого монитора. |
о'кей, меняем запись "PS/2" на "auto", т.е. в ре- |
|
|
|
Все! Иксы отконфигурированы, запускай теперь |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Тут-то ты и не теряйся, а записывай их на бумажку :). |
зультате будет: Option "Protocol" "auto". Все, |
|
|
|
тот же xinit и любуйся, как все изменилось с мо- |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Итак, процедура конфигурирования закончена, и фи- |
мышь прикрутили. |
|
|
|
мента прошлого запуска иксов :). Если X-сервер |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
нальным аккордом будет подтверждение внесения |
Далее - решаем проблему с разрешением и цве- |
|
|
|
|
|
|
запускаться откажется и упадет с ошибкой, про- |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
всех изменений записью их в главный файл: «Do you |
том. Для этого нужно глянуть в секцию Screen |
|
|
|
верь еще раз конфиг. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
want to record changes in /etc/X11/XF86Config?». Â îò- |
(Section "Screen"), где ты увидишь несколько под- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
|
вет вводим, разумеется, 'y'. Но это еще не все. Начи- |
секций "Display" (SubSection "Display") с прописан- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
|
нается самое интересное. Если ты запустишь X-сер- |
ными глубинами цвета - от 1 до 24. Думаю, моно- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
|
вер (командой xinit), то что ты увидишь? Ну, во-пер- |
хромный дисплей тебя не устраивает, да и 16 цве- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 Западло... 6 Кодинг 7 JoyStick 8 Юниты 9 Quit> 61
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|||
|
|
|
C |
|
|
E |
|
|
|
|
|
C |
|
E |
|
|
|
|||||||
|
|
X |
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
||||||
|
- |
|
|
|
|
|
|
|
d |
|
- |
|
|
|
|
|
d |
|
||||||
|
F |
|
|
|
|
|
|
|
|
|
t |
|
F |
|
|
|
|
|
|
|
t |
|
||
P |
|
|
|
|
|
|
|
|
|
|
|
i |
|
ХАКЕР\¹43\Июль\2002P |
|
|
|
|
|
|
i |
|
||
D |
|
|
<Page 062> |
|
|
|
|
|
|
r |
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
r |
D |
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
NOW! |
o |
|
|
|
|
|
NOW! |
o |
|||||||||
|
|
|
|
|
|
BUY |
|
|
|
|
|
|
BUY |
|
|
|||||||||
|
|
|
|
|
to |
Юниксоид |
|
|
|
to |
|
|
|
|
|
|
||||||||
w Click |
|
w Click |
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
m |
|||||||||||||||
|
|
|
|
|
|
|
|
m |
|
|
|
|
|
|
|
|||||||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
o |
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
|
g |
.c |
|
. |
|
|
|
|
g |
.c |
|
||||||
|
|
p |
|
|
|
|
|
|
|
|
|
|
p |
|
|
|
|
|
|
|
||||
|
|
|
df |
|
|
|
n |
e |
|
|
|
df |
|
|
n |
e |
|
|||||||
|
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
|||||
|
|
|
X В СТИЛЕ ][ |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
Toxa (Toxa@real.xakep.ru) |
|
|
|
|
|
|
|
|
|
|
|
Эта волшебная буква «К»
Но это еще только полдела. Ты ведь X-server ставил не для того, чтобы на xterm'ы любоваться, верно? Правильно, поэтому еще нужно поставить какой-ни- будь Window Manager. Их сейчас, как грязи, но мое мнение об оболочках ты слышал: будем ставить только то, в чем нам удобно нормально работать. Ориентируясь на массового читателя, предположу, что 90% взирающих на эти строки - приверженцы либо Gnome, либо KDE. Мне больше по душе последний, кто думает иначе - ради Бога, я не собираюсь вас переубеждать. Но я буду описывать установку именно K Desktop Environment aka KDE :).
Идем на http://www.kde.org (или воспользуемся системой портов FreeBSD :) и качаем себе свеженькую версию КДЕ'шки. Я, как фанат свежего (пусть и глюч- ного :) софта, ставил себе KDE 3 - последнюю версию, но, возможно, ты остановишься на более стабильной KDE 2.2.2. Разницы при установке между ними никакой. Вуаля, выбрали на FTP Bsd-версию KDE и запустили закачку. Качать тут придется подольше, чем XFree86, полный дистрибутив (опять-таки раскиданный в несколько десятков пакетов) весит около 200 Мб, однако ты можешь взять только самое необходимое: qt (без него никак, на Qt-libs построен сам KDE), kdelibs (основные библиотеки), kdebase (говорит само за себя) и чего-то-там-еще (подробнее посмотри на сайте, там описано, что содержит каждый пакет и какие из них необходимы для установке KDE, а какие - опциональны). Я не парился и за ночь ска- чал все, что было :).
Что же выбрать? :)
Скачав, кидаем все в отдельную папку и натравливаем команду pkg_add на все пакеты в данном каталоге: pkg_add *. Программа pkg_add (добавления пакета) сама проверит требуемые зависимости, выстроит пакеты по очередности их установки (так, чтобы все зависимости удовлетворялись) и, если надо, скажет, что для такого-то пакета требуется другой. В таком случае тебе всего лишь надо будет опять слазить на FTP, откуда ты скачивал KDE, и взять недостающий пакет. Есть и другой вариант - добавлять пакеты ручками по одному :). В любом случае, если для установки какого-либо пакета потребуется
иной (о, эти знаменитые никсовые зависимости! :), |
|
|
то программа pkg_add будет пытаться найти его в |
|
|
текущем каталоге и, если найдет, установит сначала |
|
|
его, а если нет - выдаст знаменитое "failed depen- |
|
|
dences". После установки тебе будет выдано радост- |
|
|
ное «type 'startkde' to start KDE». Однако, если ты |
|
|
наберешь это ручками тут же в консоли, то ничего |
|
|
хорошего не произойдет, и KDE запускаться отка- |
|
|
жется. Что и неудивительно - X-server-то не запу- |
|
|
щен! О чем и будет сообщено. Есть выход: |
|
|
запустить xinit, а оттуда, из xterm'а, уже пустить KDE |
|
|
(startkde). Íî ýòî |
|
|
слишком извращенно, к тому же в KDE будет бол- |
|
|
таться консолька xterm'a, из которой КДЕ и запущен, |
|
|
стало быть, если ты эту консольку прибьешь, при- |
|
|
бьется и порожденный процесс (KDE). Поэтому так |
|
|
никто не делает. |
|
|
А делают проще. Со- |
|
|
здаешь в своем до- |
|
|
машнем каталоге |
|
|
ôàéë .xinitrc (touch |
|
|
~/.xinitrc) è â íåãî |
|
|
пишешь всего одну |
|
|
строчку: exec |
|
|
startkde, что означа- |
|
|
ет - выполнять ко- |
|
|
манду startkde (т.е. |
|
:) |
запуск КДЕ) при за- |
|
неплох |
пуске X-сервера. |
|
|
|
|
|
Все! Теперь, при на- |
|
усилий |
áîðå startx (èëè xinit, |
|
|
|
|
|
что непринципиаль- |
|
|
но), у тебя запустит- |
|
Результат |
ñÿ è X-server, è KDE |
|
|
|
|
|
с теми настройками, |
|
|
естественно, что мы |
|
|
определили в файле |
|
|
XF86Config. |
|
|
|
|
|
Теперь осталось только настроить сам KDE под себя, т.к. многое в нем проставлено по умолчанию не лучшим образом и требует тюнинга. Но это уже совсем другая история.
Tips&Tricks
В папке Windows\Web находятся различные файлы, отвечающие за |
deskmovr.htt - отвечает за оформление активного рабочего стола; |
оформление Windows. В Win9x это файлы с расширением .htt, кото- |
wvleft.bmp - отвечает за графическое оформление папки Windows |
рые можно открыть с помощью Notepad. Вот список самых интерес- |
(можно открыть с помощью Paint). |
ных файлов: |
wvline.gif и wvlogo.gif - отвечают за графическое оформление папок. |
folder.htt - отвечает за оформление папок Windows; |
Дополнительно: если файл folder.htt скопировать в папку Windows\ и |
mycomp.htt - отвечает за оформление папки "Мой Компьютер"; |
Windows\System\, то Win9x больше не будет задавать лишних вопро- |
printers.htt - отвечает за оформление папки "Принтеры"; |
сов при их открытии. |
controlp.htt - отвечает за оформление папки "Панель Управления"; |
|
efault.htt - отвечает за оформление папок "Temporary Internet Files", |
Поярков Илья (Terabyte) / NTD3k, www.cnt.ru/~wh, terabyte@bk.ru |
"Downloaded Program Files", "Subscriptions", "History", "Портфель"; |
|
safemode.htt - отвечает за оформление рабочего стола при ошибке |
|
Windows 98; |
Ведущий рубрики Tips&Tricks Иван Скляров (Sklyarov@real.xakep.ru) |
recycle.htt - отвечает за оформление папки "Корзина"; |
Присылай мне свои трюки и советы, и, возможно, ты увидишь их на |
shedule.htt - отвечает за оформление папки "Назначенные Задания"; |
страницах ][. В конце года самый активный участник получит 100$. |
nethood.htt - отвечает за оформление папки "Nethood"; |
Редакция журнала и ведущий рубрики не несут ответственности за |
dialup.htt - отвечает за оформление папки "Удаленный Доступ к Сети"; |
советы, которые читатели дают друг другу ;). |
|
|
62 Ньюсы 1 Феррум 2 PC_Zone 3 Взлом 4 Юниксоид
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
C |
|
E |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
- |
|
|
|
|
|
|
d |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
F |
|
|
|
|
|
|
|
t |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
|
|
||||
|
|
P |
|
|
|
|
|
|
NOW! |
o |
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
to |
BUY |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
w Click |
|
|
|
|
|
m |
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
.c |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
p |
|
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
df |
|
|
|
n |
e |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
|
|
|
X |
|
|
|
|
|
|||
|
|
|
|
- |
|
|
|
|
|
d |
|
||
|
|
|
|
F |
|
|
|
|
|
|
t |
|
|
|
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
r |
||
|
|
|
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
to |
BUY |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|
|
|
|||||
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
|
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
|
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
|
|
|
-x cha |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
C |
|
|
E |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
|
|
d |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
F |
|
|
|
|
|
|
|
|
t |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
D |
|
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
w |
|
|
to |
|
|
|
|
|
|
|
o |
Кодинг |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
P |
|
|
|
|
|
NOW! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
w Click |
|
|
|
|
|
|
|
|
o |
m |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
.c |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
p |
|
|
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
df |
|
|
|
n |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
ПРОСТЕЙШИЙ СКАНЕР РЕСУРСОВ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
Horrific aka Фленов Михаил (smirnandr@mail.ru) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
h |
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lp |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
îâ |
|||||
|
|
|
|
|
|
www.cydsoft.com/vr-online |
|
|
|
|
|
D |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ðñ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ñó |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
åð |
|
ðå |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
àí |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
é |
|
|
ñê |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
øè |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
åé |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ñò |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ðî |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ï |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
исать |
сканер расша |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ñüá íàï |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
òîê ïðî |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ñÿ ïî |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
личил |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
üíî óâå |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
íà |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
íü ñèë |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
òåìó |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ìÿ î÷å |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
èòü ýòó |
|
||||||
|
|
|
|
|
|
|
|
 |
|
|
äíåå âðå |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
после |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ó |
÷òî |
хотел отлож |
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
я, потом |
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ивлялс |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
îâ. ß |
долго |
сопрот |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ãó, |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
þ ïðî |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
íûõ |
ресурс |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
леньку |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
èøó ìà |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
ðåí |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
îäíÿ |
ÿ íàï |
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
, è ñåã |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
держал |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
å íå âû |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
èê óæ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
íè. Íî |
|
ìîé ÿù |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
урсов. |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
àëî îñå |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
íåð ðåñ |
|
|
|
|||
|
|
|
|
|
|
íà÷ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ü â ñêà |
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
вратит |
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ì ïðå |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
åøü áåç |
пробле |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
þ òû |
ñìîæ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
e |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
котору |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.com/vr-onlin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.cydsoft |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ail.ru www |
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
nandr@m |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
àèë smir |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
íîâ Ìèõ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Horrific aka Ôëå |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
64
Зачем искать |
|
|
ресурсы компа (директории, |
||||||||
|
то такое расшаренные ресурсы? Это любые |
||||||||||
|
|
|
|
доступ по сети. Если |
|||||||
|
диски или принтеры), к которым открыт свободный |
||||||||||
|
|
чаще всего от- |
|||||||||
×êîìï |
подключен к локальной сети, то для обмена файлами |
||||||||||
|
|||||||||||
|
ь диск или папку. Ну а если комп |
имеет еще и выход в Инет, |
|||||||||
крывают какой-нибуд |
|
|
|
|
|
|
- |
||||
|
|
|
|
ься из любой точки вселенной, если не приня |
|||||||
то к этим ресурсам можно пробрат |
|
|
|
|
|
|
|||||
|
|
|
|
. |
|
|
|
|
|
|
|
òû |
никакие меры предосторожности |
|
|
|
|
|
ü» |
||||
Очень много |
начинающих ламеров в сети твоего прова |
не отключают «Вход в сет |
|||||||||
|
паролем. Сейчас таких |
||||||||||
|
|
ресурсы, не защищенные |
|||||||||
и при этом имеют расшаренные |
|
|
|
||||||||
|
и окна уже не такие дырявые, и че- |
||||||||||
ламеров становится уже намного меньше (да |
|||||||||||
|
|
|
|
|
|
||||||
|
|
|
üíî äóåò), |
но такое чудо можно еще встретить практически |
|||||||
ðåç íèõ óæå íå òàê ñèë |
|
|
|
|
|
|
|
||||
у любого крупного прова. |
|
|
|
|
|
|
ü èõ âðó÷- |
||||
|
|
|
ься, у любого |
прова есть куча IP адресов, и перебират |
|||||||
Как можно догадат |
|
|
|
|
|
|
ü- |
||||
|
|
|
|
|
|
|
ь процесс поиска испол |
||||
ную достаточно |
сложное дело. Чтобы автоматизироват |
|
|
|
|||||||
|
|
. Простейший вариант такого скане- |
|||||||||
|
|
ьные сканеры шаровых ресурсов |
|
|
|
|
|
||||
зуют специал |
|
ü. |
|
|
|
|
|
|
|||
ра нам и предстоит сегодня написат |
|
|
|
|
|
|
|
рытие |
скана |
|
|
|
|
|
|
|
|
. |
||
Îòê |
|
|
|
|
|
|
|
|
|
|
|
||
Ï |
осле заполнения структуры нужно открыт |
ь процесс сканирования |
|||||||||||
|
|
|
|
со следующими па- |
|||||||||
|
|
Для этого существует |
функция WNetOpenEnum |
||||||||||
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
||||
|
|
раметрами: |
|
|
|
|
|
|
|
. |
|||
|
|
|
|
|
|
|
|
|
|
|
_GLOBALNET |
|
|
|
|
|
|
. Здесь снова указываем RESOURCE |
|
|
|||||||
|
ь сканирования |
|
|
|
|
|
|
|
|
_ANY. |
|||
1. Област |
|
|
|
|
|
|
|
|
|
|
|
||
2. |
Тип сканируемых |
ресурсов. Снова указываем все подряд |
- RESOURCETYPE |
||||||||||
|
|
|
подряд, |
||||||||||
ь, какие ресурсы надо |
|
|
ь. Если нужно все |
||||||||||
3. |
Здесь нужно |
|
перечислят |
|
_CONNECTABLE - |
||||||||
указат |
|
|
|
|
|
|
|||||||
то просто укажи 0. |
Возможно также значения |
RESOURCEUSAGE |
|
|
|||||||||
|
|
|
. |
|
|
||||||||
подключаемые |
|
|
|
_CONTAINER - хранимые |
|
|
|||||||
èëè RESOURCEUSAGE |
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
. |
|
|
|
|
|
|
. |
4. Структура, которую мы заполнили |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
ься в дальнейшем |
||||
5. Переменная типа THandle, которая будет |
использоват |
|
|
|
|
||||||||
|
|
|
|
|
|
|
|||||||
|
|
ление |
øàð |
|
|
|
|
|
|
|
ü ê |
||
|
еречис |
|
|
|
|
|
|
|
|
|
|
||
Ï |
осле того как мы открыли перечисление, |
можно смело приступат |
|||||||||||
|
|
||||||||||||
|
|
|
|
|
. Для этого я запускаю бесконечный цикл: |
|
|
||||||
|
|
его реализации |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
å |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
øåì âèä |
|
|
|
|
|
|
|
|
|
|
|
||||||
|
èì â ëó÷ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
name |
||||||
Оформ |
|
|
|
|
|
|
|
только |
один компонент TEdit (в свойстве |
|||||||||||||
а форме нам понадобится |
|
çíà- |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
я указал AddressEdit) |
и один TMemo (здесь в свойстве name оставим |
|||||||||||||||||||||
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
нужно должным образом |
||||||||||||||
Íчение |
по умолчанию Memo1). Все это дело |
|
||||||||||||||||||||
|
|
|
|
|
|
ü óâè- |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
ь». На рисунке 1 ты можеш |
|
||||||||
|
|
|
|
ь кнопочку «Просканироват |
|
|
|
|
|
|
|
|
||||||||||
оформить и добавит |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
деть мой вариант формы. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
В компоненте AddressEdit |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
ìû |
будем вводить |
адрес |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
сканируемого компа. Здесь |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
ìû |
|
будем |
|
|
|
ü |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
сканироват |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
только одну |
жертву. |
Åñëè |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ü |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ь, то сможеш |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
ты захочеш |
|
ь пример, |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
потом доработат |
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
чтобы он перебирал не- |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
сколько адресов подряд |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Íî |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-то списка |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
или из какого |
|
|
- |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ýòî óæå íà |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
твое усмотре |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ние, а для примера доста |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Íó à â êîì |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
точно и одного |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
поненте Memo1 мы будем |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ü |
найденные от- |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
отображат |
|
|
|
|
|||
Форма будущего сканера |
|
|
|
|
|
|
крытые ресурсы. |
|
|
|||||||||||||
Шкодим |
|
|
|
|
|
|
|
ü |
обработчик события OnClick для кнопки и на- |
|||||||||||||
Ò |
|
|
|
|
|
|
|
|
||||||||||||||
еперь нам нужно создат |
листинга 1. Если тебе листинг понятен, |
òî ìî- |
||||||||||||||||||||
писать в нем содержимое |
||||||||||||||||||||||
|
|
. Íó à åñëè |
у тебя возникли проблемы, |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
ь чтение статьи |
|
|
|
|
|
|
|
|
|
||||||||
æåøü |
заканчиват |
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
то давай |
разберем |
его подробнее |
|
NetContainerToOpen, |
которая объявлена у ме- |
|||||||||||||||||
В самом |
начале я заполняю структуру |
|
|
|
|
ïîëÿ: |
||||||||||||||||
. |
У нее нужно заполнить следующие |
|||||||||||||||||||||
ня в разделе var как тип NETRESOURCE |
|
|
|
|
|
|
|
|
|
- |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ь рамки перечисля |
|||||
|
|
|
|
|
.dwScope - в этом параметре нужно указат |
|
|
|
|
|||||||||||||
NetContainerToOpen |
|
|
|
|
_GLOBALNET, чтобы поиск происходил в сети. |
|||||||||||||||||
|
|
|
. Я указал RESOURCE |
|
|
|
|
|
|
|
|
ресурсов. Ты |
||||||||||
емых ресурсов |
|
.dwType - |
здесь указывается тип перечисляемых |
|||||||||||||||||||
|
|
|
|
|
_PRINT äëÿ |
|||||||||||||||||
NetContainerToOpen |
|
|
|
_DISK |
|
|
|
|
|
|
|
|||||||||||
|
|
|
ü |
|
|
|
|
|
для дисков, RESOURCETYPE |
|
|
|||||||||||
можешь |
|
|
RESOURCETYPE |
|
|
|
. |
|
|
|
|
|
|
|
||||||||
указат |
|
|
|
_ANY |
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
для всего подряд |
|
|
|
|
ü. |
|
|
|
|||||||
принтеров и RESOURCETYPE |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
.lpLocalName - ýòîò |
параметр нужно обнулит |
|
|
- |
|||||||||||||
NetContainerToOpen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
.lpRemoteName - здесь нужно указать NETBios имя сканируе |
|||||||||||||||||
NetContainerToOpen |
. Åñëè òû |
|
|
|
ь адрес, то в начале нужно прибавить |
|||||||||||||||||
мого компа |
|
|
|
|
указываеш |
|
|
|
|
|
|
|
|
|||||||||
или IP адрес |
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Если оно неизвестно, то |
|||||||
два слеша \\, что я и делаю |
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
ьца ресурса |
|
|
|
|
|
||||
|
|
|
|
|
.lpProvider - имя владел |
|
|
|
|
|
|
|
|
|||||||||
NetContainerToOpen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
ü nil. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
нужно указат |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
while TRUE do |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
begin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
end; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
. Åñëè îíà ìíå |
||||||
Внутри цикла я постоянно вызываю |
функцию WNetEnumResource |
|
|
|
|
|
|||||||||||||
|
|
|
ьтат не равен NO_ERROR), то я закрываю перечисление |
||||||||||||||||
возвращает ошибку (резул |
|
|
|
|
|
èç |
|
|
. |
|
|
|
|
|
|
||||
с помощью WnetCloseEnum |
и выхожу |
процедуры |
|
|
|
|
|
|
|||||||||||
У функции WnetEnumResource |
есть четыре параметра: |
|
|
|
|
|
|||||||||||||
|
|
|
|
|
что мы указывали в последнем пара- |
||||||||||||||
1. Здесь нужно указать ту же переменную, |
|||||||||||||||||||
. |
|
|
|
|
|
|
|||||||||||||
метре при открытии |
перечисления |
WNetOpenEnum |
|
|
|
|
ê âîç- |
||||||||||||
|
в которой хранится число необходимых |
||||||||||||||||||
2. Здесь нужно указать переменную, |
|
|
|||||||||||||||||
|
|
|
|
|
записано число |
||||||||||||||
|
. У меня это переменная EntriesToGet, в которой |
|
|
|
|
|
|||||||||||||
врату ресурсов |
|
|
|
|
|
|
|
|
|
в этой переменной будет не 2000, а ко- |
|||||||||
2000. После того как функция выполнится, |
|||||||||||||||||||
|
|
|
|
|
|
|
|
||||||||||||
личество реально открытых |
ресурсов. |
|
|
. Его длина должна быть до- |
|||||||||||||||
|
структур |
|
|
||||||||||||||||
3. Здесь должен быть массив |
TNetResource |
об открытых |
ресурсах. |
ß çà- |
|||||||||||||||
|
|
|
информации |
||||||||||||||||
статочной для хранения возвращенной |
|
ü |
èç |
2000 |
|||||||||||||||
|
|
|
|
|
|||||||||||||||
прашиваю максимум 2000 ресурсов, |
значит массив должен состоят |
|
|
|
|||||||||||||||
|
|
TnetResource ;). |
|
|
|
|
|
||||||||||||
структур (ResourceBuffer: |
array[1..2000] of |
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|||||
4. |
Размер массива, |
указанного в предыдущем параметре |
мы должны ука- |
||||||||||||||||
|
|
|
|
есть только |
один параметр, в котором |
||||||||||||||
Ó |
функции WnetCloseEnum |
|
|
при открытии |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
||||||||||
зать ту же переменную, |
что мы указывали в последнем параметре |
|
|
|
|
||||||||||||||
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
перечисления WNetOpenEnum |
|
|
|
|
|
|
|
|
|
|
|
|
òàòà |
|
|
|
|
|
|
|
|
||
Вывод резуль |
прошло успешно, то мы |
можем вывести полученную |
|||||||||
сли перечисление |
|||||||||||
|
|
|
öèêë îò 0 |
до количества воз- |
|||||||
информацию на экран. Для этого я запускаю |
|||||||||||
|
|
|
|
|
|
||||||
Е вращенных |
значений EntriesToGet: |
|
|
|
|
|
|
|
|
||
|
t do |
|
|
|
|
|
|
|
|
||
for i := 1 to EntriesToGe |
.lpRemoteName)); |
|
|||||||||
.Add(string(ResourceBuffer[i] |
|
|
|
|
|
|
|
||||
Memo1.Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Èìÿ ïî- |
||
Внутри цикла я добавляю в компонент Memo1 строку, |
содержащую имя ресурса |
|
|||||||||
|
|
|
|
lpRemoteName структуры |
|||||||
лученного открытого ресурса можно прочитать в переменной |
|||||||||||
|
.lpRemoteName |
||||||||||
. Единственное, что тут надо помнить - ResourceBuffer[i] |
|
ü |
|||||||||
ResourceBuffer[i] |
|
|
|
|
|
|
|
|
íàäî |
||
|
|
|
|
|
|
|
. Для этого |
написат |
|||
это не строка, поэтому этот параметр надо превратить в строку |
|
|
|
||||||||
String() и в скобках указать то, что мы хотим превратить в строку: |
|
|
|
||||||||
|
|
. |
|
|
|
|
|
|
|
|
|
|
.lpRemoteName) |
|
|
|
|
|
|
|
|
||
String(ResourceBuffer[i] |
|
|
|
|
|
|
|
|
|
||
nect |
|
|
|
|
|
|
|
|
|
|
|
Discon |
|
|
|
|
|
он пока сканирует только |
|||||
так, сканер шаровых ресурсов готов, правда, |
|||||||||||
|
|
|
|
в боевых |
|||||||
|
|
|
|
|
ьзование этой проги |
||||||
одну указанную |
-за этого испол |
|
|
üíî. Íî |
никто же |
||||||
машину. Из |
|
|
|
|
|
||||||
Èусловиях |
для поиска шар определенного |
прова нереал |
|
|
|||||||
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
не мешает тебе |
дополнить |
|
прогу перебором, |
âåäü ýòî íå |
|
так уж и сложно. |
|
|
Дополнительную |
èíôó, êàê |
|
всегда, |
можно найти на моем |
|
сайте |
www.cydsoft.com/vr- |
|
online. Там же можно найти и |
||
исходники этой проги после |
||
выхода |
журнала в |
ñâåò èëè |
можешь |
поискать на диске к |
|
этому номеру Х. |
|
|
|
|
|
|
P.S. У меня к тебе просьба, на |
||||
|
|
|
|
|
сто баксов :). Не пиши мне |
||||
Результат работы |
сканера ресурсов |
большие письма. После |
ïîÿâ- |
||||||
|
|
|
ления рубрики “Кодинг” меня |
||||||
|
|
|
|
|
|||||
ß íå â |
|
|
|
|
каждый день валят вопросами. |
||||
|
состоянии всем рассказывать то, о чем пишут книги. Я |
могу что-то подсказать, |
|||||||
где-то помочь, но не |
|
|
|
|
|||||
альны. Я отвечаю |
|
больше. А просьбы типа помоги написать прогу |
- вообще нере- |
||||||
только на те вопросы, где ответ займет |
несколько |
строчек. Целые |
|||||||
лекции по мылу я |
|
|
|
|
|||||
|
|
разводить не могу. Я бы с удовольствием |
помог всем, но это НЕ- |
||||||
ВОЗМОЖНО. Вас слишком |
|
|
|
||||||
вопрос на несколько |
|
много, а я один :(((. Поэтому лучше разбей свой |
|
||||||
|
|
|
|
|
|
|
|||
|
|
маленьких и спрашивай постепенно, а не все сразу. |
|
Листинг 1 |
|
|
|
|
||
procedure TForm1. |
|
|
|
|
||
var |
|
Button1Click(Sender: TObject); |
|
|
||
|
|
|
|
|
|
|
hNetEnum: THandle; |
|
|
|
|
||
NetContainerToOpen: |
NETRESOURCE; |
|
|
|||
ResourceBuffer: array[1..2000] of TNetResource; |
|
|
||||
i,ResourceBuf,EntriesToGet: DWORD; |
|
|
|
|||
begin |
|
|
|
|
|
|
NetContainerToOpen. |
|
|
|
|
||
|
|
dwScope:=RESOURCE_GLOBALNET; |
|
|||
NetContainerToOpen.dwType:=RESOURCETYPE_ANY; |
|
|
||||
NetContainerToOpen.lpLocalName:=nil; |
|
|
||||
NetContainerToOpen. |
|
|
|
|
||
|
|
lpRemoteName:= PChar(‘\\’+AddressEdit.Text); |
||||
NetContainerToOpen.lpProvider:= nil; |
|
|
|
|||
|
|
WNetOpenEnum(RESOURCE_ |
GLOBALNET, |
|
RESOURCETYPE_ANY, |
|
RESOURCEUSAGE_ |
|
|
||||
|
|
CONNECTABLE or RESOURCEUSAGE_ |
|
|||
|
|
@NetContainerToOpen, hNetEnum); |
CONTAINER, |
|||
|
|
|
|
|||
while TRUE do |
|
|
|
|
||
begin |
|
|
|
|
|
|
ResourceBuf := sizeof(ResourceBuffer); |
|
|
||||
EntriesToGet := 2000; |
|
|
|
|
||
if (NO_ERROR <> |
|
|
|
|
||
|
|
WNetEnumResource(hNetEnum, EntriesToGet, |
||||
begin |
@ResourceBuffer, ResourceBuf)) then |
|
|
|||
|
|
|
|
|
||
WNetCloseEnum(hNetEnum); |
|
|
|
|||
exit; |
|
|
|
|
|
|
end; |
|
|
|
|
|
|
for i |
:= 1 to EntriesToGet do |
|
|
|
||
Memo1.Lines.Add(string(ResourceBuffer[i]. |
|
|
||||
end; |
|
|
|
lpRemoteName)); |
||
|
|
|
|
|
|
|
end; |
|
|
|
|
|
|
Tips&Tricks
В составе Win9x есть очень полезная утилита hwinfo.exe, которая выкладывает ВСЮ информацию о железе и конфликтах. Если ее просто запустить, то она тебе ничего не выдаст, т.к. необходимо добавить ключ /ui. Запускать ее лучше через меню Пуск -> Выполнить -> hwinfo /ui
Поярков Илья (Terabyte) / NTD3k, www.cnt.ru/~wh, terabyte@bk.ru
Ведущий рубрики Tips&Tricks Иван Скляров (Sklyarov@real.xakep.ru)
Присылай мне свои трюки и советы, и, возможно, ты увидишь их на страницах ][. В конце года самый активный участник получит 100$.
Редакция журнала и ведущий рубрики не несут ответственности за советы, которые читатели дают друг другу ;).
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
|
X |
|
|
|
|
|
|||
|
|
- |
|
|
|
|
|
d |
|
||
|
|
F |
|
|
|
|
|
|
t |
|
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
||
|
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
|
to |
|
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|
|||||
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
|
. |
|
|
|
|
|
|
.c |
|
|
|
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
|
-x cha |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
|
||
w |
|
|
|
to |
|
|
|
|
o |
Кодинг |
|
P |
|
|
|
|
|
NOW! |
|
|
|
||
|
|
|
|
|
BUY |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
w Click |
|
|
|
|
|
o |
m |
|
|||
|
w |
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
.c |
|
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
|
||
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
-xcha |
|
|
|
|
|
||
|
|
|
|
ПРОГРАММИРОВАНИЕ ГРАФИКИ |
УЛУЧШЕННЫЕ СПРАЙТЫ
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
è |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
èê |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
àô |
|
|
|
|||
Horrific aka Фленов Михаил (smirnandr@mail.ru) |
|
|
|
|
|
|
|
|
|
|
å |
ãð |
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
íè |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
âà |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
ðî |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
ìè |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
àì |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
ãð |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
www.cydsoft.com/vr-online |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
ðî |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
û |
||||
Ï |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
éò |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ðà |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
å |
ñï |
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
íû |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
åí |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
ø |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
ó÷ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Óë |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ûå â |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
давать |
прост |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
îâû ñîç |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
, |
÷òî |
ìû ãîò |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
è äî |
такого уровня |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
ÿ óæå |
äîøë |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
òàåò, |
||||
Íàøè |
знани |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
îå, |
î íàì |
íå õâà |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
÷åã |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ственн |
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Åäèí |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
райтов |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
îâå ñï |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
åìêè |
íà îñí |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ò. Íî |
||||
|
|
|
íèè ä |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
льзова |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ти спрай |
|
|||||||
èñïî |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
остью |
вывес |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
àë, êàê |
ïîëí |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
êà ÷òî |
|
я показ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
è. Ïî |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
тинка |
|||
|
|
|
|
ачност |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
òàê ýòî |
прозр |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
íà êàð |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ü, |
|
áû îä |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
÷òî |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ачност |
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
е прозр |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
и вывод |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
òü ïð |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
льзова |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
чаще всего нужно испо |
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
âåðõ |
другой |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
àñü ïî |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
дывал |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
накла |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.com/vr-onlin |
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.cydsoft |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ail.ru www |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
nandr@m |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
àèë smir |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
íîâ Ìèõ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Horrific aka Ôëå |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Чтобы |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
который |
будет использоваться |
в качестве прозрачного |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. Значение цвета, |
Зеленый, Синий). У этой функ- |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
функцию RGB(Красный, |
|||||||||||||||||||
Теори |
|
|
|
|
|
|
|
|
|
|
|
|
íà ðè- |
указать цвет, я использую |
|
|
|
|
и синюю составляющую |
|||||||||||||||||
|
|
|
|
|
|
|
|
|
1 |
è |
|
|
|
|
|
красную, |
зеленую |
|||||||||||||||||||
Ä |
ÿ |
|
÷òî ó íàñ åñòü äâå |
картинки, |
показанные на рисунке |
|
|
|
ции три параметра, |
которые указывают |
|
|
|
|
|
|
- |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
опустим, |
|
|
|
|
|
|
|
õ |
|
|
|
|
|
|
|
îò 0 äî 255. |
Åñëè |
у тебя в качестве про |
||||||||||||||||||
|
2. Изображение |
первого рисунка мы уже использовали |
â íàøè |
. Каждая составляющая |
изменяется |
|
|
|
|
|
0, 0). |
|
||||||||||||||||||||||||
сунке |
|
. |
|
указать RGB(255, |
|
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
цвета |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
х в качестве |
фона и сегодня оно будет выполнять ту же |
функцию |
зрачности используется красный цвет, то нужно |
|
|
|
|
|
|
|
|
. |
|
|||||||||||||||||||||||
прога |
|
|
|
|
|
|
|
|
. Ïðè |
|
ýòîì íàì |
|
|
|
|
|
|
|
öâåò ñî |
значениями |
RGB(255, |
|
|
|
||||||||||||
Изображение на втором рисунке мы сегодня выведем |
поверх фона |
. |
|
|
|
Лично я люблю использовать |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
надо вывести только самолет, |
а цвет фона должен быть проигнорирован |
|
|
|
|
|
|
|
àíèÿ |
|
|
|
|
|
|
|
|
|
|
будет использоваться в ка- |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Уроки рисов |
|
и уже указан цвет, который |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ê |
артинка |
загружена |
|
|
|
|
|
. |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Теперь нам осталось только вывести ее на экран |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
честве прозрачного |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
выводили с помощью |
метода BltFast |
следующим |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Напоминаю, что картинку фона мы |
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
образом: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рисунок 1. Фон
Рисунок |
2. |
Прозрачная |
|
||
картинка |
|
|
|
|
|
Задача достаточно простая, но в |
|||||
то же время требует немного до- |
|||||
|
õ |
|
. |
 |
|
|
усилий |
|
|||
полнительны |
|
следу- |
|||
DirectDraw она решается |
|||||
|
|
||||
ющим образом: |
|
|
|
||
1. После загрузки изображения |
|||||
хность надо указать, ка- |
|||||
в повер |
|
|
|
- |
|
кой цвет должен быть прозрач |
|||||
íûì. |
|
|
|
|
2. Во время |
вывода поверхности с |
|
. |
|
|
что при выводе надо учитывать |
цвет прозрачности |
||
изображением на экран указать, |
|
|||
|
все, кроме цвета про- |
|||
|
хности изображения будет копироваться |
|
|
|
При этом из повер |
|
|
|
|
|
. |
|
|
|
зрачности, т.е. только самолет |
|
|
|
|
одинг |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
||
Øê |
|
|
|
|
|
|
описанный |
в прошлом номере |
Х, сейчас мы его подкоррек |
||||||||||||||||||
Ç |
агружай пример, |
|
примеров, |
потому что они |
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
. Я больше не буду давать полный исходник |
|
|
Поэтому здесь |
будет |
|||||||||||||||||||||
тируем |
|
|
|
|
|
|
журнала остается |
òåì æå. |
|||||||||||||||||||
постоянно растут, а размер |
|
|
|
|
|
на диске |
ê ýòî- |
||||||||||||||||||||
|
|
|
|
|
|
на моем сайте или |
|||||||||||||||||||||
только описание, а исходник будет выкладываться |
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
èçî- |
|||||||||||||||||
му номеру |
Õ. |
|
|
|
разделе var новую |
переменную поверхности для хранения |
|||||||||||||||||||||
|
|
|
|
|
|||||||||||||||||||||||
Для начала заведи в |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
бражения самолета: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
Surface7; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
Surface : IDirectDraw |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
FTransImage |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Теперь найди то место, где мы загружаем |
картинку фона. После загрузки |
ôîíà íóæ |
|||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
но добавить следующие |
две строчки: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
‘2.bmp’, 0, 0); |
|
|
|||||||||||||
|
|
|
|
Surface := DDLoadBitmap(FDirectDraw, |
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
FTransImage |
|
|
|
|
|
Surface, RGB(255, 0, 255)); |
|
|
|
|
|
||||||||||||||||
DDSetColorKey(FTransImage |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
хность |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ñ |
именем 2.bmp |
â |
|
|
||||||||
|
|
|
|
строке |
ÿ |
|
|
загружаю |
картинку |
повер |
|
||||||||||||||||
 |
первой |
|
|
|
загрузке фона, поэтому тут не |
должно |
|||||||||||||||||||||
|
|
. Процесс такой |
æå, |
êàê è ïðè |
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
находиться в той |
æå äè- |
||||||||||||||
FTransImageSurface |
|
|
|
напомню, |
÷òî |
картинка 2.bmp должна |
|||||||||||||||||||||
|
|
|
|
. Я только |
|
|
ïóòü ê |
. |
|||||||||||||||||||
быть вопросов |
|
|
|
|
|
|
указывать полный или относительный |
файлу |
|||||||||||||||||||
ректории, что и прога, иначе нужно |
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
хности FTransImageSurface цвет |
||||||||||||||||||||
Во второй строке этого |
кода я указываю для повер |
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
. У нее два параметра: |
|
- |
||||||||||||||||||
прозрачности |
с помощью функции DDSetColorKey |
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Нам надо здесь ука |
||||||||||
|
|
|
хность, |
у которой надо установить |
цвет прозрачности |
|
|
|
|
|
|||||||||||||||||
1. Повер |
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
çàòü FTransImageSurface |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ST_WAIT); |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Surface, nil, DDBLTFA |
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
.BltFast (175, 75, FImage |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
Surface |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
FPrimary |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(указана в качестве тре- |
|
|
|||||||||||||
|
|
|
|
|
|
|
|
содержимое поверхности FimageSurface |
|
|
||||||||||||||||||||||||||||||||||||||
Этот код копирует |
|
|
|
|
|
|
|
|
|
|
|
- |
|
|
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Первые два параметра ука |
|
|
||||||||||||||||||||||||
тьего параметра) |
во вторичный буфер |
- FPrimarySurface |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
позиции |
|
|
|
|
. В последнем параметре мы указы |
|
|
|||||||||||||||||||||||||||||||||
зывают на левую и верхнюю |
картинки |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
òî |
необходимо ожи- |
|
||||||||||||||||||||||||||||||
|
|
|
вывод сейчас невозможен, |
|
||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
_WAIT - åñëè |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
вали только DDBLTFAST |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
дание возможности |
вывода. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
так же, единственная разница |
|
|||||||||||||||||||||||||||||||
Вывод |
прозрачной картинки происходит практически |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
|||||||||||||||||||||||||||||
|
|
|
указать в последнем параметре, |
что при копировании |
надо использо |
|
|
|||||||||||||||||||||||||||||||||||||||||
ходимо |
|
|
состоит |
|
||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
параметр |
|
|||||||||||||||||||||||||||||||
- íåîá |
|
|
|
|
|
|
|
. Поэтому у меня в |
следующем |
|
коде последний |
|
|
|
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Первый флаг - это |
|||||||||||||||||||||||||||
вать прозрачность |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_SRCCOLORKEY |
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_WAIT è DDBLTFAST |
|
|
|
|
|
а второй |
ôëàã |
указывает на |
|||||||||||||||||||||||||
из двух флагов - DDBLTFAST |
|
|
|
|
|
копировании, |
||||||||||||||||||||||||||||||||||||||||||
все то же ожидание |
при невозможности |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
. Если второй флаг опустить, то вывод осущест |
|
||||||||||||||||||||||||||||||||||||||||
ходимость |
учета |
прозрачности |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
на то, что мы указали прозрачный |
öâåò |
|
|||||||||||||||||||||||||||||
íåîá |
|
|
|
|
|
|
|
|
|
|
режиме, даже несмотря |
|
|
|
|
|||||||||||||||||||||||||||||||||
вится в нормальном |
|
|
|
|
|
|
|
|
|
|
|
|
сразу после |
вывода фона: |
||||||||||||||||||||||||||||||||||
Вот пример вывода нашей картинки, |
который надо вставить |
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
srcrect:=Rect(0,0,180,90); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Surface, @srcrect, |
|
|
|
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
.BltFast (200, |
200, FTransImage |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
Surface |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
FPrimary |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ST_SRCCOLORKEY); |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
ST_WAIT or DDBLTFA |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
DDBLTFA |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
Ç |
|
åëè |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
параметра указана |
ïå- |
||||||||||||||
Указат |
|
|
|
|
|
|
|
|
|
вызове BltFast в качестве четвертого |
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
аметь, что при |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
тут используется |
|
только адрес структуры |
|||||||||||||||||||||||||||||||||||
|
|
ременная srcrect. Точнее сказать, |
|
|
|
|
|
|
|
|
|
íå |
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
то, что нужно использовать |
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Значок @ указывает на |
|
|
|||||||||||||||||||||||||||||||
|
|
@srcrect в памяти |
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
саму переменную, а только |
ее адрес |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
процедуру, то перед ее |
|||||||||||||||||||||||||||||
Адресация - это |
очень сильная вещь. Когда ты вызываешь |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
параметры записываются |
в специальную область памя- |
||||||||||||||||||||||||||||||||||||||||
|
|
|
все передаваемые |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
вызовом |
|
|
|
|
|
|
|
|
|
и она уже читает из стека переданные |
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
этого вызывается процедура, |
||||||||||||||||||||||||||||||||||||||||||
|
|
. После |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
òè - ñòåê |
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-то переменная (любого типа) |
размером |
|
|
||||||||||||||||||||||||||
ей параметры |
|
|
|
÷òî ó òåáÿ åñòü |
|
|
ñ ïà |
|||||||||||||||||||||||||||||||||||||||||
Теперь |
допустим, |
какая |
|
|
|
|
|
|
|
|
|
|
|
|
è |
|
|
|
|
|
|
|
|
|
|
|
|
- |
||||||||||||||||||||
|
|
|
. |
Когда ты вызываешь какую-то процедуру |
передаешь ей эту перемен |
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|||||||||||||||||||||||||||||
ру мегабайт |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
â ñòåê, ÷òî |
отнимает много вре |
||||||||||||||||||||||
íóþ, òî âñå |
содержимое переменной записывается |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|||||||||||||||||||||||||||||
|
|
|
|
|
|
лишнюю |
память. Чтобы не делать такого бессмысленного |
копиро |
||||||||||||||||||||||||||||||||||||||||
мени и расходует |
|
â ïà- |
||||||||||||||||||||||||||||||||||||||||||||||
|
передать в процедуру указатель |
на переменную |
||||||||||||||||||||||||||||||||||||||||||||||
вания, ты должен |
всего лишь |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
|
|
|
всего 4 байта, и только |
|
они будут копироваться в |
|||||||||||||||||||||||||||||||||||||||||||
мяти. Любой указатель |
занимает |
она прочитает указатель и |
||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
начнет свое выполнение, |
||||||||||||||||||||||||||||||||||||||||||||
стек. После |
того как процедура |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
|
|
данные |
в системной памяти. |
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
спокойно |
по нему найдет нужные |
|
|
|
|
|
нужно |
писать так: |
“@Переменная” |
|||||||||||||||||||||||||||||||||||||||
|
|
|
получить адрес любой переменной |
|||||||||||||||||||||||||||||||||||||||||||||
Итак, чтобы |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
увидеть содержимое, |
находящееся по определен |
|||||||||||||||||||||||||||||||||
(без кавычек, конечно же). Чтобы |
|
|
|
|
|
|
|
переменная ука- |
||||||||||||||||||||||||||||||||||||||||
“указатель”, |
потому что адресная |
|||||||||||||||||||||||||||||||||||||||||||||||
ному адресу |
(иногда еще говорят |
переменной |
óêà- |
|||||||||||||||||||||||||||||||||||||||||||||
|
|
- |
“Адрес^” (после |
|||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
òàê |
|
||||||||||||||||||||||||||||
зывает на данные в памяти), нужно написать |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
зателя поставить |
значок ^). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66
|
|
|
|
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 |
|
|
|
|
Работа с |
размерами |
|
|||
Ò |
еперь разберемся с четвертым |
||||
íÿë, |
там передается |
параметром метода BltFast. Как ты уже по- |
|||
ëåíà |
â |
указатель на структуру srcrect. Сама структура объяв- |
|||
разделе var следующим образом. |
|||||
|
|
|
|||
var |
|
|
|
|
|
srcrect:TRect; |
|
|
|
|
Структура TRect - это |
всего лишь запись из |
4-х значений - левой, |
верхней, правой и |
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
нижней позиций. В нашем |
случае в такой |
структуре мы будем |
|
||||||||||||||||||||||||
|
|
картинки, которую надо |
|
передавать позиции |
|||||||||||||||||||||||
|
|
вывести. Конечно |
же, мы можем |
вывести всю картинку, ука- |
|||||||||||||||||||||||
зав вместо структуры |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
значение nil, но в следующий раз нам понадобится именно |
|||||||||||||||||
|
|
структура для создания |
первой анимации. |
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
Чтобы заполнить структуру |
значениями, нужно выполнить следующий код: |
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
srcrect:=Rect(0,0,180,90); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
Здесь выполняется |
функция Rect у которой |
есть четыре параметра: |
левая, верхняя, пра- |
||||||||||||||||||||||
|
|
âàÿ è |
нижняя позиции, необходимые |
|
|
|
|||||||||||||||||||||
|
|
|
|
для структуры. Результат |
выполнения этой функции |
||||||||||||||||||||||
|
|
- проинициализированная |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
структура, которая записывается в нашу переменную srcrect. |
||||||||||||||||
Восстановление поверхности |
|
|
|
|
|
|
|||||||||||||||||||||
Í |
|
е забудь, что если программа |
потеряла фокус, то все поверхности нужно |
||||||||||||||||||||||||
|
|
|
|
|
|
восстанавливать. Наша |
|
|
|
||||||||||||||||||
|
|
|
|
|
|
прозрачная поверхность не исключение, так что |
|||||||||||||||||||||
|
|
|
|
|
|
найди тот код, где |
ìû |
|
|||||||||||||||||||
|
|
|
|
|
|
реанимируем программу, и подкорректируй его так: |
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
if hRet = DDERR_SURFACE |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
begin |
|
|
|
|
|
|
|
LOST then |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
FPrimarySurface._Restore; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
FImageSurface._Restore; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
FTransImageSurface._Restore; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
FPrimarySurface. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
Blt(nil, nil, nil, DDBLT_ |
|
|
|
|
|
|
|
|
|
||||||||||
|
|
FImageSurface := DD |
|
|
|
|
|
|
|
COLORFILL |
or DDBLT_ |
WAIT, @bltfx); |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
FTransImageSurface |
LoadBitmap(FDirectDraw, ‘1. |
|
|
|
|
|
|||||||||||||||||||
|
|
:= DD |
|
|
|
|
|
|
|
|
|
bmp’, 0, 0); |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
LoadBitmap(FDirectDraw, |
‘2. |
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bmp’, 0, 0); |
||
|
|
DDSetColorKey(FTransImageSurface, RGB(255, 0, 255)); |
|
|
|||||||||||||||||||||||
|
|
end; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В случае |
нарушения |
поверхностей последние две строки |
этого кода снова загрузят |
||||||||||||||||||||||||
|
|
|
|
|
|||||||||||||||||||||||
графический |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
файл и заново установят цвет прозрачности. |
|
|
|
|
||||||||||||||||
|
|
Shutdown |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
Ð |
|
òà |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
езультат работы проги ты можешь |
увидеть на рисунке 3. Как видишь, на этом |
||||||||||||||||||||||
|
|
|
|
скрине рисунок 2 |
нарисован поверх рисунка 1, при этом цвет фона самоле- |
||||||||||||||||||||||
|
|
|
|
|
отсутствует. |
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
А на сегодня отведенное мне мес- |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
то уже заканчивается, а в следую- |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
щий раз я создам первую анима- |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
цию. А именно - наш самолет на- |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
учится летать и вертеться в возду- |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
хе. Таким вот способом мы мед- |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ленно, но верно доберемся до вер- |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
шины графического |
мастерства. |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Исходники |
примера, как всегда, |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
можно скачать |
ñ |
моего сайта |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
www.cydsoft.com/vr- |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
online после |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
выхода этого номера в свет или |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
поищи на диске. |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
P.S. Ó ìåíÿ |
к тебе просьба, на |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
сто баксов :). Не пиши мне боль- |
|||||||
|
Рисунок 3. Результат работы программы |
øèå |
письма. После появления |
||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
рубрики “Кодинг” меня каждый |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
день валят |
вопросами. Я не в со- |
||||||
стоянии всем рассказывать то, о чем пишут книги. Я |
могу что-то подсказать, где-то |
||||||||||||||||||||||||||
помочь, но не |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
больше. А просьбы типа помоги написать |
прогу вообще нереальны. Я |
||||||||||||||||||||
отвечаю только на те |
вопросы, где ответ займет |
|
|
||||||||||||||||||||||||
ïî ìûëó |
ÿ |
|
|
|
|
несколько строчек. |
Целые лекции |
||||||||||||||||||||
разводить не могу. Я бы с |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
ÍÎ. Âàñ |
слишком много, а я |
|
|
удовольствием помог всем, но это НЕВОЗМОЖ- |
|||||||||||||||||||||||
îäèí :(((. |
Поэтому лучше разбей свой |
вопрос на не- |
|||||||||||||||||||||||||
сколько |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
маленьких и спрашивай постепенно, а не все сразу. |
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
Tips&Tricks |
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
С помощью только одной ко- |
Ведущий |
|
|
|
|
рубрики |
|
|
|
|
|
||||||||||||||
|
|
манды |
в командной строке |
Tips&Tricks Èâàí |
Скляров |
|
|
|
|
|
|||||||||||||||||
|
|
или в bat-файле ты можешь |
(Sklyarov@real.xakep.ru) |
|
|
|
|
|
|||||||||||||||||||
|
|
отформатировать диск |
èëè |
Присылай мне свои трюки и |
|
|
|
|
|
||||||||||||||||||
|
|
дискету без всяких вопросов и |
советы, |
и, возможно, ты |
|
|
|
|
|
||||||||||||||||||
|
|
запросов компьютера. |
|
|
|
увидишь их на страницах ][. |
|
|
|
|
|
||||||||||||||||
|
|
Команда: echo y | format a: /q |
В конце года самый актив- |
|
|
|
|
|
|||||||||||||||||||
|
|
ный участник получит 100$. |
|
|
|
|
|
||||||||||||||||||||
|
|
/v:hack /autotest |
|
|
|
|
Редакция журнала и веду- |
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
щий рубрики не несут от- |
|
|
|
|
|
|||||||||||
|
|
Поярков Илья (Terabyte) / |
ветственности за советы, |
|
|
|
|
|
|||||||||||||||||||
|
|
NTD3k, |
www.cnt.ru/~wh, |
которые |
читатели дают |
|
|
|
|
|
|||||||||||||||||
|
|
terabyte@bk.ru |
|
|
|
друг другу ;). |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
w |
|
|
to |
|
|
|
|
o |
||
|
|
|
|
|
|
Joystick |
||||
P |
|
|
|
|
|
NOW! |
|
|
||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
w Click |
|
|
|
|
|
o |
m |
|||
|
w |
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
|
|
|
|
|||
|
|
|
|
-xcha |
|
|
|
|
||
|
|
|
COUNTER STRIKE 1.4 |
Lefside (lefside@mail.ru) советы на врезках Гела Рябуха AKA Riablo (riablo@gol.ge)
|
|
|
|
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 |
|
|
|
|
Counter Strike 1.4 Ставим новую контру
Купил я тут анлим на выходные и решил: скачаюка свеженькую контру! И что бы ты думал!? Скачал! Вот решил поделиться впечатлениями, рассказать, что да как. Все-таки тебе выбирать - продолжать гамать в 1.3 или же рискнуть?
ENTER
также апдейт твоей старой халфы до версии 1.1.0.9.
Итак. Имеем: Контра 1.3 на базе HL 1.1.0.8.
Ставим:
1)патч для халвы (1108-1109)
2)патч для контры (1.3 - 1.4) (ска- чать можно на http://www.combatfolk.ru).
Узнать, на какой версии стоит твоя контра, можно по цифре в верхнем правом углу во время загрузки сервера.
Что новенького?
|
|
|
Итак. Сел я, значит, играть. Гружу. |
|
|
|
|
|
Не ждали?! |
|
Вот сервер наконец создан, покупаю |
|
|
|
|
||
|
оружие, бегу. Первое, что бросается |
|
|
|
|
|||
Существует два варианта установ- |
|
в глаза - это то, что ничего не броса- |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
ется! :) На первый взгляд - ничего |
map overview |
||||||
|
ки: полная установка и апдейт с |
|
|
|
|
|
|
|
|
версии 1.3. Если ты собираешься |
Многие из CS карт достаточно запутанны, имея коридоры, канализации, этажи и сложную струк- |
|
|
||||
|
скачать свежачок с Инета, то пред- |
|
|
|||||
|
почтительнее, конечно, апдейт. |
туру (de_dust2, de_prodigy, de_torn, de_storm), и, чтобы чувствовать себя как дома, надо доста- |
|
|
||||
Угадай с трех раз, почему? Конеч- |
|
точно долго играть на данной локации. Игрок не должен терять ни секунды на раздумье, куда же |
|
|
||||
но, по размеру файла. Апдейт ве- |
|
идти, чтобы попасть вон на ту площадь, а потом уж как получится. Я советую сходить на csna- |
|
|
||||
|
сит всего лишь 23,4 мб, в то вре- |
tion.counter-strike.net/cs2d/cs2d.htm - скачать стратегические карты карт :). Всего 10-15 минут |
|
|
||||
|
мя как полный инсталлятор - около |
скитания по карте в одиночку с 2D планом перед глазами дают уже ощутимый эффект. Обрати |
|
|
||||
|
80 (если не больше). Для установ- |
внимание на респаун-точки обеих сторон, бомб-сайты и альтернативные пути к ним. Впрочем, |
|
|
||||
|
|
|
для старых игроков и классических карт это тоже работает. |
|
|
|
|
|
|
ки тебе потребуется: Counter- |
|
|
|
|
|||
|
Strike 1.3, установленный на базе |
|
|
|
|
|
|
|
|
Half-Life 1.1.0.9. Контра 1.3 стави- |
|
|
|
новенького. Оружия не прибавилось |
|||
|
|
|
|
|||||
|
лась на предыдущую версию |
|
|
|
нисколько - а жаль. Ну ничего, купил |
|||
(1.1.0.8), но со старой Халфой |
|
|
|
|
||||
|
|
|
|
Десерт, бегу. Настроение хорошее, |
|
|
||
|
свежак не попрет (будет выдавать- |
|
|
|
|
|
||
|
|
|
|
дай, думаю, подпрыгну. Подпрыгнул! |
||||
|
ся сообщение об ошибке загрузки |
|
|
|
||||
|
|
|
|
:) Оказывается, в новой контре не |
||||
|
client.dll). Так что нам потребуется |
|
|
|
||||
|
|
|
|
очень-то распрыгаешься! Скорость |
||||
|
|
|
|
|
|
|||
|
|
|
|
|
|
после прыжка на определенное вре- |
|
|
|
|
|
|
|
||||
|
Всегда играй с клиентски- |
|
|
|
|
мя снижается. Типа - хилые люди |
||
|
ми настройками - hud_cen- |
|
|
|
|
свежак писали, думают, я после |
||
|
terid 1, hud_fastswitch 1 - è |
|
|
|
|
прыжка медленнее побегу. Ну что |
|
|
|
знай, какая чувствитель- |
|
|
|
|
же, им виднее. |
|
|
|
ность мыши тебе больше |
|
|
|
|
Вторая новость приятнее, но все-та- |
||
|
подходит. Я лично играл с |
|
|
|
|
ки на любителя. Состоит она в том, |
||
|
Sensitivity по дефолту (3), |
|
|
|
|
что товарищи трупы (ака твои уби- |
|
|
|
но сейчас перешел на 3.5. |
|
|
|
|
тые СоТоварищи или проТивники) |
|
|
|
Думаю, это оптимальный |
|
|
|
|
не исчезают в неизвестном направ- |
||
|
показатель, чтобы навести |
|
|
|
|
лении, а преспокойно лежат на сво- |
|
|
|
прицел, не ругаясь при |
|
|
|
|
их законных местах. Так что не пу- |
|
|
|
этом. Впрочем, решай сам. |
|
|
|
|
гайся, если с крыши свисает терро- |
||
|
|
|
ÒÐÓÏ-2002 options :) |
|
рюга - он дохлый :). |
|||
|
|
|
|
|
|
|
|
|
68 Ньюсы 1 Феррум 2 PC_Zone 3 X-Стиль 4 Взлом