книги хакеры / журнал хакер / специальные выпуски / Специальный выпуск 4_compressed
.pdf
|
|
ТЕОРИЯ |
|
|
|
|
|
|
|
|
|
>СПЕЦВЫПУСК #4 |
0009 |
9 |
|||||||
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ных в теле цикла команд. Цикл представляет |
For i:=1 to 10 do |
тать? Вот тут совсем другое дело. Так и с ком- |
|
|
|||||||||||||
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
собой оператор объявления цикла и тело цик- |
Begin {Начало тела цикла} |
пом - ему все эти буковки сугубо фиолетовы, |
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
ла. А ТИПОВ ЦИКЛА не один, а целых три. |
A=(Задать значение А); |
он, как ты помнишь, ничего не знает, кроме 0 |
|
|
||||||||||||||||||
|
|
|
|
|
|
Причем каждый для своих целей. “Дык это ж |
B=(Задать значение В); |
и 1. Вот КОМПИЛЯТОР-то твои писания в эти |
|
|
|||||||||||||
|
|
|
|
|
|
окосеть можно!” - скажешь ты. И будешь не |
C=(Задать значение С); |
самые единички и нолики и переводит. Так |
|
|
|
|
|||||||||||
|
|
|
|
|
|
прав. Ну сам посуди: жизненная ситуевина - |
D:=(A+B)*C; |
сказать, поближе к природе. :)) |
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
ты точно знаешь, что тебе надо что-то сделать |
Writeln(‘Получилось аж ‘, D) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
в проге 10 раз подряд. Тут тебе поможет |
End; {окончание тела цикла} |
Программа |
твоя исполняется |
замечательно, |
|
|
|||||||||||
|
|
|
|
|
|
ЦИКЛ ДЛЯ (FOR). Ну а если ты не знаешь, |
End. {окончание программы} |
но, вот беда, в какой-то момент ее пробирают |
|
|
|||||||||||||
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
сколько тебе надо считать или что-то делать, |
|
|
|
жуткие глюки. Берет и валится! Ну, ты припо- |
|
|
|||||||||||
|
|
|
|
|
|
однако знаешь, что это надо ПОВТОРЯТЬ ДО |
Если ты обратил внимание - появилась новая |
минаешь маму Билла Гейтса, всех его род- |
|
|
|||||||||||||
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
ÒÅÕ ÏÎÐ, ÏÎÊÀ (REPEAT ... UNTIL) ÷åãî-òî òàì |
переменная I, она называется ПАРАМЕТР ЦИК- |
ственников... Не помогает... В таких случаях |
|||||||||||||||
|
не станет таким, как нужно тебе. Ну а когда |
ЛА. Кстати, |
при повышенной внимательности |
программу |
подвергают |
ТРАССИРОВКЕ |
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
клубишься ты с перцами, то тут цикл третьего |
ты увидишь, что объявлена переменная I, а в |
(TRACE/DEBUG, об этом у нас целая статья |
åñ- |
|
|
|
|
||||||||||
|
|
|
|
|
|
типа: пей пиво, ПОКА НЕ (WHILE) упадешь (не |
цикле она называется i (малая I). Так вот, за- |
ть в этом спеце). Трассировка - это когда |
êîì- |
|
|
|
|
||||||||||
|
|
|
|
|
|
почувствуешь прилив сил и вдохновения). А в |
помни: в большинстве языков программиро- |
пьютер исполняет твою программу по шагу, а |
|
|
|||||||||||||
|
|
|
|
|
|
проге эти циклы оформляются так: |
вания РЕГИСТР ИМЕН ПЕРЕМЕННЫХ (ну, с ка- |
ты за ним присматриваешь: “Тут все хорошо, |
|
|
|||||||||||||
|
|
|
|
|
|
Öèêë ÄËß (FOR) |
|
кой буквы начинаются (продолжаются) имена |
òóò òîæå, à òóò... Å!!! Êàê òàê!!” - âñå, ãëþê îò- |
|
|
||||||||||||
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
переменных) компу глубоко по фигу. Такая си- |
ловлен. И так всю программу. А если прога на |
|||||||||||||||
|
|
|
|
|
|
|
|
туация не |
везде, но в большинстве |
случаев |
200 кубов текста? Тогда, если знаешь, |
ãäå |
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
FOR переменная: =начальное_значение to ко- |
это так. Вот мы и решили задачу с повторе- |
глюк вероятнее всего расположен, то тут мож- |
|
|
|||||||||||||
|
|
|
|
|
|
нечное_значение do |
|
нием чего-то там нужное число раз. Просто? |
но поставить ловушку БРЕКПОИНТ (BREAK- |
|
|
||||||||||||
|
|
|
|
|
|
|
|
Еще как! Все просто, главное - просечь фиш- |
POINT) и трассировать программу уже с этого |
|
|
||||||||||||
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
Begin |
|
êó... |
|
|
места. До брекпоинта программа выполнится |
|
|
||||||||||
|
|
|
|
|
|
Тут то, что надо делать много раз. Называется |
КАК ГОВОРИТЬ С МАШИНОЙ, ИЛИ |
быстро и без твоего участия. Ну и еще ма- |
|
|
|||||||||||||
|
|
|
|
|
ТЕЛО ЦИКЛА. |
|
ленькая куча понятий из программерского |
|
|
||||||||||||||
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
End; |
|
ЯЗЫК ПРОГРАММИРОВАНИЯ |
|
лексикона. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Цикл ПОВТОРЯТЬ ДО ТЕХ ПОР, ПОКА (REPEAT |
|
|
|
ЗАРЕМИТЬ (REM). Åñëè |
какая-то |
часть |
|
|
|
|
|||||||
|
|
|
|
|
|
... UNTIL) |
|
Прикинь, ты в России, комплектуху компа де- |
|
|
|||||||||||||
|
|
|
|
|
|
Repeat |
|
|
|
|
|
|
программы стала |
òåáå |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
ТЕЛО ЦИКЛА |
Вот ты и сочинил свою |
|
не нужна, то ее можно |
|
|
|
|
|||||||||||
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
Until (условие) |
|
не удалять (вдруг потом |
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
первую прогу. Все кодеры |
|
понадобится), а |
ïîìå- |
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
Этот цикл закончится |
|
òèòü |
как ремарку |
(ïîÿñ- |
|
|
|
|
|||||||||
|
|
|
|
|
|
начинали именно так, поверь |
|
|
|
|
|||||||||||||
|
|
|
|
|
ТОЛЬКО тогда, когда ус- |
мне. С комовским разъемом |
|
нение). |
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
ловие в скобках выпол- |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
нится, то есть ЛОГИЧЕС- |
пониже спины никто не |
|
ИСХОДНИКОМ |
|
|
èëè |
|
|
|
|
|||||||
|
|
|
|
|
КОЕ ВЫРАЖЕНИЕ в скоб- |
|
СЫРЦОМ |
(SOURCE) |
|
|
|
|
|||||||||||
|
|
|
|
|
родился. |
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
ках станет ИСТИННЫМ. |
|
|
называется текст прог- |
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
Например, 6>5 - это ИС- |
|
|
|
|
раммирования. |
раммы на языке прог- |
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
ТИНА (TRUE), а вот 4<0 - это ЛОЖНО (FALSE). |
лали на Тайване, собирали в Урюпинске, пос- |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
Этот цикл ВСЕГДА ВЫПОЛНЯЕТСЯ ХОТЯ БЫ |
тавили на него Винду, сделанную в Американ- |
КУДА ПОЙТИ, КУДА ПОДАТЬСЯ |
|
|
|
|
|
|
|||||||||
|
|
|
|
|
ÎÄÈÍ ÐÀÇ! |
|
щине. Как общаться прикажете? Вот и приду- |
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
мали дяди языки программирования, которые |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
Öèêë ÏÎÊÀ ÍÅ (WHILE) |
|
как все нормальные языки имеют слова - ОПЕ- |
Ну что, перчило, ты еще не замаялся читать? |
|
|
||||||||||||
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
While (выражение) do |
|
РАТОРЫ (OPERATOR). Оператор - это то, что |
Если нет, то сейчас мы разберемся еще с од- |
|
|
||||||||||||
|
|
|
|
|
|
Begin |
|
ты говоришь машине, слово того языка, кото- |
ной фишкой - УСЛОВИЯМИ. Такая ситуация: |
|
|
||||||||||||
|
|
|
|
|
ТЕЛО ЦИКЛА. |
|
рый вы понимаете оба. FOR, UNTIL, REPEAT, |
надо объяснить твоей куче железа что-то ти- |
|
|
|||||||||||||
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
End; |
|
WHILE, IF, THEN, ELSE - это все операторы. |
па: “...ты тут считай, а вот если у тебя полу- |
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
А вот этот цикл может и не выполниться ни ра- |
|
|
|
чится 0, то ты считай там, а если юзер нажмет |
|||||||||||||
|
|
|
|
|
|
СИНТАКСИС ЯЗЫКА ПРОГРАММИРОВА- |
пимпу “А” - то вообще закругляйся”. Тут нам |
||||||||||||||||
|
|
|
|
|
зу, если выражение в скобках исходно ЛОЖ- |
ÍÈß (SYNTAX) - это как их правильно распо- |
на помощь придет ОПЕРАТОР ЕСЛИ..... ТО..... |
||||||||||||||||
|
|
|
|
|
|
НО. Вот как теперь можно решить нашу зада- |
ложить друг за другом, чем разделить и, |
ИНАЧЕ (IF..... THEN..... ELSE.....). Возвра- |
|||||||||||||||
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
чу с использованием цикла FOR: |
вообще, как их использовать. Теперь что такое |
щаясь к нашим условиям: опишем на понят- |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
Program MyCoolProgram; |
|
КОМПИЛЯТОР (COMPILER). Тут все просто. |
ном машине языке человеческое предложение |
||||||||||||||
|
|
|
|
|
|
|
Прикинь, ты с китайской девчонкой познако- |
“...ты тут считай, а вот если у тебя получится |
|||||||||||||||
|
|
|
|
|
|
Var A,B,C,D,I: Integer; |
|
мился в чате? А вот по-китайски ты не ру- |
0, то ты считай там, а если юзер нажмет пим- |
||||||||||||||
|
|
|
|
|
|
Begin {начало программы} |
|
бишь... Фигово, да? А если переводчика дос- |
пу “А”, то вообще закругляйся, иначе запускай |
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
|
|
|
000A |
ТЕОРИЯ |
|
|
>СПЕЦВЫПУСК #4 |
|
||
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Кваку”. Вот чего у тебя получится:
.........
IF получилось 0 THEN считай там;
IF юзер нажал пимпу “А” THEN закругляйся
ELSE запускай Кваку;
.........
Дабы комп просек, куда ему, собственно, об- |
|
|
|
|
|
|
|
ратиться за данными в каждом случае, была |
|
|
|
|
|
|
|
придумана МЕТКА (LABEL). То есть комп чи- |
|
|
|
|
|
|
|
тает программу сверху вниз, как и все нор- |
|
|
|
|
|
|
|
мальные перцы. И доходит до места, где на- |
|
|
|
|
|
|
|
до проверить, например, не нажал ли юзер |
|
|
|
|
|
|
|
кнопец, - и дальше работать в зависимости |
|
|
|
|
|
|
|
от этого обстоятельства. Но код-то для раз- |
|
|
|
|
|
|
|
ных вариантов поведения проги находится в |
|
|
|
|
|
|
|
разных местах, так? Так вот, в каждом кон- |
|
|
|
|
|
|
|
кретном месте ставится метка со своим име- |
|
|
|
|
|
|
|
нем. И в проге описывается: если так-то, то |
íóþ |
задачу. |
Пример: |
процедура |
|
||
иди к метке 1, а если не так, то - к метке 2. |
очистки окна в досявых прогах |
|
|||||
Только не увлекайся. Есть правило: крутость |
(`CLS’ в васике). |
|
|
|
|||
программера обратно пропорциональна чис- |
|
|
|
|
|
|
|
лу меток в программе. |
ФУНКЦИЯ. Часть программы (под- |
|
|||||
ВОТ ЕЩЕ НЕСКОЛЬКО ПОНЯТИЙ |
программа), которая после оконча- |
|
|||||
íèÿ |
выполнения |
своего |
алгоритма |
|
|||
КОДИНГА |
выдает |
определенный |
результат |
|
|||
|
(значение функции). Грубо говоря, |
|
|||||
ÑÒÅÊ. Упорядоченный набор элементов |
процедура, |
которая |
|
|
|||
(составляющих частей стека), в котором до- |
äàåò |
результат. Фун- |
|
|
|||
бавление новых элементов или выбрасыва- |
кции могут иметь ар- |
|
|
||||
ние старых может происходить только с од- |
гументы. Короче, |
âñå |
|
|
|||
ного конца. Этот конец, вдобавок ко всему, в |
как в школьной мате- |
|
|
||||
умных книжках вершиной стека обзывают. |
матике 8-9 классов: |
|
|
||||
Представь, что ты занимаешься изготовле- |
функции |
îò |
аргумен- |
|
|
||
нием пиратских CD на дому. :) Сидишь, ле- |
тов (или ты математи- |
|
|
||||
пишь себе с болванок заветные алюминие- |
êó íå ó÷èë?). |
|
|
|
|
||
вые, потом свет отрубается, дверь выламы- |
|
|
|
|
|
|
|
вается... доблестная милиция пожаловала! |
БИБЛИОТЕКИ |
DLL |
|
|
|||
Ну, ты первым делом куда диски денешь? |
(Dynamic |
Linked |
|
|
|||
Нет, смывать в биде их не надо! :) Ломишься |
Library) |
- библиотеки |
|
|
|||
на кухню и в вентиляцию все: там узко, не |
динамической компоновки (так говорят в лю- |
кции, используемые несколькими твоими про- |
|||||
упадут. Вот тебе и стек настоящий в вентиля- |
бимых умных книгах :)). Работают они как |
ãàìè. |
|||||
ции получился: нижний диск не вытащишь - |
юниты в Паскале/Дельфях. Только, грубо го- |
ЗАКРУГЛЕНИЕ |
|||||
придется сверху по одному тянуть :). В этом |
воря, код юнитов паскалевых во время компи- |
||||||
случае элементы стека - это твои кровные са- |
ляции цепляется к проге, да так, что потом не |
|
|||||
мые что ни на есть компактные диски. Стеки |
отлепишь (т.е. линкуются статически), а dll-ки |
Ну вот, перец, теперь ты реально продвинулся в |
|||||
в умных книжках еще называют структурами |
существуют свободно от проги, их использую- |
кодинге. Мы разобрали основные понятия по |
|||||
LIFO (Last In First Out) - последним пришел, |
щей. Юзать dll удобно тем, что она грузится |
полкам. До остальных вещей ты дойдешь сам, |
|||||
первым ушел. |
только тогда, когда это нужно твоей (или спи- |
это не так сложно. Помни, никто не родился ко- |
|||||
|
ратченной :) ) софтине. При этом процедуры, |
дером, все начинали так же как и ты, с самых |
|||||
ПРОЦЕДУРА. Часть программы, реализую- |
функции и прочая шняга из dll могут исполь- |
азов. Любая даже самая крутая и навороченная |
|||||
щая свой алгоритм. Она же подпрограмма |
зоваться и другими прогами или dll`ами. Са- |
прога все-таки была кем-то написана. Так поче- |
|||||
(все зависит от языка разные названия). Про- |
мое веселое, что библиотеки dll могут быть |
му бы тебе не написать еще круче? Дерзай! И |
|||||
цедуры обычно - это ни что иное, как отдель- |
написаны хз на каком языке: пишешь ты про- |
помни, что золотым правилом всех программе- |
|||||
ная небольшая “программка” (т.е. подпрог- |
гу на Вижуал Васике и юзаешь dll-ку, забацан- |
ров всех времен и народов было, есть и остает- |
|||||
рамма), все ее команды выполняют неболь- |
ную на Си. :) Короче, dll - это рулезная фича |
ñÿ - RTFM! |
|||||
шую (по сравнению с основной), но конкрет- |
:), в которую удобно напихать, например, фун- |
Удачи. |
ГДЕ КУПИТЬ?
Напиток ХАКЕР всегда можно купить:
На всех заправках BP в Москве и области
Âклубах: Вирус, Эстакада, Слава, Вокзал, Сова, Паутина, Титаник, Территория, Протон, Радио Ãà-Ãà, Bells
Âкомпьютерных клубах: Орки, Лавина, Остров “Формоза”, Гейм Сити
Âфитнесс-клубе “Марк Аврелий”
Коммерческий отдел (крупный и мелкий опт) тел.: (095) 402-2712, 402-0930
w w w . t i g e r d r i n k . c o m
12 |
000C |
ТЕОРИЯ |
|
|
>СПЕЦВЫПУСК #4 |
|
КАК СОЗДАЕТС
The Hound of Winter (thow@ireland.com)
|
|
ТЕОРИЯ |
|
|
|
>СПЕЦВЫПУСК #4 |
000D |
13 |
|
|
Я ПРОГРАММА
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ривет! Тебе уже надоело изучать |
заявляет: “Э! А почему бы мне не написать вот |
дильником или проекта драйверов для микро- |
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
языки программирования только |
такую классную прогу!”. Тут-то все и закручи- |
волновой печи под Windows 2000. Да-да, откры- |
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
в теории? Хочется |
попробовать |
вается. Сначала придумываются всевозможные |
тый проект - это не обязательно только |
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
свои силы на настоящем проекте |
фичи, которые должна поддерживать эта прог- |
Linux/Unix. Например, совсем недавно ко мне в |
|
|||||||||||
|
|
|
|
|
|
|
Ïс бета-версиями и релизами? |
рамма, придумывается ей название и устанав- |
руки попал Dos Navigator Open Source Project, |
|
|||||||||||||||
|
|
|
|
|
|
|
Тогда поговорим о том, как создается Програм- |
ливается первоначальный порядок авторства |
написанный под DOS и DOS/DPMI на Borland |
|
|||||||||||||||
|
|
|
|
|
|
|
ма - настоящая Программа, а не дружеские |
(чтобы в больших коллективах потом не возни- |
Pascal 7.0. Так что платформа, язык программи- |
|
|||||||||||||||
|
|
|
|
|
|
|
фишки типа HackInternetPasswords (о них ты и |
кало проблем вроде: “А почему Пупкина опять |
рования и погода на улице особой роли не иг- |
|
|||||||||||||||
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
сам все знаешь). ;-) Обычно в процесс создания |
первым написали? Он вообще ничего не де- |
рают. Важна именно идея. Dos Navigator, напри- |
|
|||||||||||||||
|
|
|
|
|
|
|
коммерческой программы вовлекается очень |
лал!!!”). Идея обязательно должна быть краси- |
мер, был изначально коммерческим продуктом. |
|
|||||||||||||||
|
|
|
|
|
|
|
много людей, начиная с художников-дизайне- |
вой и привлекательной - иначе на нее никто не |
За него платили деньги, но позже фирма-произ- |
|
|||||||||||||||
|
|
|
|
|
|
|
ров, которые рисуют логотипы и окна диалогов, |
клюнет, и все придется делать тому, кто ее при- |
водитель отказалась от дальнейшего исправле- |
|
|||||||||||||||
|
|
|
|
|
|
|
и заканчивая продюсерами, которые под конец |
думал. Писать в одиночку обычно надоедает, |
ния немереного количества багов в своем про- |
|
|||||||||||||||
|
|
|
|
|
|
|
работ собирают деньги и сбегают. ;-) Но сущес- |
особенно если проект большой, а идея не так уж |
дукте и “выбросила” в Интернет исходники со |
|
|||||||||||||||
|
|
|
|
|
|
|
твуют также и проекты “Open Source Projects” - |
и интересна. ;-) |
словами и пожеланиями всем, кому не лень, на- |
|
|||||||||||||||
|
проекты с открытыми исходны- |
Сначала придумываются |
делать там новых багов. Так до |
|
|||||||||||||||||||||
|
ми текстами, которые |
обычно |
сих пор и делают. И удачно, |
|
|||||||||||||||||||||
|
ведут одни программисты. Вер- |
всевозможные фичи, |
|
надо сказать, поскольку глю- |
|
||||||||||||||||||||
|
íåå, |
они по совместительству |
которые должна |
|
чит по-страшному. ;-) |
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
являются |
еще и художниками, и |
|
Часть 3. Первый месяц |
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
продюсерами, и распространи- |
поддерживать эта |
|
|
|||||||||||||||
|
|
|
|
|
|
|
телями, и координаторами... и |
программа, придумывается |
работы |
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
т.д. Обычно они создают абсо- |
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
лютно бесплатные программы, |
ей название и |
|
Здесь происходит самое инте- |
|
||||||||||||||
|
|
|
|
|
|
|
которые энтузиасты потом допи- |
устанавливается |
|
ресное. Продолжают |
генери- |
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
сывают и поддерживают по нес- |
первоначальный порядок |
роваться идеи и оформляется |
|
|||||||||||||||
|
|
|
|
|
|
|
кольким причинам. Во-первых, |
каркас |
будущего |
шедевра |
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
это обыкновенный понт - жела- |
авторства (чтобы |
|
программистского искусства. |
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
íèå |
|
выпендриться и показать |
в больших коллективах |
Именно в этот момент глав- |
|
|||||||||||||
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
собственную крутость: “А я вот |
потом не возникало |
|
ным человеком проекта стано- |
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
так умею да так, что именно как |
|
вится Координатор. Он должен |
|
||||||||||||||
|
|
|
|
|
|
|
|
я никто не смог!”. ;-) Это же са- |
проблем вроде: “А почему |
распределять задачи между |
|
||||||||||||||
|
|
|
ìîå |
чувство сподвигло |
многих |
Пупкина опять первым |
программистами и затем про- |
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
стать |
демомейкерами, |
вирусо- |
написали? Он вообще |
|
верять, кто что сделал. Когда |
|
||||||||||||
|
|
|
|
|
|
|
писателями и прочими кодера- |
|
кто-то дописывает свой “кусо- |
|
|||||||||||||||
|
|
|
|
|
|
|
ми. Во-вторых, обычно это жела- |
ничего не делал!!!”). |
|
чек” программы, координатор |
|
||||||||||||||
|
|
|
|
|
|
|
ние иметь хорошую и неглючную |
|
|
|
должен |
собрать весь проект |
|
||||||||||||
|
|
|
|
|
|
|
утилиту, которая умеет больше, |
|
|
|
вместе с этим кусочком (если |
|
|||||||||||||
|
|
|
|
|
|
|
чем всякие поделки от M$. В-третьих, это прос- |
Часть 2. Набор участников |
проект уже можно собрать, то есть соединить |
|
|||||||||||||||
|
|
|
|
|
|
|
то интересно, и, однажды втянувшись, человек |
|
присланные/переданные части и скомпилиро- |
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
уже не может не писать программы. А когда это |
После того как идея сформирована, обрела дос- |
вать). После того, как проект собран, результат |
|
|||||||||||||||
|
|
|
|
|
|
|
делаешь не один, а в группе таких же кодеров, |
таточную прочность и представляет собой за- |
(бинарник и исходники) помещаются в обще- |
|
|||||||||||||||
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
которые один лучше другого, то со временем |
конченную мысль, инициатор проекта может на- |
доступное место - на сайт проекта, например. |
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
приобретается бесценный опыт кодинга и прог- |
чать агитировать своих знакомых, друзей и |
Или же рассылаются всем участникам так, что- |
|
|||||||||||||||
|
|
|
|
|
|
|
раммерства. Дело это довольно долгое и на са- |
близких просто начать рекламную кампанию по |
бы у каждого была своевременно обновленная |
|
|||||||||||||||
|
|
|
|
|
|
|
мом деле состоящее из множества этапов. |
продвижению этой идеи. Попросту говоря, на- |
копия проекта. Это делается для того, чтобы |
|
|||||||||||||||
|
|
|
|
|
|
|
Пройдемся по каждому из них и посмотрим, ка- |
бираются те, кто потом будет на халяву трудить- |
каждый мог похвалить или загномить то, что на- |
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
кие подводные камушки могут подстерегать наш |
ся над проектом. А то, что это должен быть |
кодил “сосед”. ;-))) |
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
Титаник. ;-) |
|
|
проект, - понятно само собой. Немного офи- |
Часть 4. Промежуточный этап - пре- |
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
циальности, немного растопыренных по-хоро- |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
Часть 1. Идея |
|
|
шему пальцев, и (вуаля! - как говорят французы) |
бета- и бета-версии |
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
находятся добровольцы, которые также заго- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Итак, все начинается с идеи. Кому-то (поначалу |
раются идеей проекта бесплатного наворочен- |
После пары месяцев работы (или как только ста- |
||||||||||||||||
|
|
|
|
|
|
|
весь проект ведет один человек) падает на голо- |
ного мейлера-почтовика со встроенными воз- |
нут видны результаты работы) проект собирает- |
||||||||||||||||
|
|
|
|
|
|
|
ву кирпич или еще что, но этот кто-то однажды |
можностями дистанционного управления холо- |
ся и отдается профессиональным тестерам, ко- |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
000E |
ТЕОРИЯ |
|
|
>СПЕЦВЫПУСК #4 |
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
понять, отчего ему так нравится этот новый су- |
почку на вот эту фичу.” Потом не всегда удается |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
перкалькулятор на 26 мегабайт... А дело-то в |
найти именно ту идею, которую можно взять за |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
удобстве. ;-))) Кроме всего этого, создаются па- |
основу - программа должна быть нужной, и та- |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
кеты многоязыковой поддержки и пишутся раз- |
ких программ должно быть мало или, что еще |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
личные хелпы. Причем, хелпы могут быть напи- |
лучше, не быть совсем. |
И прога обязательно |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
саны как в процессе работы над проектом сами- |
должна отличаться от |
остальных какими-то |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
ми программистами, так и непосредственно |
своими особыми качествами, иначе нет смысла |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
заинтересованными пользователями уже после |
писать новую прогу. |
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
выпуска программного продукта. |
Часть 8. Апгрейды и обновления. А |
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Часть 6. Завершающий |
ýòàï |
также всяческие |
сервис-паки |
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Здесь окончательно (это шутка |
такая ;-))) отлав- |
После того, как продукт |
запущен в свободный |
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
ливаются все баги и фичи. |
Совершенствуется |
полет в открытый космос |
|
Сети, сбегающиеся |
íà |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
форма и начинают приниматься |
первые похвалы |
крик “Халява” юзеры обязательно порвут сервер |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
и ругательства от бета-тестеров. |
À óæå áåòà-òåñ- |
на части, скачивая заветную халяву. Правда, |
î |
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
теры, надо сказать, народ |
придирчивый. Обыч- |
íåé |
сначала должны |
узнать. Именно поэтому |
íà |
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
но создается ньюс-конференция |
èëè ìýéë-ðàñ- |
äâóõ |
предыдущих стадиях координатор проекта |
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
сылка, которая охватывает |
всех участников |
должен был потрудиться над созданием и про- |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
проекта. На завершающем |
этапе абсолютно |
талкиванием рекламы на пару рекламных серве- |
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
всем желающим раздается копия программы, и |
ров. В принципе, большинству проектов хватает |
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
начинается последняя стадия подготовки. Пи- |
и специальных софтовых рассылок, наподобие |
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
шутся последние файлы документации, в список |
CityCat. В таких рассылках собираются не толь- |
|||||||||||
|
торые будут тыкать во все кнопочки, включать |
авторов дописывается Вася Пупкин. Обычно на |
ко любители, но зачастую и такие же програм- |
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
âñå |
опции и делать |
это строго в хаотичном по- |
этом же этапе подготавливается сайт проекта и |
мисты, которые не прочь поучаствовать в каких- |
||||||||||||||||||||
|
рядке. |
После того, |
как кто-нибудь находит |
начинается рекламная компания (если продукт |
нибудь интересных проектах. |
||||||||||||||||||||
|
ошибку в бинарнике, |
он должен заполнить спе- |
все-таки коммерческий). |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
циальную карту (или |
Кстати, на сайте |
|
|
|
|
|
|
|
Но это все - результат |
|
|
|||||||||||||
|
темплейт) и отослать |
|
|
|
|
|
|
|
деятельности нес- |
||||||||||||||||
по е-мылу координа- |
|
www.softpanorama.org можно |
кольких человек. А как |
|
|
||||||||||||||||||||
òîðó. |
|
 |
