Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги хакеры / журнал хакер / специальные выпуски / Специальный выпуск 4_compressed

.pdf
Скачиваний:
15
Добавлен:
20.04.2024
Размер:
7.13 Mб
Скачать

 

 

КОНСТРУКТОР

 

 

 

>СПЕЦВЫПУСК #4

001D

29

 

BR

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

на палитра Standard (она выбрана по умолча-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нию). Кликни один раз на компоненту Edit (най-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ди по хинтам), а затем щелкни на главную фор-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

му: там появится одна строка ввода. Можешь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

потаскать ее по главной форме мышкой или

 

 

 

 

 

 

 

 

 

 

 

 

 

 

порастягивать.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Теперь зацени: слева на экране вертикальная

 

 

 

 

 

 

 

 

 

 

 

 

 

 

панель Object Inspector - очень важная и удоб-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ная фича: в ней отображаются все свойства

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

всех компонент твоей проги. Сейчас вверху

 

 

 

 

 

 

 

 

 

 

 

 

 

 

написано Edit1:tEdit (если ты последний раз

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кликнул в строку ввода, иначе Form1:TForm1) -

 

 

 

 

 

 

 

 

 

 

 

 

 

 

это имя и тип выбранного сейчас компонента.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ниже, во вкладке Properties, можно найти

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

свойство Text, сейчас там написано Edit1, а на

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

до все напрочь стереть - это свойство говорит,

 

 

 

 

 

 

 

 

 

 

 

 

что будет написано в строке ввода при запус

-

 

 

 

 

 

 

 

 

 

 

 

ке программы. Запусти программу и посмот-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ри, что получится. Теперь аналогично помести

 

 

 

 

 

 

 

 

 

 

 

на форму еще одну строку ввода и расположи

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ее под первой: в первую юзер будет потом

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

впечатывать белиберду, а во вторую прога бу

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

äåò

писать

расшифровку. Сотри все в свойстве

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Text.

Найди на палитре и помести на панель

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кнопку (Button) и в свойстве Caption впиши “Do

 

 

 

 

 

 

 

 

 

 

 

 

 

 

it!” или что-нибудь такое - эта кнопь будет все

Внутри

 

 

 

 

 

 

 

 

 

 

 

 

запускать в твоей проге (свойство Caption у

 

 

везде кликал один раз). Перед тобой

откроет-

 

 

 

 

 

 

всех компонент отвечает за надпись, которая

 

 

 

 

ся окошко текстового реактора... то

åñòü ðå-

 

 

 

 

 

будет нарисована на компоненте; и еще: пока

Можно

запустить программулину и пощелкать

дактора, где будет написано:

 

 

 

 

 

 

 

 

вписывай те надписи на кнопках, которые

по кнопкам,

вписать чего-нибудь, но прога не

 

 

 

 

 

 

 

 

 

 

предлагаю я, чтобы мне было проще объяс-

дает результата, который ты от нее хотел: она

procedure

TForm1.Button2Click(Sender:

 

 

 

 

 

нить, позже ты все сможешь переделать по-

ни фига не перекодирует. Тут следует разоз-

TObject);

 

 

 

 

 

 

 

 

 

своему).

 

 

литься не на шутку и пойти бить морду подло-

begin

 

 

 

 

 

 

 

 

 

 

 

 

 

му автору статьи, который обещал, что кла-

end;

 

 

 

 

 

 

 

 

 

Далее надо как-то дать понять юзеру, в какую

виатура даже не понадобится, а кинул по всем

 

 

 

 

 

 

 

 

 

 

из строк писать лажовую строку, а в какой бу-

статьям, и прога вообще не заработала.

и еще всякой лабуды. Так вот, перед тобой

 

 

 

 

 

дет ответ. Для этого помести на форму два

 

 

 

 

процедура, которая будет выполняться после

 

 

 

 

 

компонента Label (иконка в виде буквы “А” на

Весь секрет того, что программа ни фига не

того, как кто-нибудь кликнет на кнопь “Выход”

 

 

 

 

 

палитре Standard), один левее первой строки

делает, заключается в том, что ее еще ничего

во время работы программы. Сейчас она пус-

 

 

 

 

 

ввода, другой левее второй. В первом в свой-

не просили делать. Поясню на примере. Мож-

тая, то есть ничего не делает, поэтому такая

 

 

 

 

 

стве Caption впиши “Вводи сюды:” или что-то

но сделать скриншот с десктопа, поставить

лажа и получалась - щелкаешь по ней, а ей

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в этом роде, а во втором - “Ответ тут:”. Потом

его вместо обоев, скрыть значки, и что полу-

все по фигу. Ща все исправим: вписывай меж-

 

 

 

 

 

 

в низу формы помести еще две кнопки, в од-

чится: та же картинка, те же иконки, но сколь-

ду begin и end (то есть в “тело” процедуры) та-

 

 

 

 

 

ной впиши “Выход”, в другой “About”. Значе-

ко по ним ни кликай, ни одна прога не запус-

кую строку:

 

 

 

 

 

 

 

 

 

ние свойства Caption может быть любым, так

тится, а все потому, что и не должна запус-

Form1.Close;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

что пиши по-русски или по-аглицки и любую

титься, так как никто ей не сказал, что если

 

 

 

 

 

 

 

 

 

фигню - что захочешь. Теперь размести все

какой-то урод будет по дурацким этим обоям

 

 

 

 

 

 

 

 

 

 

компоненты ровнее на форме (форму можешь

щелкать, ей надо запускаться, и вообще. Ну

Теперь, когда эта кнопь будет нажата, эта про-

 

 

 

 

 

растягивать мышью или устанавливать свой-

вот, надеюсь, я пояснил необходимость того,

цедура скажет главной форме (главная форма

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ства Height и Width ручками в Object Inspector).

что сейчас тебе придется делать. Надо каждой

она потому и главная, что к ней все “крепит-

 

 

 

 

Если на какой-нибудь компонент щелкануть

кнопке сказать, что она должна делать, когда

ся”, и если ее закрыть - закроется вся прог-

 

 

 

 

правой кнопью крысы, то выскочит менюха, в

по ней кликают. Придется всерьез взяться за

рамма) “Закройся”, и все будет зашибись. За-

 

 

 

 

которой есть пункт Align, поэкспериментируй с

клаву.

 

 

 

пусти и полюбуйся на это.

 

 

 

 

 

 

 

 

 

 

 

ним - это выравнивание того компонента, ко-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

торый у тебя сейчас выбран на форме (там ес-

Начнем с простого: хочется, чтобы при нажа-

Еще можно слепить панель, которая будет

 

 

 

 

ть выравнивания по левому краю, по правому,

тии на кнопку “Выход” прога закрывалась нап-

выскакивать при нажатии на кнопь “О проге..”

 

 

 

 

по центру и др.). К этому моменту у тебя дол-

рочь. Даблкликни на эту кнопку на главной

и содержать всякую лабуду. Все просто: в

 

 

 

 

жно получиться что-то типа того:

