/[H7]/trunk/Client/ClientDlg.cpp
ViewVC logotype

Diff of /trunk/Client/ClientDlg.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 4 by kevin, Mon Jan 29 10:49:43 2007 UTC revision 16 by kevin, Tue Jan 30 13:44:42 2007 UTC
# Line 10  Line 10 
10  #define new DEBUG_NEW  #define new DEBUG_NEW
11  #endif  #endif
12    
13            
14    CString Ip, Delay;
15    unsigned long Port;
16    UINT Status( LPVOID Param );
17    void Start();
18    void startthread();
19    CButton m_led1;
20    CButton m_led2;
21    CButton m_led3;
22    
23  // CAboutDlg dialog used for App About  // CAboutDlg dialog used for App About
24    
# Line 45  END_MESSAGE_MAP() Line 54  END_MESSAGE_MAP()
54  // CClientDlg dialog  // CClientDlg dialog
55    
56    
   
57  CClientDlg::CClientDlg(CWnd* pParent /*=NULL*/)  CClientDlg::CClientDlg(CWnd* pParent /*=NULL*/)
58          : CDialog(CClientDlg::IDD, pParent)          : CDialog(CClientDlg::IDD, pParent)
59  {  {
# Line 64  void CClientDlg::DoDataExchange(CDataExc Line 72  void CClientDlg::DoDataExchange(CDataExc
72          DDX_Control(pDX, IDC_POT, m_pot);          DDX_Control(pDX, IDC_POT, m_pot);
73          DDX_Control(pDX, IDC_IPADDRESS1, m_ip);          DDX_Control(pDX, IDC_IPADDRESS1, m_ip);
74          DDX_Control(pDX, IDC_PORT, m_port);          DDX_Control(pDX, IDC_PORT, m_port);
75            DDX_Control(pDX, IDC_DELAY, m_delay);
76  }  }
77    
78  BEGIN_MESSAGE_MAP(CClientDlg, CDialog)  BEGIN_MESSAGE_MAP(CClientDlg, CDialog)
# Line 72  BEGIN_MESSAGE_MAP(CClientDlg, CDialog) Line 81  BEGIN_MESSAGE_MAP(CClientDlg, CDialog)
81          ON_WM_QUERYDRAGICON()          ON_WM_QUERYDRAGICON()
82          //}}AFX_MSG_MAP          //}}AFX_MSG_MAP
83          ON_BN_CLICKED(IDC_IPPORT, OnBnClickedIpport)          ON_BN_CLICKED(IDC_IPPORT, OnBnClickedIpport)
84            ON_BN_CLICKED(IDC_Connect, OnBnClickedConnect)
85  END_MESSAGE_MAP()  END_MESSAGE_MAP()
86    
87    
88  // CClientDlg message handlers  // CClientDlg message handlers
89    /*Client socket class*/
90    class ClientSocket : public CSocket{
91    public:
92            ClientSocket() { };
93            virtual void OnReceive(int nErrorCode);
94            virtual void OnSend(int nErrorCode);
95    };
96  BOOL CClientDlg::OnInitDialog()  BOOL CClientDlg::OnInitDialog()
97  {  {
98          CDialog::OnInitDialog();          CDialog::OnInitDialog();
# Line 105  BOOL CClientDlg::OnInitDialog() Line 121  BOOL CClientDlg::OnInitDialog()
121          SetIcon(m_hIcon, FALSE);                // Set small icon          SetIcon(m_hIcon, FALSE);                // Set small icon
122    
123          // TODO: Add extra initialization here          // TODO: Add extra initialization here
124            
125            // Get data from regedit
126          CString strip, strport;          CString strip, strport;
127          char Ip[16];          char chaip[16];
128          char Port[6];          char chadelay[16];
129          CRegKey reg;          CRegKey reg;
130          unsigned long size = 16;          unsigned long size = 16;
131          LONG res=reg.Open(HKEY_CLASSES_ROOT,"Project",KEY_READ);          LONG res=reg.Open(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Client",KEY_READ);
132    
133          if (res == ERROR_SUCCESS)          if (res == ERROR_SUCCESS)
134          {          {
135                  res=reg.QueryStringValue("IP", Ip,&size);                  res=reg.QueryStringValue("IP", chaip, &size);
136          }          }
137            Ip = chaip;
138          m_ip.SetWindowText(Ip);          m_ip.SetWindowText(Ip);
139          LONG res2=reg.Open(HKEY_CLASSES_ROOT,"Project",KEY_READ);          LONG res2=reg.Open(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Client",KEY_READ);
140    
141          if (res2 == ERROR_SUCCESS)          if (res2 == ERROR_SUCCESS)
142          {          {
143                  res2=reg.QueryStringValue("Port", Port,&size);                  res2=reg.QueryDWORDValue("Port", Port);
144          }          }
145          m_port.SetWindowText(Port);          strport.Format("%d",Port);
146            m_port.SetWindowText(strport);
147    
148            LONG res3=reg.Open(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Client",KEY_READ);
149    
150            if (res3 == ERROR_SUCCESS)
151            {
152                    res3=reg.QueryStringValue("Delay",chadelay,&size);
153            }
154            Delay = chadelay;
155            m_delay.SetWindowText(Delay);
156          reg.Close();          reg.Close();
157                    
158                    //connect til server
159            Start();
160                    
161                                    
162          return TRUE;  // return TRUE  unless you set the focus to a control          return TRUE;  // return TRUE  unless you set the focus to a control
# Line 182  HCURSOR CClientDlg::OnQueryDragIcon() Line 212  HCURSOR CClientDlg::OnQueryDragIcon()
212  }  }
213    
214    
215    ClientSocket    sockClient;
216    CString strIp, strPort;
217    
218    /*Clientsocket class used for client socket connections*/
219    void ClientSocket::OnReceive( int nErrorCode )
220    {
221            char buffer[4096];
222            int size;
223            CString buff;
224    
225            size = Receive(buffer,4095);
226            buffer[size] = 0;
227            MessageBox(0,buffer,0,MB_OK);
228            buff = buffer;
229            if( buff == "Tændt" )
230            {
231                    char test[10];
232                    int i;
233                    i = m_led1.GetCheck();
234    //              _itot(i,test,10);               Fejltjeck
235    //              MessageBox(0,test,0,MB_OK);
236                    if(i == 0)
237                    {
238                    m_led1.SetCheck(1);
239                    }
240                    else
241                    {
242                    m_led1.SetCheck(0);
243                    }
244            }
245            else
246            {
247                    MessageBox(0,"FEJL i onrecive",0,MB_OK);
248            }
249            Close();
250    }
251    void ClientSocket::OnSend( int nErrorCode )
252    {
253    //      CString sendnu;         skal ikke sende nu
254    
255    //      sendnu = Sendtekst;             skal ikke sende nu
256    
257    //      Send(sendnu,sendnu.GetLength());        skal ikke sende nu
258    }
259  void CClientDlg::OnBnClickedIpport()  void CClientDlg::OnBnClickedIpport()
260  {  {
261          CString Ip, Port;          //Set new port and ip for the server in regedit
262          m_ip.GetWindowText(Ip);          m_ip.GetWindowText(strIp);
263          m_port.GetWindowText(Port);          m_port.GetWindowText(strPort);
264            m_delay.GetWindowText(Delay);
265            int test;
266            test = atoi(Delay);
267            if(test < 10000 && test > 100)
268            {
269          CRegKey reg;          CRegKey reg;
270          reg.Create(HKEY_CLASSES_ROOT, "Project");          reg.Create(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Client");
271          reg.SetStringValue("","Project-data");          reg.SetStringValue("","Project-data");
272          reg.Create(HKEY_CLASSES_ROOT, "Project");          reg.Create(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Client");
273          reg.SetStringValue("IP",Ip);          reg.SetStringValue("IP",strIp);
274          reg.Create(HKEY_CLASSES_ROOT, "Project");          reg.Create(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Client");
275          reg.SetStringValue("Port",Port);          reg.SetDWORDValue("Port",atoi(strPort));
276            reg.Create(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Client");
277            reg.SetStringValue("Delay",Delay);
278          reg.Close();          reg.Close();
279            }
280            else
281            {
282                    MessageBox("fejl i delay",0,MB_OK);
283            }
284    }
285    
286    void Start()
287    {
288            sockClient.Create();
289            if (sockClient.Connect(Ip,Port))
290            {
291                    //sockClient.Send(strPort,strPort.GetLength(),NULL);
292                    //sockClient.Send(data,data.GetLength(),NULL);
293                    //sockClient.Close();
294            }
295            else
296            {
297                    int error = GetLastError();
298                    CString tmp;
299                    tmp.Format("%d", error);
300            }
301  }  }
302    void CClientDlg::OnBnClickedConnect()
303    {      
304    
305    }
306    UINT Status( LPVOID Param )
307    {
308            CString status;
309            status = "RB1";
310            Sleep(atoi(Delay));
311            sockClient.Send(status,status.GetLength(),NULL);
312            startthread();
313            return TRUE;
314    }
315    void startthread()
316    {
317            AfxBeginThread(Status,0,THREAD_PRIORITY_NORMAL,0,0,NULL);
318    }

Legend:
Removed from v.4  
changed lines
  Added in v.16

  ViewVC Help
Powered by ViewVC 1.1.20