/[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 3 by hedin, Mon Jan 29 10:44:29 2007 UTC revision 8 by hedin, Mon Jan 29 14:35:42 2007 UTC
# Line 5  Line 5 
5  #include "H7 Server.h"  #include "H7 Server.h"
6  #include "H7 ServerDlg.h"  #include "H7 ServerDlg.h"
7  #include ".\h7 serverdlg.h"  #include ".\h7 serverdlg.h"
8    #include <vector>
9    
10  #ifdef _DEBUG  #ifdef _DEBUG
11  #define new DEBUG_NEW  #define new DEBUG_NEW
12  #endif  #endif
13    
14    
15        std::vector<CString> GetAvailableComPorts()
16        {
17            std::vector<CString> ports;
18    
19            for (int i = 1; i < 20; i++)
20            {
21                    CString port;
22                    port.Format("COM%d", i);
23    
24            
25                HANDLE handle = CreateFile(port,
26                                           GENERIC_READ | GENERIC_WRITE,
27                                           0,
28                                           0,
29                                           OPEN_EXISTING,
30                                           0,
31                                           NULL);
32    
33                if (handle != INVALID_HANDLE_VALUE)
34                {
35                    CloseHandle(handle);
36                    ports.push_back(port);
37                }
38            }
39            return ports;
40        }
41    
42  // CAboutDlg dialog used for App About  // CAboutDlg dialog used for App About
43    
44  class CAboutDlg : public CDialog  class CAboutDlg : public CDialog
# Line 70  BEGIN_MESSAGE_MAP(CH7ServerDlg, CDialog) Line 98  BEGIN_MESSAGE_MAP(CH7ServerDlg, CDialog)
98          ON_WM_QUERYDRAGICON()          ON_WM_QUERYDRAGICON()
99          //}}AFX_MSG_MAP          //}}AFX_MSG_MAP
100          ON_BN_CLICKED(IDC_Start, OnBnClickedStart)          ON_BN_CLICKED(IDC_Start, OnBnClickedStart)
101            ON_BN_CLICKED(IDC_TEST, OnBnClickedTest)
102            ON_BN_CLICKED(IDC_RESTART, OnBnClickedRestart)
103  END_MESSAGE_MAP()  END_MESSAGE_MAP()
104    
105    
# Line 104  BOOL CH7ServerDlg::OnInitDialog() Line 134  BOOL CH7ServerDlg::OnInitDialog()
134    
135  /**********************************************************************/  /**********************************************************************/
136          // TODO: Add extra initialization here          // TODO: Add extra initialization here
137            
138            // Sets values in baud-rate combo box  
139            m_BaudRate.AddString("1200");                                  
140            m_BaudRate.AddString("2400");                                  
141            m_BaudRate.AddString("4800");   // Don't work, used for error test.                    
142            m_BaudRate.AddString("9600");                                  
143            m_BaudRate.AddString("19200");
144    
145            // Checks how many COM ports there are.
146            std::vector<CString> Serial = GetAvailableComPorts();
147            for (unsigned int i=0; i<Serial.size(); i++)
148                    m_Serial.AddString(Serial[i]);
149            m_Serial.SetCurSel(0);
150    
151            // Load saved settings from regedit.
152            unsigned long Port;
153            unsigned long BaudRate;
154    //      CString LoadCom;
155    
156    // Used to format the loaded values.
157            CString TPort;
158            CString TBaudRate;
159    
160            CRegKey reg;
161            reg.Create(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Server");
162            reg.QueryDWORDValue("Port", Port);
163            reg.QueryDWORDValue("BaudRate", BaudRate);
164    
165            char LoadCom[20];
166            unsigned long size = 20;
167            reg.QueryStringValue("Serial", LoadCom, &size);
168    
169            TPort.Format("%d", Port);
170            TBaudRate.Format("%d", BaudRate);
171    //      TLoadCom.Format("%s", TLoadCom);
172    
173            m_Port.SetWindowText(TPort);
174            m_BaudRate.SetWindowText(TBaudRate);
175            m_Serial.SetWindowText(LoadCom);
176            MessageBox(LoadCom);
177  /**********************************************************************/  /**********************************************************************/
178          return TRUE;  // return TRUE  unless you set the focus to a control          return TRUE;  // return TRUE  unless you set the focus to a control
179  }  }
# Line 161  HCURSOR CH7ServerDlg::OnQueryDragIcon() Line 229  HCURSOR CH7ServerDlg::OnQueryDragIcon()
229    
230  void CH7ServerDlg::OnBnClickedStart()  void CH7ServerDlg::OnBnClickedStart()
231  {  {
232          CString Port = NULL;          CRegKey reg;
233          CString Tmp;          reg.Create(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Server");
234          m_Port.GetWindowText(Port);          unsigned long Port;
235  //      CRegKey reg;          reg.QueryDWORDValue("Port", Port);
236  //      reg.Create(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Server");  
237            CString tmp;
238            tmp.Format("%d", Port);
239            m_Port.SetWindowText(tmp);
240    }
241    
242    int CH7ServerDlg::StartTcp(void)
243    {
244            unsigned long Port;
245            CRegKey reg;
246            reg.Create(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Server");
247            reg.QueryDWORDValue("Port", Port);
248            TcpServer.Close();
249    
250            TcpServer.Create(Port);
251            TcpServer.Listen();
252            return 0;
253    }
254    
255    void CH7ServerDlg::OnBnClickedTest()
256    {
257            //**************** <TCP Port section> ****************/
258            CString Port = "";
259            
260            m_Port.GetWindowText(Port);
261    // Saving Port number in regedit as int
262            CRegKey reg;
263            reg.Create(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Server");
264            reg.SetDWORDValue("Port", atoi(Port) );
265            reg.Close();
266    // Debug info to the status edit box.
267          m_Status.SetWindowText(Port);          m_Status.SetWindowText(Port);
268    //**************** </TCP Port section> ****************/
269            StartTcp();
270  }  }
271    
 /*CString CH7ServerDlg::SetTcpPort(CString Port)  
 {        
         CString Tmp;  
         m_Port.GetWindowText(Tmp);  
 //      if( Tmp )  
 //              Port = atoi(Tmp);  
         MessageBox(Port);  
272    
273          return Port;  void CH7ServerDlg::OnBnClickedRestart()
274    {
275            CWaitCursor wait;               // Musen viser timeglas.
276            CString Port;
277            m_Port.GetWindowText(Port);
278            CRegKey reg;
279            reg.Create(HKEY_LOCAL_MACHINE, "SOFTWARE\\Projekt\\Server");
280            reg.SetDWORDValue("Port", atoi(Port) );
281            StartTcp();
282  }  }
 */  

Legend:
Removed from v.3  
changed lines
  Added in v.8

  ViewVC Help
Powered by ViewVC 1.1.20