форме (заметь, ДАБЛКЛИКНИ, до этого ты

главном меню Дельфей выбираешь “Филе”, в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

30

 

 

 

001E

КОНСТРУКТОР

 

 

>СПЕЦВЫПУСК #4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нем “New...”, выскочит окошко, в нем смело

запуском Дельфа что-то спросит - говори -

нижнюю строку (RusLet) - переключаешься на

 

 

выбирай вкладку “Forms”, там по умолчанию

Да) и насладись открывшимися возмож-

русский и повторяешь все как и для предыду-

выбран AboutBox, щелкай “ОК”. Дело в том,

ностями.

щей строки.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

что в комплекте Дельфей есть некоторое ко-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

личество готовых форм “специально для ле-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нивых”, их надо только подправить.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Итак, есть четыре компонента Label и один

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Image. Сперва исправь свойства Caption у

 

 

 

 

 

 

 

 

 

 

 

 

 

 

всех Labelов - не бойся их растягивать, они

 

 

 

 

 

 

 

 

 

 

 

 

 

 

могут содержать несколько строк текста (для

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

этого надо свойство WordWrap поставить

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

True, а не False, как по умолчанию). Теперь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Image - выбирай свойство Picture, щелкай где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

три точки и далее Load любую картинку (Bmp-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

формата), размеры смотри в свойствах Height

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и Width, можешь их изменить, но Дельфа сож-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мет картинку любого размера под те, что там

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вписаны. И, наконец, даблклик по кнопке

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

“ÎÊ”

на панели

About

- и там в редакторе впи-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сывай

почти то

æå

самое, что и раньше:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AboutBox.Close;

 

Вот и настал тот момент, когда тебе все-таки

Дельфа, когда будет

обрабатывать эту

запись,

 

 

 

 

 

 

 

 

 

 

придется написать основной алгоритм прог-

будет читать так: “ага, написано const,

значит

 

 

 

 

 

 

 

 

(говоришь панельке

About закрыться при на-

раммы, иначе, как уже говорилось, само оно

дальше идут константы, клево, щас

должно

 

 

 

 

 

 

 

 

жатии).

 

 

не заработает. Даблклик на кнопке “Do it!”, и

быть имя первой константы, О-ппа,

написано

 

 

 

 

 

 

 

 

 

 

 

 

попадаешь в редактор.

EngLet, это оно и есть, вот двоеточие,

а после

 

 

 

 

 

 

 

 

Тут я хочу сказать об одной полезной фиче -

 

него должен быть тип указан. Во! Да тут так и

 

 

 

 

 

все названия по умолчанию в Дельфях - “го-

Сначала попробуем расшифровывать с ан-

написано: string, значит константа будет стро-

 

ворящие”, вроде Button1, Edit1 - сразу понят-

глийского на русский. Для этого придется за-

ковой, я потрясена! Теперь равно, а опосля и

 

но, о чем идет речь. Точно так же и с проце-

дать соответствие между английскими и рус-

значение должно быть в апострофах, и “;” - да

 

дурами, зацени: эта процедура называется

скими буквами на клаве. Мы поступим так:

тут все так и написано, а раз все верно, то я

“TAboutBox.OKButtonClick”, если ты знаешь

введем две строковые константы, в одной

ругаться не буду. Блин, да тут еще одна кон-

английский, сразу можешь врубиться, на фи-

последовательно укажем все символы русской

станта!..” и так далее, ну, примерно так, тока

га она нужна - вызывается, когда в AboutBoxе

раскладки клавы, а в другой - английской.

не по-русски, а по-своему, по-Дельфивски.

Clickнут по кнопке OK. По-моему - удобно, но

 

 

 

 

 

 

 

 

 

 

 

 

 

 

это - дело вкуса.

Итак, редакторе ползи наверх, пока не встре-

Апострофы по краям говорят-показывают гра-

 

 

 

 

тишь жирную надпись var. Над ней надо впи-

ницы строки, в английской раскладке на клаве

 

 

 

 

 

 

 

 

В левом верхнем углу этой формы у нас по

сать следующее:

встречается апостроф - найди его в строке

умолчанию написано About, но, выбрав в ин-

 

EngLet и поставь рядом еще один, теперь

 

спекторе AboutBox, можно поменять, как

const

Дельфа врубится, что здесь не конец строки, а

обычно, свойство Caption.

 

символ “апостроф”.

 

 

 

 

EngLet : string = ‘~!@#$%^&*()QWER-

 

 

 

 

 

 

 

 

 

 

 

 

 

Если ты был наблюдательным, ты просек, что

TYUIOP{}ASDFGHJKL:”ZXCVBNM<>?qwer-

Теперь найди процедуру TForm1.Button1Click

мы нигде еще не сказали, чтобы наша панель

tyuiop[]asdfghjkl;’’zxcvbnm,./’;

и дополни ее до следующего:

 

 

 

 

 

 

 

 

выскакивала при нажатии на соответствую-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

щую кнопь. На главной форме даблкликни на

RusLet : string = ‘¨!”¹;%:?*()ЙЦУКЕН-

procedure

TForm1.Button1Click(Sender:

кнопень “О проге...” и в окне редактора впи-

ГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,йцу-

TObject);

 

 

 

 

 

 

 

 

 

 

 

ши в тело процедуры следующее:

кенгшщзхъфывапролджэячсмитьбю.~’;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AboutBox.Show;

 

var

 

 

 

 

 

 

 

 

 

 

 

Строки эти надо набирать так: верхнюю

 

i, j, flag

 

integer;

 

 

 

 

(EngLet)- переключаешься на английский, за-

 

Result

 

: string;

Это для всех форм одинаково - метод Show их

жимаешь shift и начинаешь слева направо

begin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

показывает, а метод Close - закрывает.

последовательно нажимать клавиши той стро-

 

Result:=’’;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ки на клаве, где цифры, потом той, которая

 

for i:=1 to length(Form1.Edit1.Text) do

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сохрани проект - теперь у тебя спросят имя

ниже, и так далее, потом отпускаешь shift и

begin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

для файла только что сделанной панели “О

