--- trunk/Client/ClientDlg.cpp 2007/01/31 12:43:44 29 +++ trunk/Client/ClientDlg.cpp 2007/01/31 13:12:55 30 @@ -10,15 +10,21 @@ #define new DEBUG_NEW #endif - -CString Ip, Delay; +//Globale variabler osv. :-S +CString Ip, Delay, Updatevariable; unsigned long Port; UINT Status( LPVOID Param ); +UINT Update( LPVOID Param ); +void Buffcheck(CString); void Start(); void startthread(); CButton m_led1; CButton m_led2; CButton m_led3; +CButton m_knap1; +CButton m_knap2; +CEdit m_temp; +CEdit m_pot; // CAboutDlg dialog used for App About @@ -82,6 +88,9 @@ //}}AFX_MSG_MAP ON_BN_CLICKED(IDC_IPPORT, OnBnClickedIpport) ON_BN_CLICKED(IDC_Connect, OnBnClickedConnect) + ON_BN_CLICKED(IDC_LED1, OnBnClickedLed1) + ON_BN_CLICKED(IDC_LED2, OnBnClickedLed2) + ON_BN_CLICKED(IDC_LED3, OnBnClickedLed3) END_MESSAGE_MAP() @@ -91,7 +100,6 @@ public: ClientSocket() { }; virtual void OnReceive(int nErrorCode); - virtual void OnSend(int nErrorCode); }; BOOL CClientDlg::OnInitDialog() { @@ -213,48 +221,21 @@ ClientSocket sockClient; -CString strIp, strPort; +CString strIp, strPort, buff; /*Clientsocket class used for client socket connections*/ void ClientSocket::OnReceive( int nErrorCode ) { char buffer[4096]; int size; - CString buff; + size = Receive(buffer,4095); buffer[size] = 0; MessageBox(0,buffer,0,MB_OK); buff = buffer; - if( buff == "Tændt" ) - { - char test[10]; - int i; - i = m_led1.GetCheck(); -// _itot(i,test,10); Fejltjeck -// MessageBox(0,test,0,MB_OK); - if(i == 0) - { - m_led1.SetCheck(1); - } - else - { - m_led1.SetCheck(0); - } - } - else - { - MessageBox(0,"FEJL i onrecive",0,MB_OK); - } - Close(); -} -void ClientSocket::OnSend( int nErrorCode ) -{ -// CString sendnu; skal ikke sende nu - -// sendnu = Sendtekst; skal ikke sende nu - -// Send(sendnu,sendnu.GetLength()); skal ikke sende nu + Buffcheck(buff); + //Close(); } void CClientDlg::OnBnClickedIpport() { @@ -288,9 +269,7 @@ sockClient.Create(); if (sockClient.Connect(Ip,Port)) { - //sockClient.Send(strPort,strPort.GetLength(),NULL); - //sockClient.Send(data,data.GetLength(),NULL); - //sockClient.Close(); + } else { @@ -301,18 +280,129 @@ } void CClientDlg::OnBnClickedConnect() { - + startthread(); } UINT Status( LPVOID Param ) { CString status; - status = "RB1"; - Sleep(atoi(Delay)); + status = "100"; sockClient.Send(status,status.GetLength(),NULL); - startthread(); + Sleep(atoi(Delay)); + //startthread(); return TRUE; } void startthread() { AfxBeginThread(Status,0,THREAD_PRIORITY_NORMAL,0,0,NULL); -} \ No newline at end of file +} +UINT Update( LPVOID param ) +{ + //Updatevariable = "11"; + sockClient.Send(Updatevariable,Updatevariable.GetLength(),NULL); + //MessageBox(0,Updatevariable,0,MB_OK); + return TRUE; +} +void Buffcheck(CString) +{ + int intbuff, temp, pot; + intbuff = atoi(buff); // til standat case + temp = atoi(buff); // til temperatur case + pot = atoi(buff); // til potmeter case + switch (intbuff) + { + case 110: /*Led 1 Slukket*/ + { + m_led1.SetCheck(0); + break; + } + case 111: /*Led 1 Tændt*/ + { + m_led1.SetCheck(1); + break; + } + case 120: /*Led 2 Slukket*/ + { + m_led2.SetCheck(0); + break; + } + case 121: /*Led 2 Tændt*/ + { + m_led2.SetCheck(1); + break; + } + case 130: /*Led 3 Slukket*/ + { + m_led3.SetCheck(0); + break; + } + case 131: /*Led 3 Tændt*/ + { + m_led3.SetCheck(1); + break; + } + case 140: /*Knap 1 off*/ + { + m_knap1.SetCheck(0); + break; + } + case 141: /*Knap 1 on*/ + { + m_knap1.SetCheck(1); + break; + } + case 150: /*Knap 2 off*/ + { + m_knap2.SetCheck(0); + break; + } + case 151: /*Knap 2 on*/ + { + m_knap2.SetCheck(1); + break; + } + } + if (temp > 3999 && temp < 5000) //skriv temperaturen + { + CString strtemp; + temp = (temp-4000); + strtemp.Format("%d",temp); + m_temp.SetWindowText(strtemp); + } + if (pot > 1999 && pot < 3050) //skriv potmeter værdien + { + CString strpot; + pot = (pot-2000); + strpot.Format("%d",pot); + m_temp.SetWindowText(strpot); + } + +} +void CClientDlg::OnBnClickedLed1() +{ + int led, code, send; + led = 110; + code = m_led1.GetCheck(); + send = (led+code); + Updatevariable.Format("%d",send); + AfxBeginThread(Update,0,THREAD_PRIORITY_NORMAL,0,0,NULL); +} + +void CClientDlg::OnBnClickedLed2() +{ + int led, code, send; + led = 120; + code = m_led2.GetCheck(); + send = (led+code); + Updatevariable.Format("%d",send); + AfxBeginThread(Update,0,THREAD_PRIORITY_NORMAL,0,0,NULL); +} + +void CClientDlg::OnBnClickedLed3() +{ + int led, code, send; + led = 130; + code = m_led3.GetCheck(); + send = (led+code); + Updatevariable.Format("%d",send); + AfxBeginThread(Update,0,THREAD_PRIORITY_NORMAL,0,0,NULL); +}