/[H7]/trunk/H7 Server/H7 ServerDlg.cpp
ViewVC logotype

Diff of /trunk/H7 Server/H7 ServerDlg.cpp

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

revision 10 by hedin, Mon Jan 29 14:35:42 2007 UTC revision 11 by hedin, Mon Jan 29 16:18:31 2007 UTC
# Line 135  BOOL CH7ServerDlg::OnInitDialog() Line 135  BOOL CH7ServerDlg::OnInitDialog()
135  /**********************************************************************/  /**********************************************************************/
136          // TODO: Add extra initialization here          // TODO: Add extra initialization here
137                    
138          // Sets values in baud-rate combo box            ServerInit();
         m_BaudRate.AddString("1200");                                    
         m_BaudRate.AddString("2400");                                    
         m_BaudRate.AddString("4800");   // Don't work, used for error test.                      
         m_BaudRate.AddString("9600");                                    
         m_BaudRate.AddString("19200");  
   
         // Checks how many COM ports there are.  
         std::vector<CString> Serial = GetAvailableComPorts();  
         for (unsigned int i=0; i<Serial.size(); i++)  
                 m_Serial.AddString(Serial[i]);  
         m_Serial.SetCurSel(0);  
   
         // Load saved settings from regedit.  
         unsigned long Port;  
         unsigned long BaudRate;  
 //      CString LoadCom;  
   
 // Used to format the loaded values.  
         CString TPort;  
         CString TBaudRate;  
   
         CRegKey reg;  
         reg.Create(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Server");  
         reg.QueryDWORDValue("Port", Port);  
         reg.QueryDWORDValue("BaudRate", BaudRate);  
   
         char LoadCom[20];  
         unsigned long size = 20;  
         reg.QueryStringValue("Serial", LoadCom, &size);  
   
         TPort.Format("%d", Port);  
         TBaudRate.Format("%d", BaudRate);  
 //      TLoadCom.Format("%s", TLoadCom);  
139    
         m_Port.SetWindowText(TPort);  
         m_BaudRate.SetWindowText(TBaudRate);  
         m_Serial.SetWindowText(LoadCom);  
         MessageBox(LoadCom);  
140  /**********************************************************************/  /**********************************************************************/
141          return TRUE;  // return TRUE  unless you set the focus to a control          return TRUE;  // return TRUE  unless you set the focus to a control
142  }  }
# Line 229  HCURSOR CH7ServerDlg::OnQueryDragIcon() Line 192  HCURSOR CH7ServerDlg::OnQueryDragIcon()
192    
193  void CH7ServerDlg::OnBnClickedStart()  void CH7ServerDlg::OnBnClickedStart()
194  {  {
195    // Get TCp port
196          CRegKey reg;          CRegKey reg;
197          reg.Create(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Server");          reg.Create(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Server");
198          unsigned long Port;          unsigned long Port;
199          reg.QueryDWORDValue("Port", Port);          reg.QueryDWORDValue("Port", Port);
200    
201          CString tmp;  // Add's user defined Baud-Rate to regedit before the server start.
202          tmp.Format("%d", Port);          CString Baud;
203          m_Port.SetWindowText(tmp);          m_BaudRate.GetWindowText(Baud);
204            reg.SetDWORDValue("BaudRate", atoi(Baud) );
205    
206            StartTcp();
207  }  }
208    
209  int CH7ServerDlg::StartTcp(void)  int CH7ServerDlg::StartTcp(void)
210  {  {
211    // Gets the TCP Port number from regedit.
212          unsigned long Port;          unsigned long Port;
213          CRegKey reg;          CRegKey reg;
214          reg.Create(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Server");          reg.Create(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Server");
215          reg.QueryDWORDValue("Port", Port);          reg.QueryDWORDValue("Port", Port);
216            reg.Close();
217    
218    // Restats the TCP Connection
219          TcpServer.Close();          TcpServer.Close();
220    
221          TcpServer.Create(Port);          TcpServer.Create(Port);
222          TcpServer.Listen();          TcpServer.Listen();
223    
224    // Prints TCP Port number to the status box.
225            CString tmp;
226            tmp.Format("%d", Port);
227            m_Port.SetWindowText(tmp);
228    
229          return 0;          return 0;
230  }  }
231    
232  void CH7ServerDlg::OnBnClickedTest()  void CH7ServerDlg::OnBnClickedRestart()
233  {  {
234          //**************** <TCP Port section> ****************/          CWaitCursor wait;               // Musen viser timeglas.
235          CString Port = "";          CString Port;
           
236          m_Port.GetWindowText(Port);          m_Port.GetWindowText(Port);
 // Saving Port number in regedit as int  
237          CRegKey reg;          CRegKey reg;
238          reg.Create(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Server");          reg.Create(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Server");
239          reg.SetDWORDValue("Port", atoi(Port) );          reg.SetDWORDValue("Port", atoi(Port) );
240            
241            CString tmp;
242            m_Serial.GetWindowText(tmp);
243            reg.SetStringValue("Serial",tmp);
244          reg.Close();          reg.Close();
 // Debug info to the status edit box.  
         m_Status.SetWindowText(Port);  
 //**************** </TCP Port section> ****************/  
245          StartTcp();          StartTcp();
246  }  }
247    
248    void CH7ServerDlg::OnBnClickedTest()
 void CH7ServerDlg::OnBnClickedRestart()  