повторяешь (управляющие кнопки, вроде tab,

 

for j:=1 to length(EngLet) do begin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

проге...”. Запусти свое творение (если перед

enter и других, нажимать не надо); теперь

 

if EngLet[j]=Form1.Edit1.Text[i] then

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

КОНСТРУКТОР

 

 

 

>СПЕЦВЫПУСК #4

001F

31

 

 

 

 

 

break;

 

полученную

 

строку вписываем во

 

вторую

for i:=1 to length(Form1.Edit1.Text)

 

 

do

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

строку ввода - в свойство Text компоненты

begin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Result := Concat( Result, RusLet[j] )

Edit1 на форме Form1, во как.

Flag:=0;

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

for j:=1 to length(EngLet) do begin

 

 

 

 

 

 

 

Form1.Edit2.Text := Result;

Кидалово

 

 

if EngLet[j]=Form1.Edit1.Text[i]

then

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

begin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Догадайся, где я тебя только что кинул!.. До-

Flag:=666;

 

 

 

 

 

 

 

Попробую объяснить, что все это значит.

гадался? Нет!

break;

 

 

 

 

 

 

 

После слова var Дельфа ищет объявление пе-

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ременных, как после const она ищет констан-

Правильный ответ такой (запусти прогу и

end;

 

 

 

 

 

 

ты. Мы с тобой хотим три целых переменных

проверь): если ввести “Dj,kf” то прога выдаст

if Flag=666 then Result := Concat(

 

 

 

 

 

 

 

 

 

 

(integer) и одну строковую (string) - так и пи-

“Вобла”, а если ввести “Dj,kf b gbdj”, то она

Result, RusLet[j] )

 

 

 

 

 

 

 

 

шем, и указываем имена. Что делается в те-

ответит

 

снова “Вобла”, а “gbdj” (пиво)

 

îíà

else Result := Concat(

 

Result,

 

 

 

 

 

 

ле этой процедуры: берем первую букву вве-

зажмет и

 

не отдаст.

 

 

Form1.Edit1.Text[i] );

 

 

 

 

 

 

 

 

 

денной строки, пусть ввели “Rthlsr”, значит

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

первая буква “R”, ищем ее в строке EngLet,

- Почему,

 

нехороший человек, ты меня

 

опять

end;

 

 

 

 

 

 

 

запоминаем, какой по счету она стоит там, и

кинул? -

 

вежливо, не ругаясь, спросишь

 

ìåíÿ

Запусти и убедись, теперь прога

 

работает

 

 

 

 

 

 

 

 

 

 

 

 

 

берем символ из строки RusLet с таким же

òû.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

номером:

можешь

 

 

 

 

 

верно.

 

 

 

 

 

 

 

 

сам посмотреть там,

Сложно? Не

очень. А

главное

Чтобы прога стала

 

перево-

 

 

 

 

 

 

где ты объявил кон-

- результат:

òû êðóò!

Ó òåáÿ

 

 

станты

 

EngLet è

дить с русского

неправиль-

 

 

 

 

RusLet -

 

ïîä

буквой

есть настоящая грамотная

ного на английский

ïðà-

 

 

 

 

 

 

 

 

“R” написана

буква

серьезная прога. Можешь

 

вильный, скопируй

âñå, ÷òî

 

 

 

 

“К”, запомним ее, те-

 

находится

между

апостро-

 

 

 

 

выкладывать это файло на

 

 

 

 

ïåðü èùåì

вторую

фами в объявлении

строки

 

 

 

 

 

 

 

букву - “t”, находим

своем сайте и хвастать

 

EngLet, è

помести

перед

 

 

 

 

“и” и так далее, полу-

всем, что ты теперь

 

 

 

закрывающим апострофом

 

 

 

 

чаем “Кирдык”.

 

 

 

 

 

 

 

 

â

объявлении

строки

 

 

 

 

 

 

 

 

 

программер, а не просто

 

RusLet и наоборот (если бы

 

 

 

Найденные

символы

кул-хацкер. Удачи тебе, и, на-

строки

áûëè

такими:

 

 

 

мы будем

сохранять

деюсь, эта прога не будет

EngLet - ‘QWE’, à RusLet -

 

 

 

 

в переменную Result,

‘ЙЦУ’, то после этих опера-

 

 

 

 

поэтому

äëÿ

начала

для тебя последней :).

 

ций получилось бы: EngLet

 

 

присвоим

åé

пустую

 

 

 

 

 

 

 

 

-

‘QWEÉÖÓ’, à

 

 

 

 

 

 

строку. Теперь берем цикл for от первой до

- А чтобы ты внимательнее относился потом к

‘ÉÖÓQWE’).

 

 

 

 

 

 

 

последней буквы введенной строки (она хра-

написанию кода, потому что, чтобы найти

 

 

 

 

 

 

 

 

 

 

нится в свойстве Text компоненты Edit1, а

ошибку, нужно гораздо больше времени, чем

Теперь мелочи: свойство BorderStyle

 

 

 

 

функция length возвращает нам длину вве-

на то, чтобы написать здоровенную прогу

Form1 можно

поставить равным

 

 

 

 

 

 

денной в нее строки - для рассмотренного

всего с одной этой ошибкой, - отвечу тебе я.

чтобы основную панель нельзя было

 

 

 

примера она вернет 6, и цикл будет испол-

 

 

 

 

 

 

нуть. А в свойстве Icon можно

 

 

 

 

 

 

няться от одного до шести). Еще один цикл

Секрет в том, что когда мы во втором цикле

дартную иконку Дельфей в левом

 

 

 

 

 

 

for - начиная с первого символа, просматри-

ищем в строке EngLet символ “пробел”, мы

лу главной панели на любую другую.

 

 

 

 

ваем строку EngLet до конца (length(EngLet) и

его там не находим, огорчаемся и добавляем

 

 

 

 

 

 

 

 

 

 

проверяем оператором if, не совпадают ли та

â

переменную

Result

символ

EXE-файл своей проги ты найдешь на

 

 

 

 

 

 

 

буква, которую мы сейчас ищем

RusLet[length(Englett)+1], а это за пределами

той директории, куда ты сейвил

 

 

 

 

 

 

(Form1.Edit1.Text[i]), и та, на которую сейчас

нашей строки, и там лежит какая-то лажа.

Вот такие пироги

 

 

 

 

 

 

 

указывает счетчик j внутреннего цикла (а он

Поэтому поступим так - введем специальную

 

 

 

 

 

 

 

 

 

 

 

 

 

указывает на EngLet[j]); если совпадают - то

переменную Flag - флажок, который мы бу-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

выскакиваем из цикла при помощи оператора

дем по умолчанию поднимать, а опускать -

Сложно? Не очень. А главное -

 

 

 

 

 

 

break, кричим во все горло “Rulezz!” и добав-

если нашли нужный символ в строке EngLet.

крут! У тебя есть настоящая

 

 

 

 

 

 

ляем найденную буковь (RusLet[i]) к строке

Потом если он окажется все еще поднятым

серьезная прога. Можешь

 

 

 

 

 

 

 

Result при помощи функции Concat (она бе-

после окончания цикла, мы будем добавлять

файло на своем сайте и хвастать

 

 

 

 

 

 

 

 

 

 

рет две строки, приписывает к концу первой

в Result не из RusLet[i], а прямо из

теперь программер, а не просто кул-

 

 

 

 

 

 

 

 

 

 

 

 

 

вторую и возвращает полученную строку. До-

Form1.Edit1.Text[i] - то есть, в нашем случае,

Удачи тебе, и, надеюсь, эта прога

 

 

 

 

 

 

гадайся, что вернет эта функция, если ее

добавлять пробел там, где надо.

 

 

для тебя последней :).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вызвать так: Concat( “Fu”, “ck off!” ) ). Вот и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

все, а после того, как циклы завершатся, мы

Итак, исправь эту часть процедуры вот

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

32

0020

ЗАКРОМА РОДИНЫ

>СПЕЦВЫПУСК #4

ПРОГРАММИС

РЕСУРСЫ В

Horrific (smirnandr@mail.ru)

 

Êîìó áû

 

WWW.TORRY.RU

жешь их выложить здесь. Будь уверен, твою

жаловаться на

 

