///////////////////////////////////////////////////////////////////// // TestForm.cpp - Main Form declaration for message-passing demo // // // // Jim Fawcett, CSE687 - Object Oriented Design, Spring 2006 // ///////////////////////////////////////////////////////////////////// #include "stdafx.h" #include "Form1.h" #include "../MessageForm/MessageForm.h" #include "../clienthandler.h" using namespace TestForm; using namespace System::Text; System::Void Form1::ClearMessages() { messageTextBox->Text = ""; } System::Void Form1::DisplayMessage(String^ msg) { ++count; StringBuilder^ temp = gcnew StringBuilder(); temp->Append("#"); temp->Append(count.ToString()); temp->Append(" "); temp->Append(msg); temp->Append("\r\n"); temp->Append(messageTextBox->Text); messageTextBox->Text = temp->ToString(); } System::Void Form1::Form1_Load(System::Object^ sender, System::EventArgs^ e) { localPortComboBox->Text = localPortComboBox->Items[0]->ToString(); } System::Void Form1::listenButton_Click(System::Object^ sender, System::EventArgs^ e) { static ClientHandlerProc* pCHandler = new ClientHandlerProc(this); pServer->registerClientHandler(pCHandler); int port = Convert::ToInt32(localPortComboBox->Text); pServer->start(port); } System::Void Form1::sendButton_Click(System::Object^ sender, System::EventArgs^ e) { pSender->send("a message"); } System::Void Form1::connectButton_Click(System::Object^ sender, System::EventArgs^ e) { if(SenderConnected) { pSender->disconnect(); delete pSender; pSender = new Socket; } String^ purl = addressBox->Text; std::string temp; for(int i=0; iLength; ++i) temp += static_cast(purl[i]); int port = Convert::ToInt32(remotePortComboBox->Text); if(pSender->connect(temp, port)) { SenderConnected = true; Trace("connected successfully"); } else { SenderConnected = false; Trace("Connection failed"); } } System::Void Form1::MessageButton_Click(System::Object^ sender, System::EventArgs^ e) { MessageForm^ pMsgForm = gcnew MessageForm(this); pMsgForm->Update(); pMsgForm->Show(); } [STAThreadAttribute] int main(array ^args) { // Enabling Windows XP visual effects before any controls are created Application::EnableVisualStyles(); Application::SetCompatibleTextRenderingDefault(false); // Create the main window and run it Application::Run(gcnew Form1()); return 0; }