249  {  {
250          CWaitCursor wait;               // Musen viser timeglas.          
251          CString Port;  }
252          m_Port.GetWindowText(Port);  void CH7ServerDlg::ServerInit(void)
253    {
254            int i;
255          CRegKey reg;          CRegKey reg;
256    // Sets values in baud-rate combo box  
257            m_BaudRate.AddString("1200");                                  
258            m_BaudRate.AddString("2400");                                  
259            m_BaudRate.AddString("4800");   // Don't work, used for error test.                    
260            m_BaudRate.AddString("9600");                                  
261            m_BaudRate.AddString("19200");
262    
263            unsigned long Baud;
264            CString GetBaud;
265          reg.Create(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Server");          reg.Create(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Server");
266          reg.SetDWORDValue("Port", atoi(Port) );          reg.QueryDWORDValue("BaudRate", Baud);
267          StartTcp();  
268            switch (Baud)
269            {
270            case 1200:
271                    m_BaudRate.SetCurSel(0);
272                    break;
273            case 2400:
274                    m_BaudRate.SetCurSel(1);
275                    break;
276            case 4800:
277                    m_BaudRate.SetCurSel(2);
278                    break;
279            case 9600:
280                    m_BaudRate.SetCurSel(3);
281                    break;
282            case 19200:
283                    m_BaudRate.SetCurSel(4);
284                    break;
285            default:
286                    m_BaudRate.SetCurSel(3);
287                    break;
288            }
289    
290            m_BaudRate.GetWindowText(GetBaud);
291            reg.SetDWORDValue("BaudRate", atoi(GetBaud) );
292    
293    // Checks how many COM ports there are.
294            std::vector<CString> Serial = GetAvailableComPorts();
295            for (i=0; i<Serial.size(); i++)
296                    m_Serial.AddString(Serial[i]);
297    
298    // Load saved settings from regedit.
299            unsigned long Port;
300            unsigned long BaudRate;
301    
302            // Used to format the loaded values.
303            CString TPort;
304            CString TBaudRate;
305    
306            reg.Create(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Server");
307            reg.QueryDWORDValue("Port", Port);
308            reg.QueryDWORDValue("BaudRate", BaudRate);
309    
310            char LoadCom[20];
311            unsigned long size = 20;
312            reg.QueryStringValue("Serial", LoadCom, &size);
313    
314            TPort.Format("%d", Port);
315            TBaudRate.Format("%d", BaudRate);
316    
317            m_Port.SetWindowText(TPort);
318            m_BaudRate.SetWindowText(TBaudRate);
319            m_Serial.SetWindowText(LoadCom);
320    
321    // Checks for valid COM port in regedit.
322            for (i=0; i< Serial.size() ; i++)
323            {
324                    if (LoadCom == Serial[i])
325                    {
326                            m_Serial.SetCurSel(i);
327                            break;
328                    }
329            }
330            if (i == Serial.size() )
331            {
332                    m_Serial.SetCurSel(0);
333                    reg.SetStringValue("Serial", Serial[0]);
334            }
335            reg.Close();
336    
337  }  }

Legend:
Removed from v.10  
changed lines
  Added in v.11

  ViewVC Help
Powered by ViewVC 1.1.20