работу обязательно заметят. Если ты слишком

Я решил начать именно с этой странички. Хотя

жадный, чтобы даром отдавать кому-нибудь

недостаток

нет, страничкой это не назовешь - это просто

свой труд, то можешь назначить цену. И если

èíôû - òàê

чемодан какой-то. Чемодан информации. Если

твоя работа действительно стоящая, то ты

только не

 

ты пишешь свои проги на Delphi, то этот УРЛ -

сможешь прожить беззаботную жизнь - прав-

 

твой. Тут расположено громадное количество

да, недолгую :).

программерам.

компонентов, примеров, вспомогательных

 

Äëÿ íèõ â

 

прог, документации, книг и куча всякой всячи-

Очень сильно радует большое количество фри-

сетке просто

ны. И создал это чудо природы Maxim Peresada.

варных софтин, которые могут помочь в нелег-

Хотя, по моим сведениям, он русский, я все же

ком труде кодинга. Хотя некоторые из них боль-

море докумен-

написал его фамилию как она есть в оригинале

шие - хрен сольешь. Эту проблему можно ре-

тов, исходни-

на сайте, чтобы не обидеть человека.

шить с помощью громадного количества зер-

ков, компонен-

 

кал, подобрав наиболее быстрое из них. НО!

 

Самое, пожалуй, грустное для всех нас: несмот-

тов и другой

 

ря на российский адрес странички, все здесь на

ерунды. А если

 

английском. Так что убирай свою улыбку и за-

 

пасайся англо-русским словарем.

говорить о

 

 

 

начинающих -

 

Чтобы не заканчивать на такой страшной ноте,

ооо... Каждая

 

я еще раз похвалю www.torry.ru. Здесь есть

 

очень важный и очень полезный для нас раздел

вторая

 

 

 

 

- Humor. Сей хумор тоже на английском, но я

страничка

 

 

всем советую почитать этот раздел. Вот нес-

пытается обя-

 

колько хуморин в русском переводе и моей ин-

 

терпретации:

зательно нау-

 

У сайта не очень яркий и не очень привлека-

1. Корпорация Microsoft и Boeing Corp. рады

чить очередно-

тельный дизайн, зато навигация достаточно

го ламера уму-

удобная, за нее - 5 баллов :).

сообщить о месяце совместной программы. Вы

 

можете бесплатно пролететь на Boeing 797 бет-

разуму.

 

Очень важно, как мне кажется, и регулярное об-

òà. Æäåì âàñ!!!

Ó ìåíÿ çà 10

новление. Сайт обновляется не реже чем каж-

 

дую неделю, и количество информации очень

2. Чем отличается женщина и Windows 95? Ни-

лет програм-

быстро растет. Все новое можно легко найти в

чем. Обе они обладают способностью вешать

мерского ста-

специально отведенном разделе, и не надо ко-

на вас тонны бесполезной информации и триж-

жа собралось

пошиться среди бабушкиного белья.

ды просить подтверждения очевидных вещей.

 

 

громадное ко-

Приличное количество доступных компонентов.

3. Один ламер говорит другому: Вчера я вклю-

личество ссы-

Все очень удачно разложено по разделам. С

чил свой компьютер, и запустился Norton.

лок любого

другой стороны, поисковой системы на сайте

Смотрю, а у меня на левой панели диск С:\ и на

просто нет. Иногда бывает сложно сразу же

правой панели диск С:\. Я подумал, зачем мне

направления и

найти определенный файл, приходится беско-

два одинаковых диска С:\? Взял и с одного из

ориентации.

нечно ковыряться в этих самых удобных разде-

них все удалил.

Хочешь, я

 

лах. Maxim, правда, обещает исправить эту си-

 

 

туацию в ближайшее время.

4. Жена и муж (оба программисты) лежат в пос-

поделюсь

 

 

òåëè:

с тобой?

 

Если ты - программер со стажем, и у тебя ес-

Она: Вы хотите повторить процедуру?

 

ть свои наработки в виде компонентов, то мо-

Он: Функция не возвратила значение...

 

 

 

 

 

ЗАКРОМА РОДИНЫ

 

 

 

>СПЕЦВЫПУСК #4

0021

33

 

ТСКИЕ

ÑÅÒÈ

 

 

 

VR ONLINE

бовать от одного человека, да еще и без спон-

что это похоже на фантастику о бедном хаке-

 

 

 

 

 

 

 

 

 

 

 

соров.

ре и его друзьях. Не сказал бы, что бомба, но

 

 

 

 

 

 

 

 

 

 

 

 

 

 

http://www.crosswinds.net/~vrmag/

 

мне показалось интересным. Я его распечатал

 

 

 

 

 

 

 

 

 

 

 

Сейчас на страничке доступны 3 номера жур-

и сейчас читаю в свободное время. Не буду

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Следующий неплохой ресурс. Он будет очень

нала. Мне удалось связаться с разработчиком

больше ничего говорить. Если захочешь, то

 

 

 

полезен программистам все того же Delphi,

(скажу сразу, что он единственный, кто быс-

сможешь сам все увидеть.

 

 

 

хотя и все остальные здесь найдут полезную

тро ответил на мой запрос), и он меня уверил,

ROMKA GRAPHICS.

 

 

 

инфу. Все пишется так, чтобы понимали прог-

что уже готов августовский номер, и мы его

 

 

 

раммеры любых отклонений (особенно люби-

увидим позже, потому что есть какие-то проб-

 

 

 

 

 

òåëè Ñ).

 

 

 

 

 

 

лемы с закачкой. Поверим ему на слово, но...

http://www.math.ut.ee/~romka/index_rus.htm

 

В отличие от предыдущей странички, дизайн

если обманет, то будет иметь дело со мной :).

Эта страничка посвящена программированию

 

 

 

 

 

мне понравился. Нельзя сказать, что отлич-

На данный момент в этом журнале описы-

на OpenGL. Первый взгляд говорит, что сайт

 

 

 

 

 

 

ный, но и не скажешь, что плохой. Неплохая

ваются следующие темы:

только начинает строиться. Информации не

 

 

 

навигация, все быстро грузится, а самое глав-

 

так уж и много, но она очень интересная и

 

 

 

íîå

- никаких баннеров и рекламы. Хотя нас-

1. Программирование на Delphi (общие сведе-

очень полезная. Сейчас здесь очень много

 

 

 

 

 

 

÷åò

рекламы я поторопился: хозяин ищет

ния и использование графики).

проблем, но будущее у странички есть.

 

 

 

спонсоров, и, вполне возможно, он их найдет,

2. Программирование в Internet или в локаль-

 

 

 

 

 

 

 

потому что его работа стоящая.

íîé ñåòè.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. Программирование момедов. Эта тема бу-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

дет полезна не только программистам, но и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

юзерам.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4. ßçûê SQL.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5. Уроки программирования на OpenGL

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6. Для создателей игр - DirectX.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Самая интересная для нас статья находится в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

июльском номере - “Воровство паролей”.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Здесь рассказывается, как без проблем напи-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сать прогу, которая вытащит тебе все пароли,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

