|
저도 가남사꺼루.. 하다가 안돼서..
바쁜김에 컴포넌트 이용해서 그냥.. 간단하게 짠 232 허잡한 프로그램입니다.
참조하세요.. ㅠ.ㅠ 넘 허잡해서 부끄럽네요..
첨엔.. 다~ 이렇게 시작하는 거라는 위로를 가지고 올립니다...
잘못된 점 있음 갈켜 주시구요..
좋은 하루 되세요.
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Chatting232.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "SerialComm"
#pragma resource "*.dfm"
TForm1 *Form1;
int timer = 0;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
Form1->Caption = "PICBASIC Test";
Timer1->Enabled = false;
Timer2->Enabled = false;
timer = 0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Btn_ConnectClick(TObject *Sender)
{
SerialComm1->Port = Comport->ItemIndex+1;
SerialComm1->ClearInputBuffer();
SerialComm1->ClearOutputBuffer();
SerialComm1->Open();
if(!(SerialComm1->Opened))
ShowMessage("Fail Open Comport!");
else
Form1->Caption = Comport->Text +"Connected";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SerialComm1Read(TObject *Sender)
{
char Buff[100];
memset(Buff,NULL,100);
SerialComm1->Receive(Buff,sizeof(Buff));
Memo1->Lines->Add(Buff);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Btn_DisConnectClick(TObject *Sender)
{
if(SerialComm1->Opened)
{
SerialComm1->ClearOutputBuffer();
SerialComm1->Close();
ShowMessage("Bye~ Bye~");
Form1->Caption="Comport Not Connected...";
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Btn_SendClick(TObject *Sender)
{
char SendBuff[100];
if(!(SerialComm1->Opened))
{
ShowMessage("Comport Not Opend!");
return;
}
memset(SendBuff,NULL,100);
strcpy(SendBuff, SendMsg->Text.c_str());
Memo1->Lines->Add(SendMsg->Text);
SerialComm1->Send(SendBuff, SendMsg->Text.Length());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Btn_AutoClick(TObject *Sender)
{
Timer1->Enabled = true;
Timer2->Enabled = true;
timer = 0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
char SendBuff[100];
AnsiString SendString;
if(!(SerialComm1->Opened))
{
ShowMessage("Comport Not Opend!");
return;
}
memset(SendBuff,NULL,100);
if(timer==50){
SendString = "FAIL";
}
else if(timer==51){
SendString = "RETRY";
timer = 0;
}
else
SendString = "Hello! AGV is running...";
strcpy(SendBuff, SendString.c_str());
Memo1->Lines->Add(SendString);
SerialComm1->Send(SendBuff, SendString.Length());
timer++;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Btn_StopClick(TObject *Sender)
{
Timer1->Enabled = false;
Timer2->Enabled = false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Btn_FailClick(TObject *Sender)
{
AnsiString SendString = "FAIL";
char SendBuff[100];
if(!(SerialComm1->Opened))
{
ShowMessage("Comport Not Opend!");
return;
}
memset(SendBuff,NULL,100);
strcpy(SendBuff, SendString.c_str());
Memo1->Lines->Add(SendString);
SerialComm1->Send(SendBuff, SendString.Length());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Btn_RetryClick(TObject *Sender)
{
AnsiString SendString = "RETRY";
char SendBuff[100];
if(!(SerialComm1->Opened))
{
ShowMessage("Comport Not Opend!");
return;
}
memset(SendBuff,NULL,100);
strcpy(SendBuff, SendString.c_str());
Memo1->Lines->Add(SendString);
SerialComm1->Send(SendBuff, SendString.Length());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer2Timer(TObject *Sender)
{
//int i;
//if(i==50)
// i = 0;
//else
// i++;
//Label1->Caption = IntToStr(i);
Label1->Caption = IntToStr(timer);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Cmb_TimerClick(TObject *Sender)
{
if(Cmb_Timer->ItemIndex == 0)
Timer1->Interval = 50;
else if(Cmb_Timer->ItemIndex == 1)
Timer1->Interval = 100;
else if(Cmb_Timer->ItemIndex == 2)
Timer1->Interval = 150;
else if(Cmb_Timer->ItemIndex == 3)
Timer1->Interval = 200;
else if(Cmb_Timer->ItemIndex == 4)
Timer1->Interval = 250;
else if(Cmb_Timer->ItemIndex == 5)
Timer1->Interval = 300;
}
//---------------------------------------------------------------------------
|