 
        
        книги хакеры / журнал хакер / 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
 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
 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 Взлом