даже если они не сохранены в pwl-файлах.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Немного оторвусь и расскажу, как это рабо-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тает. Окна пользовательского размера (95/98

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и даже старые NT) при старте загружают в па-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мять все пароли и держат их там. Если поль-

Так уж получилось, что мне придется

больше

 

 

 

 

 

 

 

 

 

 

 

 

зователь ввел еще один пароль, то он тоже

ругать Ромку, чем хвалить. Но все же

ÿ ñîâå-

 

 

 

 

Âñÿ

информация здесь выполнена в виде жур-

остается в памяти, пока компьютер не перег-

тую тебе сюда заглянуть, особенно

åñëè òû

 

 

 

 

 

 

 

 

 

нала. Это и преимущество, и недостаток.

рузят. В этой статье показаны недокументиро-

собираешься заняться 3D графикой с

исполь-

 

 

 

 

 

 

 

Преимущество в том, что любая инфа сопро-

ванные функции, которые позволяют выта-

зованием OpenGL. Правда, как это ни пара-

 

 

 

 

 

 

 

 

 

вождается комментариями и пояснениями,

щить из кэша эти пароли.

доксально, и дизигн, и графика на паге здоро-

 

 

 

 

что очень полезно для программеров других

 

во хромают.

 

 

 

 

языков (отличных от Delphi) и самое главное -

Если у кого возникнут проблемы с написанием

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ламеров :). Это хорошо, что здесь не забы-

кода, то он может скачать себе исходники в

Вся информация достаточно доступна для

 

 

 

вают про чайников. Если ты решил заняться

архиве. В каждой статье есть ссылка на гото-

программеров с небольшим стажем. Если ты

 

 

 

программированием и ничего в этом не ру-

вые исходники. Так что, если у тебя генети-

начинающий, то сначала посети “VR online” и

 

 

 

бишь, то здесь тебя научат.

ческая ошибка в ДНК, то скачай себе все ис-

только потом иди сюда, чтобы повысить свой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ходники и не мучай клаву :).

экспириенс. Исходные тексты демок написаны

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Недостаток оформления в виде журнала - это

И напоследок: на все три выложенных на сай-

на С. Они очень просты и понятны, если

 

 

 

то, что очередного обновления приходится

имеешь какие-нибудь начальные знания языка

 

 

 

ждать целый месяц :). Желательно, чтобы

те номера разбит рассказ неизвестного авто-

С и OpenGL. А вот без базовых знаний тут ло-

 

 

 

журнал выходил почаще, но такое трудно тре-

ра - “Dark Horror”. Мой острый глаз говорит,

вить нечего :(.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

34

0022

ЗАКРОМА РОДИНЫ

 

 

>СПЕЦВЫПУСК #4

 

 

 

 

 

 

 

 

 

INTERFACE LTD.

http://www.interface.ru/interf.htm

На очереди теоретический сайт. Здесь полно информации, касающейся не только программистов, но и руководителей, администраторов и остальной компьютерной элиты. Сюда необходимо заглядывать за новостями. Программист, как никто другой, должен знать обо всех нововведениях.

полно инфы для сетевых и Web-программеров. Я тебе даю ссылку на библиотеку этого клуба. Сюда стоит захаживать за доками на любую программерскую тему.

на его любимом языке. Я очень часто здесь бываю, чтобы скачать очередную порцию примеров или документации.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Зайдя сюда, ты наткнешься на самую

ужасную

 

 

 

 

 

 

 

Теперь разберем все по косточкам. Как всегда,

 

 

 

 

 

 

начнем с дизайна. Он достаточно хорош - мо-

 

навигацию, которую

только можно себе

ïðåä-

 

 

 

 

 

 

 

 

 

жет быть, один из лучших среди подобных сай-

ставить. Хозяева зачем-то выложили на

главную

 

 

 

 

 

 

 

 

 

 

 

 

 

тов. Навигация тоже в поряде. Каждый раз, ког-

страницу новости во весь экран и кучу

ненуж-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да я сюда захожу, складывается такое впечатле-

ной ерунды. Сразу заметно, что проект

ведет

 

 

 

 

 

 

 

 

 

 

ние, что я здесь родился :).

женщина :). Если хочешь избавиться от

некото-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

рых проблем с навигацией, то начинай

ñâîå ïó-

 

 

 

 

 

 

 

 

 

 

Теперь по поводу инфы. Ее здесь полно, и она,

тешествие с карты сайта http://delphi.vi-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в основном, теоретическая. Если ты захотел

tpc.com/asp/catalog.asp. Леночке (она ведет

 

Êàê è

большинство

 

сайтов компьютерной тема-

 

познакомиться с языком программирования,

этот проект) уже давно пора сделать карту на-

 

 

 

òèêè,

эти страницы

страдают плохим дизайном.

 

используемым в Интернете, то твоя дорога ле-

чальной страничкой и добавить к ней новости.

 

 

 

Такое

ощущение, что

программеры - это не лю-

 

жит сюда. Здесь есть инфа по языкам размет-

Главное - все это сделать аккуратно. А я поста-

 

ди. Да и не сможешь

ты здесь найти конкрет-

 

ки, языкам программирования в сети и Web,

раюсь дать тебе как можно больше прямых ссы-

 

 

 

 

ную инфу по программированию - зато смо-

 

серверам (установка, настройка и прочая ерун-

лок, чтобы ты не заблудился.

 

жешь найти достаточно много интересного о

да), безопасности, протоколам, различным тех-

 

 

 

 

 

 

 

 

 

технологиях. Хорошо развиты ссылки на допол-

 

нологиям и куча другой ерунды. Все очень хо-

http://delphi.vitpc.com/table/search.asp - здесь

 

 

нительные источники, поэтому можно легко по-

рошо разбито по разделам.

 

 

 

 

 

 

 

находится поиск по круглому столу (по-нашему

 

полнить чемодан знаний из других источников.

 

 

 

 

 

 

 

 

 

 

ýòî FAQ). http://delphi.vitpc.com/treasury/se-

 

А самое главное здесь - это раздел “трудоус-

 

Очень часто выложенные здесь доки страдают

arch.asp - здесь находится поиск по сокровищ-

 

тройство”. Он состоит из двух подразделов:

недоеданием. В них описано все поверхностно

 

нице (библиотека).

 

 

 

 

 

 

 

“биржа труда IT-специалистов” и “Наши вакан-

 

или они просто неполные. Но попадаются и

 

 

 

 

 

 

 

 

сии”. Список предлагаемых здесь работ доста-

 

очень хорошие материалы, в которых ты най-

Некоторые из статей написаны плохим языком

 

точно большой. Хорошо устроен поиск интере-

 

дешь все, что тебе может понадобится.

и очень тяжело перевариваются в желудке. Бы-

 

сующей вакансии. С помощью фильтра ты мо-

 

 

 

 

 

 

 

 

 

 

вает даже, что застревают в горле, поэтому для

 

жешь выделить только те вакансии, которые те-

 

Здесь же ты можешь попробовать найти себе

понимания нужны достаточно хорошие знания

 

 

бе подходят. Работу здесь может найти не толь-

 

