Пишем свой мессагер для локалы на C++Builder.

Спецвыпуск Хакер, номер #004, стр. 004-120-1

Falcon625 (48600076@mail.ru)

Шаг 0:

Запусти C++Builder и осмотрись вокруг. Видишь форму? Это будет окно нового мессагера для локальной сети.

Шаг 1

Итак, у тебя, наверное, в голове закрутилась куча мыслей: насколько он будет крутой :). Ну так давай начинать делать дизайн! Как минимум, нужны будут следующие компоненты: одно окно Memo, одна кнопка и 3 поля Edit. А также скрытые компоненты из раздела FastNet NMMSGServ для получения сообщений и NMMsg для отправки.

Ну что, разместил это все на форме? Если да, то надо приступать к самому главному - написанию кода. С чего начать? Начать нужно с отправки сообщений. Видишь кнопку Button1 - вот и кликай на нее. Теперь в Object Inspector'e выбирай закладку Events (События) и делай двойной клик в поле OnClick, что означает

"На Нажатие". Появился редактор кода, где ты видишь что-то вроде

void __fastcall TForm1::Button1Click(TObject *Sender)

{

}

и курсор между фигурными скобками. Что это означает? Это означает, что ты только что создал сценарий реакции на событие OnClick - только этот сценарий состоит пока из пустого места :), так что туда надо вписать что-то вроде:

NMMsg1->Host = Edit1->Text; // Эта строка отвечает за привязку поля Edit1 к имени компьютера, на который будет отослано сообщение (имя компьютера твоего друга Васи).

NMMsg1->FromName = Edit2->Text; // Эта строка отвечает за привязку поля Edit2 к имени отправителя (твое имя, ник или что захочешь).

NMMsg1->PostIt(Edit3->Text); // Эта строка отвечает сразу за 2 действия: привязку и отправку текста поля Edit3 к функции PostIt.

Memo1->Lines->Add(Edit3->Text); // Эта строка отвечает за вывод отправленного сообщения в многострочное поле Memo1.

чтобы сообщения отсылались. Теперь посмотри на комментарии после каждой строки (комментарии отмечены двойной косой чертой aka double slash).

Все! Сообщения отсылаются на нужный адрес (но они только отсылаются и не принимаются на удаленной машине, т.к. принимающая часть еще не написана).

Шаг 2

Итак, пишем принимающую часть программы. Тут все будет просто. Жми на компонент NMMSGServer1 и в Object Inspector'e выбирай закладку Events, а там событие OnMSG. Опять открылся редактор кода, и там появилось что-то вроде этого:

void __fastcall TForm1::NMMSGServ1MSG(TComponent *Sender,

const AnsiString sFrom, const AnsiString sMsg)

{

}

опять же с курсором между скобок. Туда надо прописать единственную строку:

Memo1->Lines->Add(sFrom + "::" + sMsg);

и все, теперь все пришедшие сообщения будут добавляться в многострочное поле Memo1 в виде "Имя отправителя::сообщение".

Шаг 3

Все, самый простейший мессагер для локалы готов! Не так уж и сложно? А как прифигеют твои соседи по сети, когда ты им раздашь эту прогу и каждую неделю будешь выпускать новые версии :)! А ведь в эту прогу можно встроить еще что-нибудь (ты, наверное, уже догадался :))! А, еще, чуть не забыл: если у твоих друганов не стоит C++Builder, то тебе придется дать им некоторые библиотеки для того, чтобы прога работала. Надеюсь, ты на скатывании кода не остановишься и будешь придумывать свои супер-фишки! Если придумаешь что-нибудь суперкульное, то пиши мне на мыло :). Жду.

Содержание  Вперед на стр. 004-120-2

загрузка...
Cпец Хакер #075Cпец Хакер #074Cпец Хакер #073Cпец Хакер #072Cпец Хакер #071Cпец Хакер #070Cпец Хакер #069Cпец Хакер #068Cпец Хакер #067Cпец Хакер #066Cпец Хакер #065Cпец Хакер #064Cпец Хакер #063Cпец Хакер #062Cпец Хакер #061Cпец Хакер #060Cпец Хакер #059Cпец Хакер #058Cпец Хакер #057Cпец Хакер #056Cпец Хакер #055Cпец Хакер #054Cпец Хакер #053Cпец Хакер #052Cпец Хакер #051Cпец Хакер #050Cпец Хакер #049Cпец Хакер #048Cпец Хакер #047Cпец Хакер #046Cпец Хакер #045Cпец Хакер #044Cпец Хакер #043Cпец Хакер #042Cпец Хакер #041Cпец Хакер #040Cпец Хакер #039Cпец Хакер #038Cпец Хакер #037Cпец Хакер #036Cпец Хакер #035Cпец Хакер #034Cпец Хакер #033Cпец Хакер #032Cпец Хакер #031Cпец Хакер #030Cпец Хакер #029Cпец Хакер #028Cпец Хакер #027Cпец Хакер #026Cпец Хакер #025Cпец Хакер #024Cпец Хакер #023Cпец Хакер #022Cпец Хакер #021Cпец Хакер #020Cпец Хакер #019Cпец Хакер #018Cпец Хакер #017Cпец Хакер #016Cпец Хакер #015Cпец Хакер #014Cпец Хакер #013Cпец Хакер #012Cпец Хакер #011Cпец Хакер #010Cпец Хакер #009Cпец Хакер #008Cпец Хакер #007Cпец Хакер #006Cпец Хакер #005Cпец Хакер #004Cпец Хакер #003Cпец Хакер #002Cпец Хакер #001