некоторых |
|
найти статьи о возможностях, |
быть, когда ты один? |
|
|
|||||||||||||||||
проектах |
стали до- |
|
Ну, в крайнем случае, |
|
|
||||||||||||||||||||
|
бавлять |
â |
готовый |
|
прелестях и недостатках |
|
|
|
|
|
|
наедине с собствен- |
|
|
|||||||||||
бинарный файл спе- |
|
программирования в проектах |
ным энтузиазмом (а |
|
|||||||||||||||||||||
|
|
|
|
||||||||||||||||||||||
|
циальный |
êîä, êîòî- |
с открытыми и свободно |
|
|
|
|
|
|
не тем, что некоторые |
|
|
|||||||||||||
рый после |
òîãî, êàê |
|
|
|
|
|
|
думают). ;-) Не боись! |
|
||||||||||||||||
произойдет |
ошибка, |
|
распространяемыми исходниками. |
È îäèí â ïîëå - âîèí! |
|
|
|||||||||||||||||||
|
создает специальный |
|
Вообще, сайт посвящен не только |
Еще среди первых ха- |
|
|
|||||||||||||||||||
отчет |
ñ |
указанием |
|
этой теме, но таких материалов |
керов бродили посту- |
|
|
||||||||||||||||||
места и типа ошибки. |
|
латы Хейфелля: “Кто |
|||||||||||||||||||||||
|
Бетатестеру остается |
|
там много. Советую зайти. |
будет жить для меня, |
|||||||||||||||||||||
|
только написать, что |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
åñëè íå ÿ |
||||||||
он такого мудреного |
|
|
|
|
|
|
|
Часть 7. Заветная единичка |
|
|
|
|
|
|
такой, если |
|
|
|
|
||||||
|
сделал, что нежный |
программный продукт “за- |
только для себя?”. Над ними стоит |
||||||||||||||||||||||
|
валился”, и отослать |
свою заявку с пожелания- |
|
|
лить, чтобы не превращать искусство |
|
|||||||||||||||||||
ми координатору. |
Координатор собирает все |
“Заветная единичка” - так называют первую |
мирования в рутину. ;-) Кодинг - это |
||||||||||||||||||||||
|
заявки и отдает их тем программистам, которые |
(1.0) версию продукта, которую можно начать |
средство самовыражения! Настоящий |
||||||||||||||||||||||
писали тот код, в котором произошла ошибка. |
официально распространять. Надо сказать, что |
вместо того, чтобы писать знаменитые |
|||||||||||||||||||||||
|
Таким образом, обычно каждый сам исправляет |
некоторые проекты с исходными текстами не |
вы на заборе, напишет несколько |
||||||||||||||||||||||
свои ошибки. Иногда коды разных программис- |
доживают до заветной единички. Многие уми- |
на странице ФБР или Пентагона! ;-))) |
|
|
|
|
|||||||||||||||||||
|
тов конфликтуют, и тогда поиском ошибки зани- |
рают еще на стадии 0.0.0.1, что весьма печаль- |
творению всякого нужного добра в |
||||||||||||||||||||||
|
маются все желающие. ;-) |
но. Тут есть несколько причин, которых следует |
не должно мешать абсолютно ничего. |
||||||||||||||||||||||
|
Часть 5. Придание формы, послед- |
избегать, если надумаешь сам писать большие |
пы, описанные выше и появляющиеся |
||||||||||||||||||||||
|
и кульные проги. Одна из главных - это ситуа- |
ших проектов, спокойно могут быть |
|||||||||||||||||||||||
ние штрихи |
|
|
|
|
|
|
|
ция, в которой координатор бросает работу над |
такими же и у “частного” |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
проектом. Говорят, что координатор/руководи- |
раммера. Только когда он один, он |
|||||||||||
После того, как набросан основной код, в дело |
тель проекта “сгорел”. Обычно это связано с |
себе сразу несколько (а то и все) дол |
|||||||||||||||||||||||
|
вступают всякие дизайнеры и художники. Они |
тем, что у координатора пропадает желание что- |
и художника, и программера, и |
|
|
|
|
||||||||||||||||||
|
обычно дорисовывают логотипы, иконки-пик- |
либо делать из-за частых препирательств с |
злобной старушки-процентщицы. И все |
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
тограммы, красивые заставки и оформляют |
программистами, младшими координаторами |
ны. Ведь интересной работы - как |
||||||||||||||||||||||
|
диалоги. Диалоги оформляются с точки зрения |
(если таковые есть), художниками и прочей со- |
ва - много не бывает. ;-) |
|
|
|
|
|
|||||||||||||||||
|
эргономичности - то есть удобства для частого |
чувствующей братией, которая считает, что “вот |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
использования. Злобный юзер и сам может не |
эту фичу надо убрать и переназначить эту кно- |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Годовая и Полугодовая подписка на 2001 год
на журналы издательства «Гейм Лэнд»
Подписка в России
Подписка на территории России оформляется во всех отделениях связи
по «Объединенному Каталогу 2001» («Зеленый каталог»).
Для удобства подписчиков все наши издания выделены единым блоком.
Заполни бланк и иди на почту!
Подписка в странах СНГ и Балтии
Подписка в этих странах оформляется по Специальному Каталогу. Подписные индексы на журналы:
«Хакер» - 29919 «Страна Игр» - 88767
«Страна Игр + CD» - 86167 «Official PlayStation» - 87022 «Official PlayStation + CD» - 86894
Зарубежная
подписка
Теперь можно Оформить подписку в США,
Германии, Англии, Франции и других странах Европы.
Подписка производится ON-LINE
на любой срок: Intertet: www.pressa.de E-mail: service@pressa.de Tel: (0341) - 9605279 • Fax: (0341) - 9605636
#
16 |
0010 |
КОНСТРУКТОР |
|
|
>СПЕЦВЫПУСК #4 |
|
“HACKED BY” DELPHI, VCC+
Поцелуев Виталий aka virvit (Virvit@udm.ru)
Сначала на Дельфях
Начнем с Delphi 5.0. Как только ты запустишь Дельфи, у тебя автоматом создаются новый проект и форма. Не бойся, форма не военная, а автомат не Калашникова ;).
Теперь сверху переходишь на вкладку Стандартные и ищешь там букву “A”. Это так называемый Label, в переводе с английского “метка”. Вот он нам и покажет заветное “Hello, World!!!”. Давишь на эту буковку мышатиной, а затем кликаешь на форме (окошечке) и ... у тебя появляется черная штуковина с надписью “Label1”. “Label1” тебя не устраивает (и меня тоже), посему дави F11, и слева у тебя появится окошко “Object Inspector” (налоговый - тьфу, Объектный Инспектор).
В нем ты можешь задавать всякие настройки объекта (в данном случае Label’а). Итак: изменить текст - Caption, цвет - Color, прозрачность - Transparent, шрифт и вс¸ с ним связанное - Font...
Ну все, теперь вводишь нашу фразу “Hacked
By”, или, если ты миролюбивый человек - фразу “Hello World” (кстати, это была первая фраза которую произнесла виртуальная ведущая новостей Ananova). Получилось? Если нет, то выпей чаю, и прочитай заметку еще раз. Наше приветствие будет отображаться в маленьком окошке. А что главное в окнах? То, что их можно закрыть. Ведь мы же не заподлянку сами себе пишем, верно? Поэтому сейчас мы сделаем батон, пимпу - в общем, то, на что можно нажать, кликнуть, давануть, чтобы захлопнуть форточку с нашим детищем.
|
|
КОНСТРУКТОР |
|
|
|
>СПЕЦВЫПУСК #4 |
0011 |
17 |
|
|
ÍÀ
++ È VB
|
|
На той же вкладке Standard есть нечто похожее |
Ну и на сладкое... Вижуал С++ (не |
Из появившегося окошка ты можешь выбрать |
|||
|
|
||||||
|
|
на кнопку с надписью “OK”. Кликай на не¸, за- |
путать с аспирином С) |
вс¸, что душе угодно, но делать прогу “мето- |
|||
|
|
тем на форму. Как менять свойства объекта, я |
|
|
|
дом тыка” не советую. Выбираешь “MFC |
|
|
|
|
|
|
|||
|
|
писал выше. А теперь самое интересное :-). Два |
Ты знаешь, на ч¸м хацкеры пишут свое “мягкое |
AppWizard(exe)”, справа вверху пишешь имя |
|||
|
раза кликни батон на тво¸м грызуне и перед то- |
варе” (не варение)? На |
Что будем ваять? |
||||
|
|
бой открылось окно с непонятными словами. Не |
чем созданы все эти |
||||
|
|
бойся, они на нафиг не нужны. Заметь, что кур- |
пинги, нюки, портскан- |
Пожалуй, крекер |
|||
|
|
сор стоит между begin и end. Пиши: Close; - эта |
неры, флудеры, сниф- |
Интернета мы оставим |
|||
|
команда закрывает тво¸ окошечко и программу. |
феры и прочая хакер- |
на потом, а пока |
||||
|
|
Поздравляю: твоя первая прога готова - дави F9. |
ская софтварезная ла- |
||||
|
|
А теперь на Васике |
буда, которую ты с гор- |
напишем что-нибудь |
|||
|
|
дым видом юзаешь? |
попроще. Например, |
||||
|
|
|
|
Конечно на Visual Ц с |
фразу Hacked By!!! Äà, |
||
|
|
Теперь сделаем это же самое на Visual Basic. Де- |
двуми плюсами! Посе- |
||||
|
|
ëàòü |
будем на 4 версии. Если ты смог выполнить |
му-поэтому ты сейчас |
да, все как в школе: |
||
|
|
||||||
|
|
âñå, |
что было описано выше на Дельфи, то на |
(с помощью Х, конечно) |
твоя первая прога бу- |
||
|
|
васике управишься за 5 сек. При запуске Васи- |
напишешь наше завет- |
||||
|
|
лия у тебя снова открывается окно (куда же без |
íîå “Hello, World!!!” íà |
дет просто выводить |
|||
|
|
||||||
|
|
них?) со всякими пока еще непонятными тебе |
этом “СПЯ” (Супер-Пу- |
текст в окне, а что |
|||
|
|
кнопенциями сверху и слева. |
пер Языке). А там уже и |
поделаешь? Думаешь, |
|||
|
|
|
|
до снифферов с бомбе- |
|||
|
|
|
|
рами недалеко :). Пи- |
легко быть хакером? |
||
|
|
|
|
сать будем на VCPP++ |
|
проекта (Project name) и давишь “OK”. Далее |
|
|
|
|
|
|
|||
|
|
|
|
5.0 , так как это наиболее распростран¸нная |
|||
|
|
|
|
версия. После запуска и открытия File -New ты |
внимательно разглядываешь следующее |
||
|
|
|
|
увидишь нехилый списочек проектов. |
окошко. |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Хотя нет. Слева ты найдешь уже знакомую тебе букву “A” и тот же батон, только без “OK”. Ну а
свойства объектов задаются здесь справа, в окне Properties.
Отличие лишь в самом языке, то есть, чтобы закрыть программу надо писать не “Close;” как в Делфи, а “Unload <имя формы>”. Читай по буквам: Unload Form1. Кликаешь два раза на свою кнопку и пишешь “Unload Form1”. Вот и все. Теперь давишь F5 и бежишь за друганом - гамером, дабы показать какой ты кульный программист. Тут главное не перепутать друга-гамера с другом-программером ;).
18 |
|
0012 |
КОНСТРУКТОР |
|
|
|
|
|
|
>СПЕЦВЫПУСК #4 |
|
|||
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Значит, так. Ты хочешь стать кодером. Нет, я знаю, что изначально ты хотел стать хакером, но фишка в том, что настоящий кул-хацкер обязательно должен уметь кодить, ну хотя бы чуть-чуть.
То есть, если ты можешь узнать ip чела и потом нюкнуть
его - это круто и стильно, и свою подружку ты конечно этим впечатлишь, но... Но не
своих друзей - программеров, потому что это умеют делать все. Поэтому мы будем учиться кодить, причем сразу на нескольких языках.
слова-то когда-нибудь слышал? Нет?! Ну и не забивай ими голову...”NEXT”
Следующий диалог озадачит тебя вот такими вопросами.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Дальше вс¸ интуитивно понятно: разверни па- |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
почку слева, в ней разверни Dialog и дважды |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
нажми на второй элемент списка. В середине |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
тво¸ окно, справа элементы. Кликай правым |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
батоном крысы на текст “ TODO: Place dialog |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
controls here.” И заходи в Properties. Справа, |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
где написано “ TODO: Place dialog controls |
|
|
||
|
|
|
|
|
|
|
Берешь словарик |
англо-русский, и, водя ука- |
|
|
|
here.” Пиши “HAСKED BY!!!”. Теперь вс¸ это |
||||||
|
|
|
|
|
|
|
зательным пальцем правой руки по экрану, а |
|
|
дружно сохрани и запусти, нажав на красный |
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
средним пальцем правой руки по словарю |
|
|
|
знак восклицания сверху. |
|||||||
|
|
|
|
|
|
|
(интересно как это у тебя такое получится), |
“Желаете ли вы сгенерировать |
комментарии |
|
Добро пожаловать в нашу банду! |
|||||||
|
|
|
|
|
|
|
переводишь все содержание окошка. Пример- |
для исходного кода?” - Да, please. - No, паси- |
|
|||||||||
|
|
|
|
|
|
|
ный смысл предоставляемого выбора таков: |
ба. “Как вы желаете использовать MFC биб- |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Одностраничный документ, Многостраничный |
|
лиотеку” - Как DLL. - Как статически подклю- |
|
Ну вот, сегодня ты написал ЦЕЛУЮ програм- |
||||||||||||||
|
|
|
|
|
|
|
документ, Базовый диалог. Чуть пониже Ц++ |
ченную библиотеку. Оставь все по дефолту и |
|
му!!! Свою! Теперь тебе осталось только выб- |
||||||||
|
|
|
|
|
|
|
спрашивает язык на котором будет выражать- |
...правильно: “NEXT”. И вот долгожданный фи- |
|
рать, какой язык тебе больше понравился, |
||||||||
|
|
|
|
|
|
|
ся твоя прога. Ставь английский - хакеру он |
íèø!!! Äàâè “FINISH”. |
|
купить пару толстых книг о нем и прочитать |
|
|
||||||
|
|
|
|
|
|
|
|
|
||||||||||
роднее :), а на русском в школе ты крестики - |
|
|
|
|
их. Ну, или, по крайней мере, дочитать этот |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
нолики играл. Короче, выбираешь Dialog |
Теперь она что-то там напишет и спросит: |
спец до конца. Все просто, правда? Так что, |
|
|
|||||||
|
|
|
|
|
|
|
based и NEXT. Теперь он тебя спросит про |
“OK” или “CANCEL”. Смотри не промахнись, |
пиши крутые проги, и удача с успехом придет |
|
|
|||||||
|
|
|
|
|
|
|
всякие приятности вроде Windows Socket, |
когда будешь нажимать на кнопки... Иди пос- |
к тебе сама. И помни: пиво и труд вс¸ перет- |
|
|
|||||||
|
|
|
|
|
|
|
ActiveX control, 3D control и пр. и др. Ты такие |
тавь чайку пока она будет генерить код... |
ðóò :-). |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|