работу. Для этого рискни посетить раздел “бир-

языка. Хорошо, что такие статьи попадаются

ко программер, но и админ, и даже наш брат -

 

жа труда”. Люблю, когда предлагают денежку

редко.

 

 

 

 

 

 

 

хакер (как эксперт по безопасности, железу или

 

не отходя от кассы :).

 

 

 

 

 

 

 

 

софту). Предлагаемая на сервере работа ка-

 

 

 

 

 

 

 

 

 

 

Итак, этот ресурс подходит для программеров

 

сается в основном жителей Москвы. Я не так уж

 

Несмотря на маленькие недостатки, этот сайт

со стажем или для начинающих - как FAQ. Прав-

 

 

 

и много просмотрел вакансий, но все они каса-

 

смотрится очень красиво и аккуратно (так и хо-

да, если ты совсем чайник, то научиться здесь

 

лись нашей любимой столицы.

 

чется нагадить). Так что заходи сюда, чтобы уз-

будет тяжело.

 

 

 

 

 

 

нать о технологиях, используемых в сетке, и о

CIT Forum

 

Советую тебе этот сервак как новостной, как

 

программировании всего, что с этим связано.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

источник инфы о технологиях и для поиска ра-

 

КОРОЛЕВСТВО DELPHI

 

 

 

 

 

 

 

áîòû.

 

 

 

http://www.citforum.ru/

 

БИБЛИОТЕКА WEBCLUB

 

http://delphi.vitpc.com/

Как написано в заголовке, эта страничка хранит

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в себе “Море аналитической информации”. Я

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

http://www.webclub.ru/library/index.html

 

Следующая страничка будет полезна только

бы немного поправил авторов - здесь целый

 

 

 

 

 

 

программерам, использующим Delphi. Владе-

океан. Эта библиотека хранит в себе инфу на

 

 

 

 

 

Следующий проект называет себя “Российский

 

лец пытается собрать здесь все, что хоть ка-

все возможные программерские или околоп-

 

 

 

 

 

клуб веб-мастеров”, и здесь действительно

 

ким-нибудь боком касается программирования

риблудные темы. Здесь описываются различ-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЗАКРОМА РОДИНЫ

 

 

 

>СПЕЦВЫПУСК #4

0023

35

 

 

ные технологии, операционные системы, базы

 

 

 

 

 

 

 

 

 

 

 

примитивного программирования, я до сих

ïîð

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

данных, языки программирования (в основном

 

 

 

 

 

 

 

 

 

 

не знаю ничего. Книгу мне покупать в лом,

à â

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

разновидности С) и многое другое. Практичес-

 

 

 

 

 

 

 

 

 

 

 

Инете “жавабль” - единственный достойный

ðå-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ки все доки оформлены как книги и могут по-

 

 

 

 

 

 

 

 

 

 

ñóðñ.

 

 

 

 

 

 

 

 

 

 

 

мочь как начинающим, так и мегабрейнам.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если ты хочешь программить Яву, то заходи

ñþ-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да. Может быть, мы когда-нибудь с тобой здесь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

столкнемся.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

КЛУБ ЛЮБИТЕЛЕЙ С

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

http://www.cppclub.newmail.ru

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отдельные

 

- очень даже хороши. Если очень за-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

хочешь, то сможешь найти даже доки на ук-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

раинском.

 

Этого и следовало ожидать,

âåäü

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

страничка

 

находится в Хохляндии. Если у

òåáÿ ñ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

чувством

 

юмора все в порядке, то обязательно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

скачай себе пару таких книженций. Очень даже

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

интересно почитать инфу на этом языке - раз-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Странички сайта грузятся практически момен-

дел “хумор” этому сайту просто не нужен :).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тально из-за минимального использования гра-

Жаль, таких книг мало - в основном все написа-

 

 

 

 

 

 

 

 

 

 

 

 

 

фики. Вся информация очень удобно разложе-

ны русским

 

и понятным нам языком. Да,

åùå:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

на по разделам, и если что-то надо найти, то

 

 

очень

 

 

советую

заглянуть

â

 

раздел

 

 

 

 

 

 

 

 

 

 

 

 

 

это не составит особого труда. Разработчики

Security&Hack. Здесь есть немного полезной

 

 

 

 

 

 

 

 

 

 

 

 

сделали

даже поиск по серверу, хотя я им ни

(хотя и устаревшей местами) инфы.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ðàçó íå

пользовался.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вроде все, больше ничего интересного на этом

 

 

 

 

 

 

 

 

 

 

 

 

 

Почти все доки, выложенные здесь, пытаются

сайте нет. Двигаем дальше.

 

 

 

 

Я расскажу о нем очень коротко. Новости здесь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

научить программированию даже закоренелого

JAVABLE

 

 

 

 

 

можно не читать, толку от них мало. В раздел

 

 

 

 

 

 

 

 

ламера. Хотя ни одному документу не удается

 

 

 

 

 

“Книги” ты тоже можешь не торопиться. Ничего

 

 

 

 

 

 

 

 

все разложить по полочкам, как это сделано в

 

 

 

 

 

 

 

 

 

скачать здесь не дадут. Здесь просто полно от-

 

 

 

 

 

 

 

 

VR Online. Если у тебя нет генетической ошибки

http://www.javable.com

 

 

 

сканенных титулов продажных книжечек, зай-

 

 

 

 

 

 

 

 

 

в ДНК, то ты сможешь запросто научиться ко-

 

 

 

 

 

 

 

 

 

дешь сюда - сможешь только полюбоваться об-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

дингу на этих доках :). Правда, ты сильно рас-

Теперь я хочу познакомить тебя с ссылкой на

 

ложками и, в лучшем случае, прочитать аннота-

 

 

 

 

 

 

 

 

строишься, когда отыщешь интересующую тебя

сервер Java-программеров. Такой крутой до-

 

öèþ.

 

 

 

 

 

 

 

 

доку, потому что ее нельзя скачать себе на винт

мен, а все страницы еще и доступны на англий-

 

 

 

 

 

 

 

 

 

 

 

 

 

и почитать в off-line. Все книги разбиты на час-

ñêîì,

испанском,

французском,

 

немецком,

 

Но, несмотря на все это, здесь можно набрать-

 

 

 

 

 

 

 

 

ти и занимают по несколько страниц - сие удоб-

итальянском и моем любимом русском языке :).

 

ся хороших знаний, особенно в разделах “Фо-

 

 

 

 

 

 

 

 

но для загрузки и чтения, но не удобно для сох-

 

 

 

 

 

 

 

 

 

рум” и “Феньки”. На этом сайте, в основном,

 

 

 

 

 

 

 

 

ранения. Из-за этого приходится лазать по раз-

 

 

 

 

 

 

 

 

 

общаются между собой достаточно хорошо по-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

делам и сохранять или печатать кучу страниц, и

 

 

 

 

 

 

 

 

 

нимающие свое дело кодеры. Хотя иногда по-

 

 

 

 

 

 

 

 

только потом все соединять в одну доку.

 

 

 

 

 

 

 

 

 

падаются глупые вопросы и такие же глупые от-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

