книги хакеры / журнал хакер / 037_Optimized
.pdf
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
|
X |
|
|
|
|
|
|||
|
|
- |
|
|
|
|
|
d |
|
||
|
|
F |
|
|
|
|
|
|
t |
|
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
||
|
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
to |
BUY |
|
|
|||
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
||
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|
|||||
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Полный контроль над кнопкой “Пуск”
|
|
|
|
phi |
Horrific aka Фленов Михаил |
|
|
|
||||||||||
Del |
|
|
|
|
|
|
|
|
|
|
|
-online/ |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.cydsoft.com/vr |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.ru) http://www |
|
|
|
|||
|
|
|
|
|
|
|
(smirnandr@mail |
|
|
|
|
|
|
|||||
|
уже полгода с того светлого момента, |
как появился “Кодинг” на страницах нашего журнала |
||||||||||||||||
Прошло |
|
план, согласованный с главредом, уже закончился |
||||||||||||||||
|
|
|
|
|
|
|
÷òî |
|||||||||||
Когда я сел готовить эту статью, то заметил, |
|
|
|
è |
|
даже перевыполнил |
ïëàí, |
когда |
||||||||||
За полгода |
|
я смог рассказать все, что |
|
намечал, |
|
|
|
|||||||||||
|
|
|
|
паролей. Поэтому, пока мы с SINtez’ом |
||||||||||||||
|
|
просьбам |
написал программу для взлома |
|||||||||||||||
многочисленным |
|
|
|
письмо |
||||||||||||||
|
рубрики, ты в обязательном |
порядке должен написать мне |
||||||||||||||||
думаем над |
|
продолжением |
|
|
|
клянусь кариесам |
||||||||||||
|
|
|
|
|
|
|
рубрике |
в ближайшее время. А я |
||||||||||
описанием |
того, что ты хочешь увидеть в моей |
|
|
будут выполнены. |
Мои предложения |
|||||||||||||
|
|
|
что самые многочисленные |
просьбы |
|
|||||||||||||
на моих зубах, |
|
|
|
|
|
|
|
|
|
|||||||||
следующие: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
1. Продолжать приколы. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
2. Побольше сетевых вещей. |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
3. Графика OpenGL (хочу создавать демки). |
|
|
|
. |
|
|
|
|
|
|
|
|||||||
4. Графика |
|
DirectX (хочу создавать крутые демки) |
нашего журнала, я только жду |
твоего |
|
|||||||||||||
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
||||||||
Любая из этих тем может появиться на страницах |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
þ â |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Результат этого поиска я запихива |
|
|
|
|||||||||||||
Сегодня в программе |
|
|
|
|
|
|
|
|
|
|
найденной панели задач |
и готовимся |
шкодить |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Delphi |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
þ StartBtnBmp |
|
|
|
|
|
|
. Создай |
|
новый |
проект |
è |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
переменну |
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Теперь запускаем |
|
|
|
|
|
|
. В этом обработчике напиши те две |
|||||||||||||
ï |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
полетами ‘Пуск’” мне |
|
. |
обработчик |
события для формы OnCreate |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
статьи “Центр управления |
|
|
|
|
|
|
|
. |
Теперь подымись немного выше и найди |
|||||||||||||||||||||||||||||||||||||||||
осле сентябрьской |
|
|
|
|
ÿ |
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
с просьбой |
|
|
|
|
|
|
|
|
|
|
ю работу |
строчки, которые |
|
указал выше |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
пришло достаточно много писем |
|
описать реальну |
|
|
|
|
|
|
|
|
|
. Добавь туда две переменные: |
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
с кнопкой |
“Пуск”. Просто в том примере я смухлевал |
и подбрасывал |
|
раздел private в описании |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
а реальная кнопка оставалась |
на месте без изменений |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
на экране бутафорию, |
private |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||
|
самой кнопке |
“Ïóñê”, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
как можно получить доступ к |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
Сегодня я покажу тебе, |
|
|
|
|
|
|
{ Private declarations } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
управлять ею и изменять ее картинку |
как простое окно с картинкой на морде, |
StartBtnWnd, |
StartBtnBmp: hWnd; |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||
Стартовая кнопка - это не что иное, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
к ней доступ, нужно знать |
|
|
|
|
|
|
|
|
|
|
нужной |
|
пимпы |
|
è |
идентификатор |
||||||||||||||||||||||||||||||||
просто выглядит таким |
|
|
|
. Чтобы получить |
Вот теперь |
ó íàñ |
есть идентификатор |
îêíà |
|
|
|||||||||||||||||||||||||||||||||||||||||||||||
образом |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ю API функции |
|
|
|
|
. |
Давай сделаем это. |
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
Как его можно |
получить? С помощь |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
этого окна. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ю кнопкой “Пуск” |
|
|
|
|
|
|
||||||||||||||||
идентификатор |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
îêíà, à |
картинки, и мы готовы приступить |
к управлени |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
. У этой функции два параметра, первый - это имя класса |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
FindWindow |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Точнее |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_TrayWnd” |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
второй - это имя окна. Кнопка “Пуск” имеет имя |
класса “Shell |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
приготовления |
|
||||||||||||||||||||||||||||||||||||||||
|
|
|
|
необязательно, потому что |
Последние |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
сказать, это класс всей |
|
|
|
|
. Имя нам знать |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
панели задач |
|
укажет нам |
на первое найденное |
îêíî |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||
если его не указать, то FindWindow |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
класса |
в Windows только |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Мою заготовку |
||||||||||||||||||||||||||
указанного |
класса. Спешу тебя обрадовать, что такого |
|
|
|
|
|
|
|
|
аготовь сразу рисунок кнопки размером |
ãäå-òî 50õ20 |
сказать, где |
|
||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ты можешь увидеть где-то |
рядом с этим текстом. Точно |
|
||||||||||||||||||||
îäíî îêíî è ýòî |
именно панель задач |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
непредсказуемых |
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Çименно, |
я не могу, потому что это зависит от наших |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ю. Дизайнерская |
|
|||||||
Получаем контроль |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Лично я их за это и любл |
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
дизайнеров и верстальщиков |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
непредсказуемость только украшает Х. |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
над кнопкой |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рисунок |
1. Заготовка для кнопки |
||||||||||||||||||||
|
тобы получить доступ к картинке кнопки |
íà |
панели |
задач, можно |
|
|
|
|
|
|
|
|
|
|
|
Теперь брось на форму один компонент |
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Ýòà |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
воспользоваться более продвинутой функцией |
- FindWindowEx |
|
|
|
|
|
|
|
|
|
|
|
|
TImage |
|
ñ |
|
палитры |
|
компонентов |
||||||||||||||||||||||||||||||||||||
|
|
|
элементу на окне. У |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||
×функция |
позволяет нам получить доступ к любому |
|
|
|
|
|
|
|
|
|
Additional. |
Перейди |
â |
объектный |
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||
нее уже есть четыре параметра: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
инспектор и дважды |
кликни по свойству |
||||||||||||||||||||
элемент |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
картинки. Мы |
óæå |
||||||||||||||||||||||||||
1. Окно, на котором нужно искать |
управления |
начинать |
поиск. |
Åñëè |
. Перед тобой должно появиться окно загрузки |
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||
2. Элемент управления |
на этом окне, с которого нужно |
|
|
элемента |
Picture |
|
|
|
|
|
ю, поэтому здесь тебе все уже должно быть |
||||||||||||||||||||||||||||||||||||||||||||||
|
указать |
|
0, òî |
поиск |
будет начинаться с |
|
самого первого |
|
проделывали такую операци |
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
здесь |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ю для кнопки картинку |
|
|
|
|
|
|
|||||||||||||||
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
это кнопка, значит нужно |
знакомо. Загрузи заготовленну |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
управления |
|
|
|
|
|
|
|
|
В нашем случае |
|
|
|
|
|
|
|
|
|
Рисунок |
2. Загрузка картинки |
|
||||||||||||||||||||||||||||||||||||
3. Класс элемента управления. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
для кнопки |
|
|
|
|
|
|
|
|
|||
указать “Button” |
|
|
|
|
|
|
|
|
|
|
|
происходить поиск всех элементов |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
4. Имя. Если указать ноль (nil), то будет |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- брось на форму пять |
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
И последнее |
|||||||||||||||||||||||||||
подобного класса. |
|
|
|
|
|
|
|
|
|
|
|
|
“Пуск”, нужно написать следующий |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
òàê: |
|
|
|
||||||||||||||||||||||||||||||||
Итак, чтобы получить контроль над кнопкой |
|
|
|
|
|
|
|
|
|
кнопок и назови их |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||
êîä: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. Изменить картинку. |
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_TrayWnd’, nil); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. Отключить |
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|||||||||||||
StartBtnWnd:=FindWindow(‘Shell |
|
|
|
|
|
|
|
|
0,’Button’, |
nil); |
|
|
|
|
|
|
|
|
|
|
|
|
|
3. Включить |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4. Спрятать картинку. |
|
|
|
|||||||||||||||||||||||||||||||||
StartBtnBmp:=FindWindowEx(StartBtnWnd, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5. Спрятать панель. |
|
|
|
|
||||||||||||||||||||||||||||
Здесь я в первой строчке ищу окно панели |
задач. Результат поиска сохраняется |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
. Во второй строчке я ищу саму кнопку “Пуск” внутри |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
в переменной StartBtnWnd |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|||
|
|
|
X |
|
|
|
|
|
|
|||
|
|
- |
|
|
|
|
|
d |
|
|
||
|
|
F |
|
|
|
|
|
|
t |
|
|
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
r |
|
||
|
P |
|
|
|
|
|
NOW! |
o |
|
|||
|
|
|
|
|
to |
BUY |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
||
|
w Click |
|
|
|
|
|
m |
|
||||
|
|
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
||
|
|
w |
|
|
|
|
|
|
|
o |
|
|
|
|
. |
|
|
|
|
|
.c |
|
|
||
|
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
|
||
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
-xcha |
|
|
|
|
|
||
|
|
|
|
Полный контроль |
Horrific (smirnandr@mail
www.cydsoft.com/vr
Рисунок 3. |
|
|
Форма будущей проги |
||
Все!!! Приготовления |
закон- |
|
- |
||
|
||
чены. Осталось только заста |
||
вить эти кнопки выполнять то, |
||
что на них написано. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Несколько |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
приемов |
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
самбо |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ейчас мы проведем |
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
несколько приемчи- |
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ñêîâ |
самбо на пимпе |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
. Для этого создай обработчик собы- |
||||||||||||
“Пуск”. Начнем с изменения рисунка кнопки |
и напиши в нем следующее: |
|
|||||||||||||||||||||
тия OnClick для кнопки “Изменить картинку” |
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
procedure TForm1.Button1Click(Sender: |
TObject); |
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
||||||||||||||
begin |
|
|
|
|
BM_SetImage, |
0, |
|
|
|
|
|
|
|||||||||||
SendMessage(StartBtnBmp, |
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
Image1.Picture.Bitmap.Handle); |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
end; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
e, которая |
посылает системное |
|||||||
Здесь я использую WinAPI функцию SendMessag |
|
|
|
|
|
|
|
||||||||||||||||
|
. У этой функции есть четыре параметра: |
|
|
|
|
|
. |
||||||||||||||||
сообщение |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
íàäî |
|
|
|
|
|
|
|
. Я указываю идентификатор окна-кнопки |
||||||||||||
1. |
Окно, которому |
послать сообщение |
|
|
|
заставит окно изменить картинку. |
|||||||||||||||||
|
|
|
|
|
|
|
|
e, ÷òî |
|||||||||||||||
2. |
|
|
. Я указываю BM_SetImag |
|
|
|
|
. |
|
|
|
|
|
|
|||||||||
Тип сообщения |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
3. Первый параметр сообщения, |
у меня он равен нулю |
|
|
|
|
|
. |
||||||||||||||||
4. |
Второй параметр сообщения, |
это указатель на картинку, которую надо |
подставить |
||||||||||||||||||||
|
Îíà |
||||||||||||||||||||||
|
|
|
|
|
отправила это сообщение |
системе. |
|||||||||||||||||
Просто и со вкусом. |
Моя программа |
|
|
|
|||||||||||||||||||
окно увидев сообщение |
î òîì, ÷òî íàäî |
||||||||||||||||||||||
передала его окну кнопки “Пуск”. Это |
|||||||||||||||||||||||
|
|
|
|
|
. |
|
|
|
|
|
|
||||||||||||
изменить картинку беспрекословно |
выполняет мой приказ |
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
... |
|
|
|
|
|
|
|
. Âêë, |
âûêë, âêë |
|
||||||||||||||||
Âêë, âûêë |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
Òøè |
|
|
|
|
|
|
|
|
|
|
|
|
|
кнопку. Создай обработчики со- |
|||||||||
|
еперь научимся включать и отключать |
|
|
|
. В первом напи- |
||||||||||||||||||
|
бытий OnClick для кнопок “Выключить” |
и “Включить” |
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
следующее: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
procedure TForm1.Button2Click(Sender: |
TObject); |
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|||||||||||||||
begin |
|
|
|
|
|
|
false); |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
EnableWindow(StartBtnWnd, |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
end; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Во втором обработчике |
события (это для кнопки “Включить”) |
напишем следующее: |
|||||||||||||||||||||
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
procedure TForm1.Button3Click(Sender: |
TObject); |
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
begin |
|
|
|
|
|
|
|
true); |
|
|
|
|
|
|
|
|
|
|
|
|||
|
EnableWindow(StartBtnWnd, |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
end; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
|
|
|
d |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
F |
|
|
|
|
|
|
t |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
r |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
P |
|
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
|
|
же функцию |
|
|
|
. Эта функция |
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
В обоих случаях я использую |
îäíó è òó |
|
|
|
|
EnableWindow |
|
|
|
|
|
|
|
BUY |
|
|
|
|
|
|||||||||
|
|
â |
зависимости |
îò |
переданных ей |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
делает |
окно доступным |
è |
отключает его |
|
ты указываешь - |
|
|
|
|
|
|
to |
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
окна. Во втором |
|
|
|
Click |
|
|
|
|
|
|
||||||||||||
|
|
параметр - идентификатор |
w |
|
|
|
|
|
|
m |
||||||||||||||||||
параметров |
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
. Первый |
Åñëè åãî |
отключить, то кнопка |
|
w |
|
|
|
|
|
|
|
|
o |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
. |
|
|
w |
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
.c |
|
|||||
включить |
îêíî (true) |
èëè |
отключить |
(false) |
|
|
|
|
|
|
|
|
|
p |
df |
|
|
|
e |
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
кликал по ней, реакции |
|
|
|
|
|
-x cha |
|
|
|
|
|||||||
перестанет реагировать на нажатия, и сколько бы ты ни |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
никакой не будет. Можешь хоть монитор |
проткнуть, никакого меню ты не увидишь |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ß òåáÿ íå âèæó |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
еперь научимся прятать кнопку и всю панель |
задач. Создай |
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
напиши здесь |
|
||||||||||||||||||||
|
обработчик события OnClick для “Спрятать |
картинку” и |
|
|||||||||||||||||||||||
Òследующее: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
procedure TForm1.Button4Click(Sender: |
TObject); |
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
begin |
|
|
|
|
|
|
SW_HIDE); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
ShowWindow(StartBtnBmp, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
end; |
|
|
|
|
|
|
|
|
. |
У нее есть два параметра: |
|
|
|
|
||||||||||||
Здесь |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
я использую функцию ShowWindow |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
1. Идентификатор |
îêíà. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
надо послать окну. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
2. Команда, которую |
|
|
SW_HIDE, òî îêíî |
ñ |
указанным |
|||||||||||||||||||||
Åñëè |
â |
качестве |
команды |
|
поставить |
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
его снова, нужно поставить |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
. Чтобы показать |
|||||||||||||||||
идентификатором |
будет спрятано |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
события OnClick для |
|||||||
команду SW_SHOW |
|
. |
Для этого создай обработчик |
|||||||||||||||||||||||
Теперь спрячем всю панель |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
“Спрятать панель” и напиши здесь следующее: |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
procedure TForm1.Button5Click(Sender: |
TObject); |
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
begin |
|
|
|
|
|
|
SW_HIDE); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
ShowWindow(StartBtnWnd, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
end; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Здесь используется тот же код, что и для |
предыдущей кнопки, только в качестве |
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
||||||||||||
первого параметра функции ShowWindow |
я указываю идентификатор |
всей панели |
||||||||||||||||||||||||
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
Èòîã |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рисунок |
3. |
Результат |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
работы нашей утилы |
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
думаю, что теперь твой |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
кнопарь “Пуск” |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ßпревратится |
âî ÷òî-òî |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
более стоящее и засветится |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
разными цветами радуги. Ты |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
можешь даже создать какую |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
нибудь анимацию на кнопке, |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
если поставишь на форму |
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
таймер и по его событию |
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
будешь подсовывать |
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
различные картинки на пимпу |
||||||||||
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Теперь все в твоих руках |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
||||||||
“Ïóñê” |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.cydsoft.com/vr |
||||
Как всегда, исходники примера можно найти на моем |
сайте http://www |
|
|
|
||||||||||||||||||||||
online/ через несколько дней после выхода этого |
номера в свет. |
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
P.S. У меня к тебе просьба на сто баксов |
:). Не пиши мне большие письма. После |
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
. Я не в состоянии |
|||||||||||||||||
появления |
рубрики кодинг меня каждый день валят |
вопросами |
|
|
ãäå-òî |
|||||||||||||||||||||
|
что-то подсказать, |
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
. |
|
ß |
ìîãó |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
||||||
всем рассказывать то, о чем пишут книги |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
. А просьбы типа помоги написать прогу вообще нереальны |
||||||||||||||||||||
помочь, но не больше |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
строчек. |
Целые |
|||||||||
ß |
отвечаю только на |
те вопросы, где ответ займет несколько |
||||||||||||||||||||||||
|
|
íî ýòî |
||||||||||||||||||||||||
|
|
|
íå ìîãó. |
|
Я бы с удовольствием |
помог всем, |
||||||||||||||||||||
лекции по мылу я разводить |
|
лучше разбей |
ñâîé |
|||||||||||||||||||||||
|
à ÿ îäèí |
:(((. Поэтому |
||||||||||||||||||||||||
|
|
|
|
. Вас слишком много, |
|
|||||||||||||||||||||
НЕВОЗМОЖНО |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|||||
вопрос на несколько маленьких и спрашивай |
постепенно, а не все сразу |
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
70
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Èõ |
разыскивают |
||||||||||||||
|
|
бойцы |
139-ãî |
||||||||||||
|
|
|
|
|
|
порта! |
|
|
|
||||||
Внимание!!! Пример, написанный в Kylix, |
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
прекрасно работает в Delphi. |
||||
|
|
|
|
Horrific aka |
|
|
|
(smirnandr@mail.ru) |
|
||||||
|
|
|
|
|
|
Фленов Михаил |
|
||||||||
|
|
|
|
|
http://www.cydsoft.com/vr-online/ |
|
|
|
|||||||
Сегодня я решил рассказать тебе что-нибудь |
|
из сетевого программирования. Так |
|||||||||||||
êàê ýòà |
тема уж точно понравится любому |
|
|
||||||||||||
|
ветерану |
139-го порта. |
Сегодня я тебя по- |
||||||||||||
знакомлю с |
|
|
|
|
|
|
|
|
|
||||||
Delphi6. |
|
новой сетевой библиотекой Indy, которая появилась |
только в Kylix 1 и |
||||||||||||
Òàê ÷òî åñëè òû |
захочешь |
|
|
|
|
|
|||||||||
|
|
|
|
|
|
повторить этот пример под окна, то |
тебе понадо- |
||||||||
бится Delphi не менее 6-й версии. |
|
|
|
|
|
|
|
||||||||
Напутствие |
|
|
|
|
|
|
|
|
|||||||
Ñ |
о всей библиотекой Indy я тебя |
|
|
|
|
|
|
|
|||||||
|
из компонентов, |
|
|
сегодня не смогу познакомить, но с одним |
|||||||||||
|
входящих в его состав, мы |
разберемся. Немного посове- |
|||||||||||||
|
|
|
|
|
|
||||||||||
щавшись с самим собой и твоими |
письмами, я выбрал для |
сегодняшнего |
|||||||||||||
примера |
компонент IdWhois. На |
страницах |
|
|
|
|
|
||||||||
май ничего плохого) |
|
|
Х мы часто посылаем тебя... (не поду- |
||||||||||||
на www.ripn.net, где можно |
воспользоваться сервисом WhoIs. |
||||||||||||||
Он позволяет узнать |
подробную инфу о любом |
|
|||||||||||||
|
|
|
|
|
имени домена в Инете. |
|
À êàê áûëî áû |
сервисом WhoIs достаточно просто, но |
только в твоем ишачке IE. |
||
|
|
|||
|
хорошо, если бы у тебя была своя программа, |
чтобы больше никог- |
||
да не приходилось лазить по |
|
|
||
|
|
серверам типа www.ripn.net или www.nic.ru. Ничего, |
||
сегодня у тебя появится такая |
|
|
||
|
|
прога. А главное, затраты на это дело - минимальны. |
Готовность |
1 |
|
|
|
|
||
Á |
|
|
|
|
|
|
|
рось на форму один |
|
|
|
|
|
||
|
компонент TEdit, одну кнопку TButton и один компо- |
||||||
нент TMemo (я его назвал |
|
|
|
|
|||
кнопки на |
|
ResultMemo). Переименуй свойство Caption у |
|||||
“Найти”. В компонент TEdit мы будем вводить имя |
домена, ин- |
||||||
|
|||||||
формацию о котором мы хотим |
|
|
|
|
|||
|
|
получить. После нажатия кнопки в компоненте |
|||||
TMemo будет появляться все, что наша прога сможет |
пронюхать в Инете про ука- |
||||||
занный домен. |
|
|
|
|
|||
нешний вид формы готов, |
|
|
|
|
|||
думки. Как это сделать? |
теперь пора приступить к реализации нашей за- |
||||||
Òû |
|
|
|
|
|||
Âäåøü |
|
думаешь, ручками? Куда там. Ручками ты бу- |
|||||
работать в туалете, крича |
“Занято”, или на других языках программи- |
||||||
рования. Мы же будем наслаждаться компонентом |
IdWhois. Найди закладку “Indy |
||||||
Clients” на палитре |
компонентов |
и брось на форму |
|||||
|
компонент IdWhois с этой за- |
||||||
кладки (у меня он последний по счету). |
|
|
|
|
Рисунок 2. Закладка “Indy Clients”
|
Анатомия whois |
|
|
|
|
|
Ââî |
|
|
|
|
|
ыдели компонент IdWhois и перейди в |
|
|
|
|
|
объектный инспектор. Взгляни на свойст- |
|
|
|
|
|
âåðà, ó |
Host. Здесь ты указываешь адрес сер- |
|
|
|
|
|
|
|
|
|
|
которого есть сервис WhoIs. Точнее ска- |
|
|
|
|
|
зать, ты должен указать именно на этот сервис. |
|
|
|
|
|
По умолчанию стоит адрес whois. |
|
|
|
|
|
|
internic.net. ß |
|
|
|
|
думаю, что его менять не надо, потому что он |
|
|
|
|
|
достаточно рабочий и очень быстрый. Но если |
|
|
|
|
|
ты решишь изменить этот адрес, то обязательно |
|
|
|
|
|
проверь, какой используется порт у твоего лю- |
|
|
|
|
|
бимчика. Если отличный от 43, то ты должен из- |
|
|
|
|
|
менить свойство Port у компонента IdWhois. |
|
|
|
|
|
 |
|
|
|
|
|
принципе настройки по умолчанию достаточно |
|
|
|
|
|
работающие для любых доменов в зоне COM, |
|
|
|
|
|
ORG и NET. Если тебя интересует что-то специ- |
|
|
|
|
|
фичное, то |
только в этом случае тебе может по- |
|
|
|
Рисунок 1. |
надобиться смена сервера WhoIs. |
Рисунок 3 |
Свойства Id |
Whois |
|
Внешний вид будущей проги |
|
||||
|
|
|
71
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
C |
|
|
E |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
|
|
d |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
F |
|
|
|
|
|
|
|
|
t |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
D |
|
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
w |
|
|
to |
|
|
|
|
|
|
o |
Кодинг |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
P |
|
|
|
|
|
NOW! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
w Click |
|
|
|
|
|
|
|
o |
m |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
. |
|
|
|
|
|
|
|
.c |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
p |
|
|
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
df |
|
|
|
n |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
Их разыскивают бойцы 139-го порта! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||
|
|
|
|
|
|
Horrific (smirnandr@mail.ru) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
www.cydsoft.com/vr-online/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
Шкодинг |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Ñî- |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
программировании |
компоненты Indy так же просты, |
как и в настройке |
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
в нем содержимое |
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
и напиши |
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
здай обработчик |
события OnClick для кнопки |
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
листинга |
1. А я тебе расскажу обо всем, |
что в нем происходит |
|
|
|
|
îò |
||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
чтобы избавиться |
||||||||||||||||||||||||||||||
|
|
|
|
|
|
 |
|
|
|
|
очищаю содержимое |
компонента |
TMemo, |
|
|
|
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
В первой строке я |
|
|
кода я запускаю по- |
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Во второй строке |
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
текста, оставшегося |
от предыдущих поисков |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
метод WhoIs компонента IDWhoIs: |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
иск. Для этого я выполняю |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
FindResult := IdWhoIs.WhoIs(Edit1 |
.Text); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
содержимое строки |
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
В качестве единственного |
|
параметра этого метода я передаю |
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
. Хотя результат |
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
ввода |
Edit1. Результат |
поиска сохраняется в переменной |
FindResult |
|
строки, |
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
он выглядит в виде одной длинной |
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
многих строк, в переменной |
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
состоит из |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
символ #10. Что- |
||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
в которой разделителем |
для строк является шестнадцатиричный |
|
|
|
|
ïåðå- |
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
отформатировать |
это содержимое |
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
бы текст выглядел наглядно, мы должны |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FindResult |
|
|
|
|
|
|
ÿ |
запускаю цикл: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
форматирования |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
while Length(FindResult) |
> 0 do |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
begin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
â ïåðå- |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Как это работает? |
Пока длина (Length) строки, |
содержащейся |
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
между |
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
нуля, выполнять |
код, расположенный |
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
менной FindResult, больше |
|
|
#10 |
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ищу первый символ |
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
begin и end. Внутри цикла я в первой |
строчке кода |
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Результат со- |
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
в строке переменной FindResult |
ñ |
помощью Pos (#10, FindResult) |
строка, в ко- |
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
если в FindResult находится |
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
в переменной |
|
iPos. Например, |
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
храняется |
|
|
|
|
iPos попадет цифра 10. |
|
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
#10, то в переменную |
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
символ |
ýòî |
|
|
|
|
- |
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
торой десятый |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Copy(FindResult, 1, iPos - 1)) |
я копирую текст в пере |
||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
В следующей строке |
êîäà (Line:= |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
по символ #10. Этим я |
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
менную Line из переменной |
FindResult, начиная с 1-го символа |
могу добавить |
ýòîò ðå- |
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
выделяю |
первую строку текста. После этого я со смелой душой |
|
|
|
|
|
|
|
. |
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TMemo с помощью |
|
|
|
|
|
|
|
|
|
|
|
.Lines.Add(Line) |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
зультат в мой компонент |
|
команды ResultsMemo |
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
я удаляю уже выбранный |
мною текст с помощью коман- |
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
В последней |
строке цикла |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Теперь в переменной FindResult нет текста, |
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
äû Delete(FindResult, |
1, Length(Line)+1) |
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
который |
|
я уже вытащил |
|
из нее и добавил в TMemo |
|
|
|
|
â |
|
переменной FindResult |
||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
если длина строки |
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
После этого |
|
произойдет проверка; |
|
|
|
|
|
|
|
|
|
|
- |
||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
цикл. Если переменная FindResult |
пустая, то цикл пре |
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
больше |
нуля, то продолжить |
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
кратит работу |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
|
|
|
|
|
d |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
F |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
t |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
P |
D |
|
|
|
|
|
|
|
|
|
o |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NOW! |
r |
||||||
|
который |
|
без проблем должен переходить |
îò Linux ê Windows |
и тем более |
|
|
|
|
BUY |
|
|
||||||||||||||||||||||||||||||||||||
íûé êîä, |
|
|
|
|
уместное занятие. |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||
|
ручное форматирование |
тут достаточно |
|
|
|
|
|
|
to |
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
. Поэтому |
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
обратно |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
w Click |
|
|
|
|
|
|
o |
m |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
.c |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
p |
df |
|
|
|
|
e |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
g |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
|
|
|||
Coding complete |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
. Теперь тебе не на- |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
ростенькая утила для работы |
с сервисом |
WhoIs готова |
|
|
|
|
|
|
|
|
- |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
до заходить |
на какой-нибудь |
сайт в Инете, чтобы выяснить |
инфу о каком |
- |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
|
Ты просто |
запускаешь |
свою прогу, и она сама обращает |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
то имени |
|
домена. |
|
|
|
|
|
|
виде. Конечно |
æå, |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
Ï |
|
|
|
|
|
|
|
|
|
|
тебе инфу в удобном |
для восприятия |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
ся куда надо и показывает |
|
|
приятно |
юзать |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
творением другого программера, |
íî êàê |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||
ты мог бы воспользоваться |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
свои собственные проги. |
|
|
|
òåáå |
|
|
|
|
. Результат работы программы ты мо- |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
На сегодня |
это все, что я хотел |
рассказать |
|
. Я думаю, что утила получилась до- |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
жешь увидеть на |
скрине где-то рядом |
с этим текстом |
|
|
|
|
|
|
|
|
изменять имя |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
. Ты же можешь добавить в нее возможность |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
статочно |
удобная |
и быстрая |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
с которого нужно получать информацию |
о разыскиваемом домене |
|
. |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
сервера и порта, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.com/vr-online |
|
|
|
|
|
|
|
|
|
|
||||||||||
Исходники примера, как всегда, можно забрать |
с моего сайта www.cydsoft |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
мне вопрос: |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
P. S. Напоследок |
я хочу ответить на один |
часто задаваемый |
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||
|
òåáå |
нужно |
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||
|
Kylix1 |
|
и RedHat 7.1, то при инсталляции |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
если ты обладатель |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
-m. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
запустить файл setup с ключом |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
ЛИСТИНГ |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
procedure TfmMain.Button1Click(Sender: |
TObject); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
var |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Line, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FindResult: string; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
iPos: Integer; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
begin |
|
|
|
.Clear; //Очистка содержимого |
компонента |
|
TMemo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
ResultsMemo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.Text); //Запускаю поиск |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
FindResult := IdWhoIs.WhoIs(Edit1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
//Дальше идет форматирование |
полученной информации |
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
while Length(FindResult) |
> 0 do |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
begin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
iPos |
:= Pos(#10, FindResult); |
|
- 1); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
Line |
:= Copy(FindResult, |
1, iPos |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
ResultsMemo |
.Lines.Add(Line); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
1, Length(Line)+1); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
Delete(FindResult, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
end; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
end; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
РУСИФИКАЦИЯ |
KYLIX |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
Для русификации |
|
Kylix необходимо |
открыть файл /etc/syscon |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
|
недостающие строки |
(åñëè |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
в него следующие |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
fig/i18n и добавить |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
они не существуют): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Напутствие |
|
|
|
|
|
|
(перехода на но- |
|
LANG=ru |
|
|
|
|
|
-R:ru |
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
Это код символа перевода каретки |
|
LANGUAGE=ru_RU.KOI8 |
|
|
|
|
|
|||||||||||||||
то такое символ #10? |
|
|
|
LC_CTYPE=ru_RU.KOI8-R |
|
|
|
|
|
|||||||||||||||||
|
|
|
|
в ОС семейства |
*nix. В окнах принято |
|
|
|
|
|
|
|||||||||||||||
вую строку), который используется |
|
|
. Åñ- |
|
LC_NUMERIC=ru |
_RU.KOI8-R |
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
пару кодов #13 и #10 (конец |
строки и перевод каретки) |
|
KOI8-R |
|
|
|
|
|
||||||||||||||||
использовать |
|
|
результирующего |
|
LC_TIME=ru |
_RU. |
|
|
|
|
|
|||||||||||||||
× |
|
|
|
|
|
âåñü êîä |
по форматированию |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
ли ты пишешь только под *nix, то |
|
|
|
LC_COLLATE=ru_RU.KOI8-R |
|
|
|
|
||||||||||||||||||
|
написать |
|
|
|
|
|
|
|
|
|
||||||||||||||||
текста тебе не нужен. Ты мог просто |
|
|
|
|
|
LC_MONETARY=ru_RU.KOI8-R |
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-R |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LC_MESSAGES=ru |
_RU.KOI8 |
|
|
|
|
|||||||
ResultsMemo.Text:=FindResult; |
|
|
|
|
|
|
|
LC_ALL=ru_RU.KOI8-R |
|
|
|
|
|
|||||||||||||
В окнах такой прикол не пройдет, |
потому что текст в компоненте |
TMemo получится |
SYSFONT=UniCyr |
_8x16 |
|
|
|
|
|
|||||||||||||||||
|
|
SYSFONTACM=koi8-r |
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
. Поэтому мне пришлось |
|
|
|
|
|
|
||||||||||||||||
неформатированным |
и просто противным |
для восприятия |
|
|
- |
|
|
|
|
|
|
|
|
|
|
|
изменить на |
|||||||||
|
|
случае мы |
с тобой должны |
писать межплатформен |
|
|
|
из этих строк уже есть, то их нужно |
||||||||||||||||||
|
|
. В любом |
|
|
|
|
|
какие-то |
|
|
||||||||||||||||
немного |
помучиться |
|
|
|
|
|
|
|
|
|
|
|
Åñëè |
|
|
|
|
|
достаточно |
для RedHat 7.1. В других ОС |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
мной. Этого |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
указанные |
|
|
следующие |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ся отредактировать |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
семейства Linux может понадобит |
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
строки в файле /etc/X11/XF86Config: |
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
XkbLayout |
“ru(winkeys)” |
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
XkbOptions “grp:ctrl |
_shift_toggle” |
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рисунок 4. Результат работы |
программы |
|
72
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|
|
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
|
|
|
|
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
|
|
|
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
|
|||
P |
|
|
|
|
|
NOW! |
o |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
w Click |
to |
BUY |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
Koding |
|
I |
||||||||||
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
m |
|
|
||||||||
w |
|
|
|
|
|
|
|
o |
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
.c |
|
|
|
|
|
|
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
|
|
|
|
|
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Полный |
мануал |
||||||||||||||||||||||
|
|
|
|
ïî |
|
созданию |
||||||||||||||||||||
|
|
|
|
компактного |
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
êîäà |
|
|
|||||||||
|
|
|
|
|
Horrific aka |
Фленов Михаил (smirnandr@mail.ru) |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
Любой хакер думает о том, как |
сократить размер своей программы. Это же |
||||||||||||||||||||||||
|
несолидно иметь вирь или троян |
|||||||||||||||||||||||||
|
размером в пару |
мегабайт. Чем больше раз- |
||||||||||||||||||||||||
|
мер кода, тем дольше он |
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
что очень легко |
может |
|
|
загружается в память и больше отбирает ресурсов, |
|||||||||||||||||||||
|
выдать твое |
творение. Если при написании офисных |
||||||||||||||||||||||||
|
приложений мы |
|
можем |
|
забыть про |
|||||||||||||||||||||
|
|
|
оптимизацию |
размера, то для вирусов, |
||||||||||||||||||||||
|
троянов и твоих |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
приколов размер кода критичен. |
|
|
|
||||||||||||||||||||||
|
Почему код большой? |
|
|
|||||||||||||||||||||||
|
В рубрике кодинг мы |
рассказываем тебе про язык |
программирования Delphi. |
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
Программы, созданные им, |
получаются достаточно |
большого размера. С чем |
|||||||||||||||||||||||
|
это связано? А с |
òåì, |
|
÷òî |
||||||||||||||||||||||
|
|
|
|
|
|
|
объектным языком. В нем каждый |
|||||||||||||||||||
|
элемент выглядит как |
|
|
|
|
Delphi является |
||||||||||||||||||||
|
объект, который обладает своими свойствами, метода- |
|||||||||||||||||||||||||
|
ми и событиями. |
|
|
|
||||||||||||||||||||||
|
Любой объект вполне |
|
автономен и может |
|
работать без твоего ведома. Это |
|||||||||||||||||||||
|
значит, что тебе нужно |
|
||||||||||||||||||||||||
|
только |
|
|
|
|
его к своей форме, изменить нуж- |
||||||||||||||||||||
|
ные свойства, и все готово. |
подключить |
||||||||||||||||||||||||
|
После этого все будет |
работать без какого-либо |
||||||||||||||||||||||||
|
внешнего вмешательства. |
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
Но в этом есть и свои недостатки. В объектах |
|
|
|
||||||||||||||||||||||
|
можных действий, которые |
|
|
|
|
|
|
|
реализовано большинство воз- |
|||||||||||||||||
|
|
|
|
|
|
|
|
|
с ним. Но реально в лю- |
|||||||||||||||||
|
бой программе мы |
|
|
|
|
|
|
ты можешь производить |
||||||||||||||||||
|
пользуемся двумя-тремя из всех этих свойств. Все осталь- |
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|||||||||||||||||||
ное для программы |
ëè |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
шний груз, который на фиг никому не нужен. |
|||||||||||||||||
Как же тогда быть? |
|
|
||||||||||||||||||||||||
Íî êàê æå |
тогда создать |
компактный код, чтобы мой |
троян занимал минимум |
|||||||||||||||||||||||
места на винте и как |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
ко вариантов: |
|
|
|
|
можно меньше светился в памяти? У тебя есть несколь- |
|||||||||||||||||||||
1. Не использовать визуальную |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
библиотека MFC), |
которая |
|
|
|
библиотеку VCL (для любителей Visual C++ это |
|||||||||||||||||||||
|
упрощает |
программирование. В этом случае при- |
||||||||||||||||||||||||
дется все делать |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
вручную и работать только с WinAPI. |
Код в этом случае полу- |
|||||||||||||||||||||||||
|
|
|
|
|
|
|||||||||||||||||||||
чается очень маленьким и быстрым. |
Но тут ты лишаешься визуальности и мо- |
|||||||||||||||||||||||||
жешь ощутить |
âåñü |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
гемор программирования на чистом WinAPI. |
|
|
||||||||||||||||||||||||
Åñëè |
|
|
|
|
|
|||||||||||||||||||||
ты регулярно |
читаешь |
|
Õ, |
то в ноябре 2001 года |
ты должен был увидеть |
|||||||||||||||||||||
пример проги на чистом |
|
|
|
|
|
|||||||||||||||||||||
WinAPI в рубрике кодинг. Там наш запускной файл по- |
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
лучился размером всего в 8 |
кило. И это притом, что |
при использовании VCL |
||||||||||||||||||||||||
он увеличивается до 300 кило. |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
2. Сжимать программы с помощью |
компрессоров. Такой код сжимается в не- |
|||||||||||||||||||||||||
сколько раз, и программа с |
|
|
|
|||||||||||||||||||||||
|
использованием |
VCL может превратиться из 300 |
||||||||||||||||||||||||
кило в 30-50. Главное |
|
|
|
|
|
|||||||||||||||||||||
преимущество |
òóò â òîì, ÷òî òû |
не лишаешься возмож- |
||||||||||||||||||||||||
ностей объектности |
è |
|||||||||||||||||||||||||
можешь |
спокойно забыть про пятна.... |
|
|
|||||||||||||||||||||||
В этой статье я постараюсь как можно |
подробнее рассмотреть оба этих метода. |
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
Ручной кодиг |
|
|
|
|
|
|
|
|
|
|||||||||||||||||
Ручной кодинг (программирование без |
использования |
объектов и |
визуально- |
|||||||||||||||||||||||
сти) похож на ручной секс |
|
|
|
|
|
|
|
|||||||||||||||||||
(это когда ты |
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
удовлетворяешь себя вручную в от- |
|||||||||||||||
сутствии очаровашки). В обоих случаях эффект |
есть, но его приходится доби- |
|||||||||||||||||||||||||
ваться |
очень долго, и удовольствия от ручного |
|
||||||||||||||||||||||||
÷òî |
|
|
метода намного меньше :). Но |
|||||||||||||||||||||||
поделать, иногда |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
приходится идти на такие |
извращения ради создания |
||||||||||||||||||||||||
компактных примочек. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
Åñëè òû |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
ïðî âñå |
хочешь создать программу маленького |
|
размера, то ты должен забыть |
|||||||||||||||||||||||
удобства. Ты |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
не сможешь подключать визуальные формы |
или другие |
||||||||||||||||||||||
примочки, написанные дядей |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
Только API функции и |
ничего |
|
Борманом для упрощения жизни программера. |
|||||||||||||||||||||||
больше. |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
Ручной кодиг в Delphi |
|
|
||||||||||||||||||||||||
|
|
того чтобы создать |
маленькую |
прогу в |
|
Delphi, нужно создать новый |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
и зайти в менеджер |
проектов (меню View->Project Manager). Здесь |
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
C |
|
|
E |
|
|
|
|||
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
- |
|
|
|
|
|
|
d |
|
|||
|
|
|
|
|
|
|
F |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
t |
|
||
|
|
|
|
|
|
P |
D |
|
|
|
|
|
|
|
|
|
o |
|
Интернет |
|
|
|
|
|
|
|
|
|
NOW! |
r |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
- |
магазин с доставкой |
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
to |
BUY |
|
|
|
|
|
|
||
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
m |
|
|
|
|
|
|
|
w Click |
|
|
|
|
|
|
|
o |
||||
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
.c |
|
||
|
|
|
|
|
|
|
|
p |
df |
|
|
|
|
|
e |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
g |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
|
|
||
(095) 798 - 8627 |
|
|
|
|
|
-x cha |
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
(095) 928 - 6089 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
(095) 928 - 0360 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
Compag iPAQ H3660 |
|
|
|
|
|
|
|
по телефону можно сделать с 10.00 до 21.00 без выходных. |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
Заказы |
|
|
|
|
|
|
||||
|
$ 599,99 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
ВСЕГДА В ПРОДАЖЕ ЛУЧШИЕ МОДЕЛИ |
|
|
|
|
|
||||||||||||
|
КАРМАННЫХ КОМПЬЮТЕРОВ |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
$269.95 |
$1419.99 |
|
|
$394.99 |
$124.99 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
opeia |
|
|
ens SX-45 |
Palm V |
Palm Portable Keyboard |
|
|
||||||||||
|
00 |
|
|
omeda |
|
äëÿ Palm V (KBPV) |
|
|
|
|
|
|
||||||
$569.99 |
$480.99 |
|
|
$515.99 |
$990.99 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
HP Jornada 548 |
Compaq i PAQ H3630 |
Cassiopeia E-125 |
|
ornada 720 |
|
|
|
|
|||||||||
$839.99 |
$390 |
|
|
$750 |
$1100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Nokia 9210 |
Sony CyberShot |
Sony CyberShot Digital |
Sony DCR-TRV17DV |
|
|
|
|
|
|
||||||||
|
Communicator |
DSC-P30 (DSC-S30) |
Camera DSC-S75 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
ПРИ ПОКУПКЕ НА |
100$ подарок! |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
СУММУ СВЫШЕ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
Заказы по интернету – круглосуточно! |
|
|
|
|
|
|
|
|
|
|
|||||||
|
e-mail: sales@e-shop.ru |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|||
|
|
|
|
C |
|
|
E |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
||||||
|
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
||||||
|
|
- |
|
|
|
|
|
|
d |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
|
|
|
|
d |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
F |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
F |
|
|
|
|
|
|
|
i |
|
||
|
|
|
|
|
|
|
|
|
t |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
t |
|
|||||
|
P |
D |
|
|
|
|
|
|
|
|
o |
Кодинг |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
P |
D |
|
|
|
|
|
|
|
|
o |
||||||||||||||
|
|
|
|
|
NOW! |
r |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NOW! |
r |
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
BUY |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
очень просто и не займет много |
времени |
|
|
|
|
|
|
|
|
|
исходников |
библиотек, то пе- |
|
|
|
|
|
|
|
BUY |
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
копирование |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
to |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Если при установке Delphi ты не отключал |
“Source”, |
затем в |
|
|
|
|
|
|
to |
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
перейди в |
папку |
|
|
w |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
w Click |
|
|
|
|
|
|
|
o |
m |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
рейди |
в диру, куда ты засандалил |
Delphi. Здесь |
|
|
|
|
|
|
модулей, в которых |
îïè- |
|
|
w Click |
|
|
|
|
|
|
o |
m |
|||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
исходники |
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
. |
|
|
|
|
|
|
|
.c |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
“Win”. Âîò |
здесь расположены |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
.c |
|
||||||||||||||||||||||||||||||
|
|
|
p |
df |
|
|
|
|
|
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
и, наконец, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
к своим |
|
|
|
p |
df |
|
|
|
|
e |
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
“Rtl” |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
g |
|
|
|
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Именно эти модули ты можешь подключать |
|
|
|
|
|
-x cha |
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
Полный мануал по созданию компактного кода |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
саны все API функции |
Windows |
|
|
|
|
|
|
|
|
|
|
код. Если ты подключишь |
что-то другое, |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
проектам, |
если хочешь получить маленький |
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
проги |
(õîòÿ åñòü |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
Horrific (smirnandr@mail.ru) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
тебе минимум |
размера твоей |
и исключения) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
то я уже не гарантирую |
|
|
|
|
|
были возможности ра- |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
в твоей программе |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
www.cydsoft.com/vr-online/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Если ты хочешь, чтобы |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Сразу лови пример |
|
|
|
|
|
|
подключить |
ê |
нему библиотеку |
сокетов. Среди модулей |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
боты с сетью, |
то тебе нужно |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.pas. Значит, ты должен в раздел uses написать |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
только файл самого |
проекта (по умолча |
|
|
|
PI есть файл с именем |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
сможет работать |
с сетью. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
нужно |
удалить все формы, чтобы остался |
|
áûòü. |
|
|
|
|
|
|
|
|
|
|
WinA |
|
|
|
|
|
|
|
писать |
не надо), и твоя программа |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
должно |
|
|
|
|
|
|
|
|
|
|
winsock (расширение |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
.exe). Никаких модулей в проекте не |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
|
|
|
íèþ åãî èìÿ Project1 |
|
|
|
|
|
|
|
|
|
Теперь щелкни правой кноп- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
... |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
кой по имени |
проекта и выбе- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ðè |
из появившегося |
|
ìåíþ |
|
|
Пусть всегда будет |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
пункт “View Source” (или |
|
èç |
|
|
|
|
|
|
я описал минимальный |
проект, |
в который |
можно добавлять свой код. Но |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ïîêà ÷òî |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ïàìÿ- |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
главного меню Project выбери |
|
|
|
|
|
|
один раз, и программа выгрузится из |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
вставишь, |
выполнится |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
View Source). В редакторе ко- |
|
|
код, который ты |
|
|
|
|
|
|
|
постоянно висела в окнах? Для это- |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
|
òè. À ÷òî |
если тебе надо, чтобы твоя программа |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
да откроется |
для редактиро |
|
|
|
следующий шаблон для своих |
ïðîã: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
проекта |
|
|
го используй |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
вания |
|
ôàéë |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. Project |
Manager |
|
|
|
|
|
|
|
|
|
|
.dpr. |
Åñëè òû óæå óäà- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
Рисунок |
|
|
|
|
|
|
|
|
|
|
Project1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
program Project1; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
должно быть таким: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
лил все модули, то его содержимое |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uses Windows; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
|
|
|
program Project1; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Msg: TMsg; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
uses |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Begin |
|
|
|
|
|
|
|
|
|
|
|
|
|
ñâîé êîä |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
Forms; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Сюда можешь добавлять |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
{$R *.res} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Дальше |
идет код, который заставит |
прогу висеть в |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
begin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
систему. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
сильно |
грузить |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
|
|
|
|
|
|
Application.Initialize; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// памяти вечно и не будет |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0, 0) do |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
Application.Run; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
while GetMessage( |
Msg, HInstance, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
end. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
абсолютно пустой |
|
|
|
|
begin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
Я удалил все |
визуальные формы и теперь могу скомпилировать |
|
|
|
|
TranslateMessage(msg); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
выбрал |
èç |
ìåíþ |
|
|
|
|
DispatchMessage(msg); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
сделать это. После |
компиляции |
ÿ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
Я решил попробовать |
|
|
|
|
|
окно с информацией |
|
|
|
|
end; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
|
|
|
|
|
|
проект |
|
|
|
|
|
|
|
|
|
|
|
. |
Передо мной появилось |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
|
|
|
|
|
|
Project пункт “Information |
for Project1” |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В правой части окна |
должны |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
о проекте |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sual |
C++ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
быть описаны |
используемые |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
çíà- |
|
|
Маленький |
|
êîä â Vi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
пакеты. Мы все удалили, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ñ++, óæå ïîëó- |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
÷èò òàì |
точно должна красо- |
|
|
Многие заблуждаются, говоря, |
что программы, созданные в Visual |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. À âîò |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Ñàì ÿçûê Ñ++ ÿâëÿ- |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ваться надпись “None” |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Это действительно на 90% заблуждение |
|
|
. |
Это значит, |
|
÷òî |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
должна быть |
|
|
чаются маленькими |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
с левой |
стороны |
|
|
ется объектным и страдает теми же |
недостатками, |
÷òî è Delphi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
описана информация |
î ñêîì |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Самая |
|
именно на С++ |
код будет получаться |
очень большим |
его, получил очень маленький |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
пилированном |
êîäå. |
|
откомпилировав |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
è, |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Даже если ты создал новый проект |
|
|
|
. |
|
Реально твоя прога |
èñ- |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
строка показывает |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
последняя |
|
код, то это не значит, что |
программа получилась |
компактной |
|
|
|
|
|
|
|
версии MFC |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ìåíÿ |
îí |
|
|
|
|
|
|
- |
ýòî |
|
номер |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
размер файла, и у |
|
|
|
|
|
|
|
|
|
mfcХХ.dll. Здесь ХХ |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
пользует |
динамические библиотеки |
|
|
|
|
|
|
|
. Â ðå- |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
равен |
370688 |
áàéò. |
Ничего |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
занимает около 2 мегов на диске |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
|
(Microsoft Foundation Classes). Вся библиотека |
|
|
|
|
|
|
|
файла |
|
плюс размер библи- |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
себе пельмень!!! Мы же ниче |
|
|
|
зультате твоя прога будет |
состоять из |
размера запускного |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
Откуда же |
|
|
|
|
|
|
|
|
можно так мухлевать, |
если установить в свойствах |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
го еще не писали |
|
|
|
|
|
|
|
|
|
|
|
|
|
. Нехило? В Delphi тоже |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
Рисунок 2. Окно инфор |
мации о |
|
проекте |
|
|
|
тогда такой большой |
êîä? |
|
|
|
|
|
отеки MFC |
|
|
|
|
|
с динамической |
загрузкой bpl (Borland |
Pascal Library) |
библиотек |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
проекта компиляцию |
|
|
|
реально |
|
создать |
ìà- |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Чтобы |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
Откуда ноги растут? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ленький |
êîä íà Visual C++, |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
нужно |
|
также |
использовать |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PI и никаких объ- |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
âñå, ÷òî åùå íå îá- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
только WinA |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
что осталось в нашем проекте, чтобы обрезать |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Для этого при создании |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
Давай разберем, |
|
модуль Forms. Это |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ектов |
|
|
проекта |
|
|
|
|
|
|
|
- |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
внимание, что в разделе uses подключен |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
нового |
ты должен вы |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
резано. Сразу |
обрати |
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
а значит его использовать нельзя |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
брать тип “Win32 Application” |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
объектный |
модуль, написанный дядей Борманом, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
ýòîì |
|
случае ты, как |
è |
â |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Его тоже использовать нельзя |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
Между begin и end используется |
объект Application |
|
|
|
|
|
|
|
|
|
|
|
с объектом |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Delphi, ощутишь |
все прелести |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
Âñå |
накладки большого |
кода, даже у пустой проги, как раз и связаны |
компиляции |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
íà WinAPI. |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
è Run, ïðè |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
и корявости кодинга |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Õîòÿ |
мы используем только два метода Initialize |
|
|
|
|
а может |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
а он состоит из сотен, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Если ты до этого |
момента от |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
Application |
файл попадает |
весь объект TApplication, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
в запускной |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
носился к Биллу параллельно, |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
и тысяч |
строчек кода. |
накладных |
|
расходов, |
|
нужно заменить модуль |
|
Forms |
íà |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
то после пары часов |
кодинга |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
Чтобы избавиться от |
|
|
|
|
|
|
|
|
|
|
|
|
минимальный код |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PI ты вступишь в пар- |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. А между begin |
и end вообще все можно удалять. Самый |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
â Visual C++ |
|
|
|
íà WinA |
|
|
|
|
|
|
|
|
:). |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4. Создания проекта |
|
|
|
òèþ |
ненавистников M$ |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
Windows |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рисунок |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
проги будет выглядеть так: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
program Project1; |
|
|
|
|
uses Windows; |
|
|
|
|
Begin |
|
|
|
|
end. |
|
|
|
и посмотри на размер по- |
|
откомпилируй проект. Зайди в окно информации |
|||
Снова |
. |
|||
|
8192 |
. Вот это уже по-человечески |
||
лучившегося файла. У меня получилось |
байта |
|
||
|
|
|
Рисунок 3. Информации о |
проекте |
|
Кодинг |
|
||
íà WinAPI |
|
||
Заготовка минимальной |
ïðî- |
||
|
|||
граммы |
ñ |
использованием |
|
|
|
. Теперь ты мо- |
|
WinAPI готова |
ñâîé |
||
жешь смело |
добавлять |
||
код. Мне только надо объяс- |
|||
нить тебе, какие модули мож- |
|||
но подключать к своему про- |
|||
åêòó â |
раздел uses. Тут все |
Сжатие программ |
то твоим лучшим другом должна |
||||||||||
|
не устраивает |
|
|
|
PI, |
||||||
Åñëè òåáÿ |
кодинг на чистом WinA |
|
|
|
êî- |
||||||
-нибудь прога для сжатия размера |
файлов. Я очень люблю ASPack, |
|
|||||||||
|
|
|
|
. Îíà |
|||||||
стать какая |
|
|
|
|
|
|
|
.htm |
|
||
|
|
|
|
|
|
|
|
.com/vr-online/download |
|
|
|
торую ты можешь |
забрать по адресу www.cydsoft |
|
библиотеки .dll. |
|
|
||||||
|
|
|
файлы .exe и динамические |
|
|
||||||
прекрасно сжимает запускные |
|
|
|
||||||||
|
|
|
|
|
|
||||||
Я не буду объяснять установку |
|
|
|
|
|
||||||
ASPack, потому |
что там абсолютно |
|
|
|
|
|
|||||
ничего сложного нет. Только |
îäíî |
|
|
|
|
|
|||||
|
âñå |
|
|
|
|
|
|||||
нажатие на кнопке “Next”, и |
|
|
|
|
|
||||||
|
|
|
|
|
|
||||||
готово. Теперь запусти |
установ- |
|
|
|
|
|
|||||
ленную прогу и ты увидишь окно, |
|
|
|
|
|
||||||
как на рисунке |
5. Главное окно со- |
|
|
|
|
|
|||||
стоит из нескольких закладок: |
|
|
|
|
|
|
|||||
1. Open File |
|
|
|
|
|
|
|
|
|
|
|
2. Compress |
|
|
|
|
|
|
|
|
|
|
|
3. Options |
|
|
|
|
|
|
|
|
|
|
|
4. About |
|
|
|
|
|
|
|
|
|
|
|
5. Help |
|
|
|
|
|
Рисунок 5. |
Главное окно ASPack |
|
|
||
|
|
|
|
|
|
|
|
74