/---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Chat.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
ServerSocket1->Active=true;
// Делаем недоступную "Соединиться" (так как мы уже сервер)
Button3->Enabled=false;
// Делаем доступную "Отключиться" (понятно зачем)
Button4->Enabled=true;
Memo1->Lines->Add("Сервер создан");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
// Присваиваем Клиенту Ай-Пи из Эдита
ClientSocket1->Address=Edit3->Text;
ServerSocket1->Active=true;
// Делаем недоступную "Создать" (так как мы коннектимся)
Button2->Enabled=false;
// Делаем доступную "Отключиться" (понятно зачем)
Button4->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ServerSocket1ClientConnect(TObject *Sender,
TCustomWinSocket *Socket)
{
Memo1->Lines->Add("Клиент подсоеденился");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ClientSocket1Connecting(TObject *Sender,
TCustomWinSocket *Socket)
{
Memo1->Lines->Add("Вы присоедены");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
////Это была обработка исключительных ситуаций , типа пустых строк ввода ;
if(Edit2->Text=="")
{
ShowMessage("Введите ваш ник");
return;
}
if(Edit1->Text=="")
{
ShowMessage("Введите текст который надо отправить");
return;
}
Memo1->Lines->Add(Edit2->Text+"::"+Edit1->Text);
if(ServerSocket1->Active==true)
{
ServerSocket1->Socket->Connections[0]->SendText(Edit2->Text+"::"+Edit1->Text);
}
else
{
ClientSocket1->Socket->SendText(Edit2->Text+"::"+Edit1->Text);
}
Edit1->Text="";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ClientSocket1Read(TObject *Sender,
TCustomWinSocket *Socket)
{
Memo1->Lines->Add(Socket->ReceiveText());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender,
TCustomWinSocket *Socket)
{
Memo1->Lines->Add(Socket->ReceiveText());
}
//----------------------------------------------
|