âåòû.

 

 

 

 

 

 

 

 

 

 

 

Для того чтобы узнавать новости сервера, есть

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

список рассылки, на который ты можешь под-

 

 

 

 

 

 

 

 

 

Очень интересен раздел “Проекты”. Если ты

 

 

 

 

 

 

 

 

писаться.

 

 

 

 

 

 

 

 

 

уже немного знаешь С/С++, то обязательно по-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сети. Здесь куча классных примеров. Возмож-

 

 

 

 

 

 

 

 

INFOCITY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

но, что ты подхватишь что-то новое :).

 

 

 

 

 

 

 

 

http://infocity.kiev.ua/main.html

 

 

 

 

 

 

 

 

 

Самый лучший ресурс для программера

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Следующий сайт расположен на Украине. Нес-

 

 

 

 

 

 

 

 

Я долго выбирал самый лучший из всех воз-

 

 

 

 

 

 

 

 

 

мотря на свое происхождение и поголовный пе-

Достаточно

 

хороший и удобный ресурс

äëÿ

 

можных ресурсов и пришел к выводу - это ФИ-

 

 

 

 

 

 

реход украинцев на свой родной язык, странич-

программеров, которые выбрали для себя тех-

 

ДО. Его главные достоинства - здесь редко оби-

 

 

 

 

 

 

ка выполнена на русском. Здесь полно инфы

нологию Java. Если ты один из них, то заходи -

 

жают ламеров, а чаще помогают; есть спе-

 

 

 

 

 

 

 

 

 

 

 

 

 

для программера, администратора, хакера и,

не пожалеешь. Тут можно найти громадное ко-

 

циальные конференции, в которых обмени-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

самое главное, - чайника :).

 

 

личество доков, факов и просто инфы по этой

 

ваются исходниками. Ну а самое главное - сеть

 

 

 

 

 

 

 

 

 

 

технологии. Правда, большинство доков тут на

 

бесплатна (хотя плата есть - это пиво :)).

 

 

 

 

 

 

С этой паги качай все подряд и читай в off-line -

английском. Точнее сказать, почти все. Я давно

 

 

 

 

 

 

 

 

 

 

 

 

благо, почти все доки зипованные.

 

 

уже пытаюсь заняться Java, но, кроме основ и

 

Подключайся к самым-самым!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

36

0024

ТЕОРИЯ

 

 

>СПЕЦВЫПУСК #4

 

ЯЗЫКИ ПРОГР ОБЗОР-ЛИКБЕ

The Hound Of Winter (thow@ireland.com)

Краткий список языков в хронологическом порядке по времени их создания:

(Как видно из списка, áóìпо созданию языков произошел в 60-х/70-х годах. В то время стремительно развивались аппаратные возможности компьютеров, появились персоналки и, соответственно, стали появляться частные

разработки языков программирования, которые потом стали пользоваться всеобщей популярностью.)

19xx BCPL

196x

BugSys

19xx IPL

196x

Algol & GAMS

19xx

A.Pa.Re.L.

196x

LISP

19xx Clipper

196x

Pascal

194x

Plan.Calcul

196x

Algol Ext.

1949

Краткий код

196x

Movie

1952

AutoCode

196x

Snobol

1953

SpeedCoding

196x

Scaner

1954

Dart

196x

POPlestone

1956

Flow-matic

1970

Forth

1957

APT

1972

C

1958

Algol-58

1972

L.dI de S.

1959

FACT

1972

Prolog

195x

Fortran

1976

Эльбрус-76

195x

Math-matic

1979

Ada

1960

Algol-60

197x

L.S.dE.

1962

APL

197x

SmallTalk

1964

Альфа

1985

BASIC True

1964

PL/1

1986

SGML

1964

BASIC

1987

Oberon

1967

LOGO

1988

A.W.K.

1967

Simula

198x

C++

1968

Аналитик-68

1992

Oberon-2

1968

Algol-68

199x

Perl

196õ COBOL

199x

Python

 

 

ТЕОРИЯ

 

 

 

>СПЕЦВЫПУСК #4

0025

37

 

АММИРОВАНИЯ. З.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ç

ачастую человек, который хочет нау-

ле. Как говорит мой знакомый: “Халявы

íà õà-

Дело было давно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

читься программировать, не может

ляву не бывает”. И он абсолютно прав. ;-) Что-

 

 

 

 

 

 

 

 

выбрать, с какого именно языка ему

бы иметь халяву, нужно учиться ее иметь! ;-)

На данный момент языков программирования

 

 

 

 

 

 

стоит начать обучение. Он мечется в

Нельзя стать крутым программистом а-ля Ро-

насчитывается наверняка уже гораздо больше

 

 

 

поисках

простого и понятного, но практически

меро (который есть автор DOOM’а и еще пары

сотни. Полный их список с короткими коммента-

 

 

 

 

 

 

 

 

везде

наталкивается на почти непреодолимую

знаменитых игровых движков от ID Software)

риями можно было бы напечатать брошюрой,

 

 

 

 

для непосвященного преграду из непонятных

просто так, “за нефиг делать” в течение неде-

вроде мемуаров отставного полковника. Первые

 

 

 

 

терминов, классификаций, структур. И обычно

ли. Но даже если ты учился кодингу десять

языки программирования появились еще в се-

 

 

 

 

самому разобраться в них не представляется

лет, знать о нем абсолютно все тоже не полу-

редине 40-х годов! Похоже, не удастся устано-

 

 

 

 

 

 

 

 

 

 

 

 

 

возможным. Так и появляются клянчащие ла-

чится. А потому надо разобраться, какие вооб-

вить, кто же все-таки был самым первым, но из

 

 

 

 

меры в ньюс-конференциях, которые в поис-

ще языки программирования существуют и

них сейчас известны забугорный “Plan.Calcul” и

 

 

 

 

ках помощи, исходят криком на продукты жиз-

какие наиболее популярны, а какие просты в

отечественный “Краткий код” для малых вычис-

 

 

 

 

недеятельности человека, доставая окружаю-

освоении и легче в понимании. Поделюсь соб-

лительных систем. Затем произошло что-то

 

 

 

 

 

 

 

 

щих своими криками, вроде: “НаУЧИте МЕня

ственными знаниями и опытом более шести

вроде взрыва активности по созданию языков

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПРАГРОМИРАВАТЬ!”. Можно попытаться по-

лет кодинга. Принимать за правила или руко-

автоматизации всяческих процессов, и этих са-

 

 

 

 

мочь таким людям, но в большинстве своем

водство к действию эту статью может и не

мых языков стало больше, чем грибов после

 

 

 

 

 

 

 

они хотят всего и быстро, а не понемногу и

стоит, но - информация к размышлению, как

дождичка в четверг. Самыми первыми, конечно,

 

 

 

 

 

 

 

 

 

 

 

постепенно, как это происходит на самом де-

говорят. ;-)

были языки, программы на которых выглядели

 

 

 

 

 

 

 

 

 

 

 

 

 

 

38

0026

ТЕОРИЯ

 

 

>СПЕЦВЫПУСК #4

 

 

 

 

 

 

 

 

 

 

“плоско”. Не было ветвлений и всяческих пере-

программистская кутерьма началась даже не в

ткой!) стала дочь Беббиджа - Кэтрин Беббидж.

 

ходов. Условные переходы - это уже следующая

этом веке (который, кстати сказать, уже прош-

Îíà

помогала ему

составлять программы

 

äëÿ

 

 

ступень развития, которая принесла намного

лый :)), а еще в ХIХ, позапрошлом веке. В тыся-

ýòîé

“чудо-машины”.

А кто-то говорил,

÷òî ó

 

 

 

больше функциональности и позволила делать

ча восемьсот тридцатые годы математик Чарль-

женщины-программиста

с программированием

 

 

 

 

нечто большее, чем сложение двух-трех чисел и

з Беббидж загорелся великолепной и (по тем

столько же общего,

сколько у морской свинки с

 

 

вычисление логарифма от двойки. Постепенно

временам) абсолютно сумасшедшей идеей пос-

морем. ;-)

 

 

 

 

 

 

 

 

 

 

 

 

 

новые (в то время) языки программирования

троения “думающей” машины. Идейка еще та

Как это делается?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

становились все больше и больше непохожими

была. ;-) Хотя Беббидж прекрасно понимал, в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

друг на друга, появлялись целые направления в

какую авантюру он втягивается, он все-таки ре-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

программировании со своими концепциями и

шился на постройку полностью автоматического

Однако вернемся к

íå

столь давним временам.

 

 

методами написания программ. Многие языки

счетного устройства. Эта машина должна была

Сегодня существует

òðè

основных принципа

íà-

 

 

 

 

появлялись исключительно благодаря опера-

выполнять одно сложение в секунду и работать

писания программ и,

соответственно, построе-

 

ционным системам, в сос-

Зачастую человек, который

 

íèÿ

 

языков программиро

-

 

 

 

 

 

 

 

 

тав которых они входили,

 

 

вания. Самый первый

èç

 

 

другие были очень удобны

хочет научиться программи

-

 

них и старший по возрасту

 

 

 

 

для написания программ

ровать, не может выбрать,

ñ

- модульный принцип. Мо-

 

на конкретном аппаратном

какого именно языка ему

 

дульным он назван потому,

 

обеспечении. Многие при-

 

что каждая

задача для

 

 

нятые сейчас стандарты в

стоит начать обучение. Он

 

предстоящего

программи-

 

 

 

период с конца 60-х до на-

мечется в поисках простого и

 

рования разбивается на ка-

 

 

 

чала 70-х попросту не су-

понятного, но практически

 

кие-то цельные завершен-

 

ществовали, и

каждый

 

ñîç-

 

ные части. И программиро-

 

 

 

давал железки

ïî

 

своему

везде наталкивается на поч-

 

вание ведется исключи-

 

образу и подобию. Без ка-

ти непреодолимую для непос-

 

тельно по этим частям - на-

 

ких-либо пожеланий быть

 

писали часть номер 1, про-

 

 

 

 

 

 

совместимым с кем-то

вященного преграду из непо-

 

тестировали ее, написали

 

 

 

еще. Таким образом, под

нятных терминов, классифика-

 

часть номер 2, протестиро-

 

 

 

каждую железяку свое

ций, структур. И обычно само-

 

вали ее - потом все вместе

 

 

 

программное обеспечение

 

собрали и получили прог-

 

 

 

(утилиты, драйвера, прик-

му разобраться в них не

 

раммный продукт. То есть

 

 

 

 

 

ладные программы) созда-

представляется возможным.

 

программу в конечном ито-

 

 

 

 

валось каждый раз с нуля.

 

ге можно представить в ви-

 

 

Так и появляются клянчащие

 

 

 

Происходило это, в об-

 

де мозаики, которую снача-

 

ùåì-òî, îò òîãî, ÷òî íå áû-

ламеры в ньюс-конференциях,

 

ла рисует, а потом и соби-

 

 

 

ло создано более-менее

которые в поисках помощи

 

рает вместе программист.

 

 

 

 

универсального языка (или

исходят криком на продукты

 

Большим плюсом данного

 

нескольких языков), подхо-

 

подхода (и,

собственно,

 

 

 

 

дящего для каждого кон-

жизнедеятельности человека,

 

причиной, по

которой он

 

 

 

кретного круга задач. Вот и

доставая окружающих своими

 

появился) является воз-

 

вынуждены были стараться

 

можность работы над прог-

 

 

 

 

 

 

 

 

 

 

криками, навроде НаУЧИте

 

 

 

 

 

 

 

 

 

 

 

 

кто во что горазд.

 

 

 

 

 

 

 

раммой не одного (заши-

 

 

 

 

Вскоре появился немного

МЕня ПРАГРОМИРАВАТЬ!”.

 

 

 

бись!) программиста, а

 

 

 

 

 

нескольких или даже нес-

 

заторможенный Си. Боль-

 

 

 

 

 

кольких групп программис-

 

шинство программ писалось на ассемблере,

без участия человека. Наверное, первым язы-

тов. Простых и близких примеров языков мо-

 

 

 

поскольку предпочтения

отдавались именно

ком программирования нужно считать язык

дульного принципа можно набрать сколько угод-

 

скорости выполнения программ, но Си посте-

программирования для машины Беббиджа. Он

íî - ýòî è Pascal, è C, Phyton è äàæå Perl ñ åãî

 

 

 

 

 

 

пенно вытеснил ассемблер, поскольку более

предполагал, что его машина будет складывать

модулями *.PM. Только последние два пред-

 

удобен для использования - ведь он все-таки

и вычитать за одну секунду, умножать два пяти-

ставляют собой несколько более продвинутый

 

язык высокого уровня, более нагляден и чуть

десятизначных числа за минуту, делить стознач-

вариант - о них немного позже. Весь код обыч-

 

позже вдобавок приобрел способность быть

ное на пятидесятизначное тоже за минуту. Шус-

но разбивается на процедуры и функции, каж-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

легко переносимым. Последнее оказалось од-

трая машинка ;-). Но, увы, он так и не достроил

дая из которых делает что-то независимо от

 

ной из главных причин популярности медленных

машину из-за нехватки средств (к тому времени

других. Не совсем, конечно, независимо, все-

 

 

 

 

программ на Си - их было легко устанавливать

вся машина целиком занимала огромную комна-

таки должна быть какая-то связь между ними. ;-

 

на самых разных компьютерах, зачастую вообще

ту) и рабочих. Своих денег Беббиджу не хвати-

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

не имеющих никакой совместимости.

ло, а никто другой не соглашался ему помочь,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Совсем

 

давным-давно

потому что никто не верил в эту затею с авто-

Обучение языкам программирования лучше на-

 

 

матической машиной. Ее даже называли “чуда-

чинать с языков модульного принципа - он наи-

 

 

 

 

 

 

 

 

 

 

 

чеством Беббиджа”. А первым программистом

более прост и понятен. Кроме того, он является

 

Страшно

 

подумать,

 

но вся эта компьютерно-

(и по совместительству - первой программис-

как бы “подложкой” для остальных двух принци-