/[H9]/trunk/FlisServer/FlisServerDlg.cpp
ViewVC logotype

Annotation of /trunk/FlisServer/FlisServerDlg.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 113 - (hide annotations) (download)
Sat Dec 1 14:18:33 2007 UTC (16 years, 5 months ago) by kevin
File size: 18188 byte(s)
updated flisserver software, going on a break now
1 kevin 70 // FlisServerDlg.cpp : implementation file
2     //
3    
4     #include "stdafx.h"
5     #include "FlisServer.h"
6     #include "FlisServerDlg.h"
7     #include <vector>
8    
9     #ifdef _DEBUG
10     #define new DEBUG_NEW
11     #endif
12    
13    
14     // CAboutDlg dialog used for App About
15    
16     class CAboutDlg : public CDialog
17     {
18     public:
19     CAboutDlg();
20    
21     // Dialog Data
22     enum { IDD = IDD_ABOUTBOX };
23    
24     protected:
25     virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
26    
27     // Implementation
28     protected:
29     DECLARE_MESSAGE_MAP()
30     };
31    
32     CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
33     {
34     }
35    
36     void CAboutDlg::DoDataExchange(CDataExchange* pDX)
37     {
38     CDialog::DoDataExchange(pDX);
39     }
40    
41     BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
42     END_MESSAGE_MAP()
43    
44    
45     // CFlisServerDlg dialog
46    
47    
48    
49     CFlisServerDlg::CFlisServerDlg(CWnd* pParent /*=NULL*/)
50     : CDialog(CFlisServerDlg::IDD, pParent)
51     {
52     m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
53     }
54    
55     void CFlisServerDlg::DoDataExchange(CDataExchange* pDX)
56     {
57     CDialog::DoDataExchange(pDX);
58     DDX_Control(pDX, IDC_Textwindow, m_Textwindow);
59     }
60    
61     BEGIN_MESSAGE_MAP(CFlisServerDlg, CDialog)
62     ON_WM_SYSCOMMAND()
63     ON_WM_PAINT()
64     ON_WM_QUERYDRAGICON()
65 kevin 110 ON_MESSAGE(UWM_MYMESSAGE, OnShowString)
66 kevin 70 //}}AFX_MSG_MAP
67     ON_BN_CLICKED(IDC_test, OnBnClickedtest)
68 kevin 103 ON_BN_CLICKED(IDCLOSE, OnBnClickedClose)
69 kevin 105 ON_BN_CLICKED(IDC_GSMPIN, OnBnClickedGsmpin)
70 kevin 70 END_MESSAGE_MAP()
71    
72    
73     // CFlisServerDlg message handlers
74    
75     BOOL CFlisServerDlg::OnInitDialog()
76     {
77     CDialog::OnInitDialog();
78    
79     // Add "About..." menu item to system menu.
80    
81     // IDM_ABOUTBOX must be in the system command range.
82     ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
83     ASSERT(IDM_ABOUTBOX < 0xF000);
84    
85     CMenu* pSysMenu = GetSystemMenu(FALSE);
86     if (pSysMenu != NULL)
87     {
88     CString strAboutMenu;
89     strAboutMenu.LoadString(IDS_ABOUTBOX);
90     if (!strAboutMenu.IsEmpty())
91     {
92     pSysMenu->AppendMenu(MF_SEPARATOR);
93     pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
94     }
95     }
96    
97     // Set the icon for this dialog. The framework does this automatically
98     // when the application's main window is not a dialog
99     SetIcon(m_hIcon, TRUE); // Set big icon
100     SetIcon(m_hIcon, FALSE); // Set small icon
101    
102     // TODO: Add extra initialization here
103     StartSerial();
104 kevin 81 DBConnect();
105 kevin 113 continueThread = 1;
106     ResetSms = 0;
107     /*
108     ////////////Start Tråd////////////////////////
109     MyThread *t = new MyThread(AfxGetMainWnd());
110     t->start();
111     ////////////Start Tråd////////////////////////
112     */
113     AfxBeginThread(threadWrapper,AfxGetMainWnd());
114 kevin 70
115     return TRUE; // return TRUE unless you set the focus to a control
116     }
117    
118     void CFlisServerDlg::OnSysCommand(UINT nID, LPARAM lParam)
119     {
120     if ((nID & 0xFFF0) == IDM_ABOUTBOX)
121     {
122     CAboutDlg dlgAbout;
123     dlgAbout.DoModal();
124     }
125     else
126     {
127     CDialog::OnSysCommand(nID, lParam);
128     }
129     }
130    
131     // If you add a minimize button to your dialog, you will need the code below
132     // to draw the icon. For MFC applications using the document/view model,
133     // this is automatically done for you by the framework.
134    
135     void CFlisServerDlg::OnPaint()
136     {
137     if (IsIconic())
138     {
139     CPaintDC dc(this); // device context for painting
140    
141     SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
142    
143     // Center icon in client rectangle
144     int cxIcon = GetSystemMetrics(SM_CXICON);
145     int cyIcon = GetSystemMetrics(SM_CYICON);
146     CRect rect;
147     GetClientRect(&rect);
148     int x = (rect.Width() - cxIcon + 1) / 2;
149     int y = (rect.Height() - cyIcon + 1) / 2;
150    
151     // Draw the icon
152     dc.DrawIcon(x, y, m_hIcon);
153     }
154     else
155     {
156     CDialog::OnPaint();
157     }
158     }
159    
160     // The system calls this function to obtain the cursor to display while the user drags
161     // the minimized window.
162     HCURSOR CFlisServerDlg::OnQueryDragIcon()
163     {
164     return static_cast<HCURSOR>(m_hIcon);
165     }
166     int CFlisServerDlg::StartSerial(void)
167     {
168     int Baud;
169     CString SerialPort = "COM3";
170    
171     Baud = 1200;
172     if( Serial.isOpen() ){
173     Serial.close();
174     Serial.open( SerialPort, Baud );
175     }
176     else {
177     Serial.open( SerialPort, Baud );
178     }
179    
180    
181     return 0;
182     }
183     std::vector<unsigned char> CFlisServerDlg::readFrame()
184     {
185     std::vector<unsigned char> buf;
186     while(Serial.getComstat().cbInQue > 0)
187     {
188     unsigned char data = Serial.readByte();
189    
190     buf.push_back(data);
191     }
192     return buf;
193     }
194     void CFlisServerDlg::OnBnClickedtest()
195     {
196     // TODO: Add your control notification handler code here
197    
198 kevin 103 /*
199     ///////////////Send sms stuff/////////////////
200     vector<unsigned char> tlfnr;
201     vector<unsigned char> smsdata;
202     tlfnr.push_back('2');
203     tlfnr.push_back('9');
204     tlfnr.push_back('7');
205     tlfnr.push_back('2');
206     tlfnr.push_back('2');
207     tlfnr.push_back('6');
208     tlfnr.push_back('0');
209     tlfnr.push_back('3');
210    
211     SendSmsHead(tlfnr);
212    
213     //35:29860132:75 <--- demo pakke;
214 kevin 113 vector<unsigned char> smsdata;
215 kevin 103 smsdata.push_back('3');
216     smsdata.push_back('5');
217     smsdata.push_back(':');
218     smsdata.push_back('2');
219     smsdata.push_back('9');
220     smsdata.push_back('8');
221     smsdata.push_back('6');
222     smsdata.push_back('0');
223     smsdata.push_back('1');
224     smsdata.push_back('3');
225     smsdata.push_back('2');
226     smsdata.push_back(':');
227     smsdata.push_back('7');
228     smsdata.push_back('5');
229    
230     SendSmsData(smsdata);
231     ///////////////Send sms stuff/////////////////
232     */
233 kevin 110
234 kevin 70 }
235     void CFlisServerDlg::writeFrame(std::vector<unsigned char> data)
236     {
237     for (int i=0; i<data.size(); i++)
238     {
239     Serial.writeByte( data[i] );
240     Sleep(5);
241     }
242     Serial.writeByte(0x0D);
243     Sleep(100);
244    
245     }
246 kevin 110 void CFlisServerDlg::SetPin()
247 kevin 70 {
248 kevin 81 CString tekst;
249 kevin 70 std::vector<unsigned char> data;
250     data.push_back('a');
251     data.push_back('t');
252     data.push_back('+');
253     data.push_back('c');
254     data.push_back('p');
255     data.push_back('i');
256     data.push_back('n');
257     data.push_back('=');
258     data.push_back('2');
259     data.push_back('5');
260     data.push_back('9');
261     data.push_back('5');
262    
263     writeFrame(data);
264 kevin 113 /* Sleep(750);
265 kevin 70 if(Serial.getComstat().cbInQue > 0)
266     {
267     std::vector<unsigned char> answer = readFrame();
268     Sleep(50);
269     char array1[25];
270     int i;
271     for (int i=0; i<answer.size(); i++)
272     {
273     array1[i] = answer[i];
274     }
275    
276     for (int i=0; i<answer.size(); i++)
277     {
278     if ((array1[i] != 0x0A) && (array1[i] != 0x0D))
279     {
280     tekst.AppendChar(array1[i]);
281     }
282     }
283 kevin 81 m_Textwindow.SetWindowText(tekst);
284 kevin 70 }
285 kevin 113 */
286 kevin 70 }
287     void CFlisServerDlg::SendSmsData(std::vector<unsigned char> data)
288 kevin 103 {
289    
290 kevin 70 for (int i=0; i<data.size(); i++)
291     {
292     Serial.writeByte( data[i] );
293     Sleep(5);
294     }
295     Serial.writeByte(0x1A);
296 kevin 105 Sleep(3000);
297     if(Serial.getComstat().cbInQue > 0)
298     {
299     CString tekst;
300     std::vector<unsigned char> answer = readFrame();
301     Sleep(50);
302     char array1[25];
303     int i;
304     for (int i=0; i<answer.size(); i++)
305     {
306     array1[i] = answer[i];
307     }
308    
309     for (int i=0; i<answer.size(); i++)
310     {
311     if ((array1[i] != 0x0A) && (array1[i] != 0x0D))
312     {
313     tekst.AppendChar(array1[i]);
314     }
315     }
316     m_Textwindow.SetWindowText(tekst);
317     }
318 kevin 70
319     }
320     void CFlisServerDlg::SendSmsHead(std::vector<unsigned char> data)
321     {
322 kevin 103 vector<unsigned char> atcommand;
323     atcommand.push_back('a');
324     atcommand.push_back('t');
325     atcommand.push_back('+');
326     atcommand.push_back('c');
327     atcommand.push_back('m');
328     atcommand.push_back('g');
329     atcommand.push_back('s');
330     atcommand.push_back('=');
331     atcommand.push_back('"');
332     int s = (atcommand.size() -1 );
333    
334     for (int i=0; i<(atcommand.size()); i++)
335     {
336     Serial.writeByte( atcommand[i] );
337     Sleep(5);
338     }
339    
340 kevin 70 for (int i=0; i<data.size(); i++)
341     {
342     Serial.writeByte( data[i] );
343     Sleep(5);
344     }
345 kevin 103 Serial.writeByte(atcommand[s]);
346 kevin 70 Serial.writeByte(0x0D);
347 kevin 103 Sleep(250);
348 kevin 70 }
349 kevin 81 void CFlisServerDlg::DBConnect()
350 kevin 70 {
351     CString dsn;
352 kevin 110 dsn.Format("ODBC;Description=asd;DRIVER=PostgreSQL ANSI;SERVER=t-hoerup.dk; uid=serrenab;password=furnacemonitor;database=flisfyr;sslmode=prefer");
353     //dsn.Format("ODBC;Description=asd;DRIVER=PostgreSQL ANSI;SERVER=192.168.134.132; uid=serrenab;password=furnacemonitor;database=flisfyr;sslmode=prefer"); //skole server
354 kevin 103 db.OpenEx(dsn, CDatabase::noOdbcDialog);
355 kevin 81 }
356 kevin 103 vector<Commands> CFlisServerDlg::DBRead(void)
357 kevin 81 {
358 kevin 103 vector<Commands> buffer;
359 kevin 81
360 kevin 103 CString SQL, IDnr, CommandID, InstallationsID;
361     SQL = "select id,date_trunc('second', created) as created,executed,commandid,installationid from command WHERE executed IS NULL;";
362     CRecordset rs(&db);
363     rs.Open(AFX_DB_USE_DEFAULT_TYPE, SQL);
364     if (rs.GetRecordCount()>0)
365     {
366     rs.MoveFirst();
367     while(!rs.IsEOF())
368     {
369     Commands Mycom;
370     rs.GetFieldValue((short)0, IDnr);
371     rs.GetFieldValue(3, CommandID);
372     rs.GetFieldValue(4, InstallationsID);
373    
374     Mycom.IDnr = IDnr;
375     Mycom.CommandID = CommandID;
376     Mycom.InstallationsID = InstallationsID;
377    
378     buffer.push_back(Mycom);
379     rs.MoveNext();
380     }
381     }
382     rs.Close();
383     return buffer;
384 kevin 81 }
385     void CFlisServerDlg::ReadSms()
386     {
387     CString tekst, oldtekst;
388     Sleep(950);
389     if(Serial.getComstat().cbInQue > 0)
390     {
391     std::vector<unsigned char> answer = readFrame();
392     Sleep(50);
393     char array1[250];
394     int i;
395     for (int i=0; i<answer.size(); i++)
396     {
397     array1[i] = answer[i];
398     }
399    
400     for (int i=0; i<answer.size(); i++)
401     {
402     if ((array1[i] != 0x0A) && (array1[i] != 0x0D))
403     {
404     tekst.AppendChar(array1[i]);
405     }
406     }
407    
408     m_Textwindow.GetWindowText(oldtekst);
409     oldtekst.Append("\r\n");
410     oldtekst.Append(tekst);
411     m_Textwindow.SetWindowText(oldtekst);
412     SmsSplit(tekst);
413     }
414     }
415     void CFlisServerDlg::SmsSplit(CString data)
416     {
417     CString FyrData, TlfNr, SmsCount, Temper, Flamme, Flis, FremFejl, PowerFail, oldtekst;
418     char CharData[150];
419     strcpy(CharData,data);
420    
421 kevin 113 int s=24;
422 kevin 81 for (int i=0; i<=7; i++)
423     {
424     TlfNr.AppendChar(CharData[s]);
425     s++;
426     }
427    
428 kevin 113 for (int s=57; s<=(data.GetLength()-3); s++)
429 kevin 81 {
430     FyrData.AppendChar(CharData[s]);
431     }
432     FyrData.Append(":");
433    
434     SmsCount = Splitter(FyrData);
435     Temper = Splitter(FyrData);
436     Flamme = Splitter(FyrData);
437     Flis = Splitter(FyrData);
438     FremFejl = Splitter(FyrData);
439     PowerFail = Splitter(FyrData);
440     ///////////////////////////////////////////////////////////////////////////////////////////////////////
441     ///////////////////// Her skal sendes data til databasen //////////////////////////////////////////////
442     m_Textwindow.GetWindowText(oldtekst);
443     oldtekst.Append("\r\n");
444     oldtekst.Append("På næste linie kommer SmsCount. \r\n");
445     oldtekst.Append(SmsCount);
446     oldtekst.Append("\r\n");
447     oldtekst.Append("På næste linie kommer Temper. \r\n");
448     oldtekst.Append(Temper);
449     oldtekst.Append("\r\n");
450     oldtekst.Append("På næste linie kommer Flamme. \r\n");
451     oldtekst.Append(Flamme);
452     oldtekst.Append("\r\n");
453     oldtekst.Append("På næste linie kommer Flis. \r\n");
454     oldtekst.Append(Flis);
455     oldtekst.Append("\r\n");
456     oldtekst.Append("På næste linie kommer FremFejl. \r\n");
457     oldtekst.Append(FremFejl);
458     oldtekst.Append("\r\n");
459     oldtekst.Append("På næste linie kommer PowerFail. \r\n");
460     oldtekst.Append(PowerFail);
461 kevin 110 oldtekst.Append("\r\n");
462     oldtekst.Append("På næste linie kommer TlfNR. \r\n");
463     oldtekst.Append(TlfNr);
464 kevin 81 m_Textwindow.SetWindowText(oldtekst);
465     ///////////////////////////////////////////////////////////////////////////////////////////////////////
466     ///////////////////// Her skal sendes data til databasen //////////////////////////////////////////////
467     }
468     CString CFlisServerDlg::Splitter(CString& fyrdata)
469     {
470     CString Output;
471    
472     int pos = fyrdata.Find(':',0);
473     if (pos != -1)
474     {
475     Output = fyrdata.Left(pos);
476     fyrdata = fyrdata.Right( fyrdata.GetLength() - pos -1);
477     }
478     return Output;
479 kevin 103 }
480     void CFlisServerDlg::OnBnClickedClose()
481     {
482     // TODO: Add your control notification handler code here
483 kevin 113 continueThread = 0;
484     DeleteSms(); //<--- crasher, men gider ikke bruge flere af mine penge på at teste det med sms'er, hele close laver crash, bare ikke når jeg stepper. :S
485    
486     Sleep(500);
487 kevin 103 if( Serial.isOpen() )
488     {
489     Serial.close();
490     }
491    
492     if(db.IsOpen())
493     {
494     db.Close();
495     }
496 kevin 113
497 kevin 103 OnOK();
498 kevin 113
499 kevin 103 }
500 kevin 105
501     void CFlisServerDlg::OnBnClickedGsmpin()
502     {
503     // TODO: Add your control notification handler code here
504     SetPin();
505 kevin 113 //Sleep(5000);
506 kevin 105 }
507 kevin 110 void CFlisServerDlg::DeleteSms()
508     {
509     vector<unsigned char> atcommand;
510     atcommand.push_back('a');
511     atcommand.push_back('t');
512     atcommand.push_back('+');
513     atcommand.push_back('c');
514     atcommand.push_back('m');
515     atcommand.push_back('g');
516     atcommand.push_back('d');
517     atcommand.push_back('=');
518     atcommand.push_back('1');
519     atcommand.push_back(',');
520     atcommand.push_back('3');
521    
522     writeFrame(atcommand);
523     Sleep(500);
524     }
525     LRESULT CFlisServerDlg::OnShowString(WPARAM wParam, LPARAM lParam)
526     {
527     CString *s = (CString*) lParam;
528     GetDlgItem(IDC_Textwindow)->SetWindowText(*s);
529    
530     delete s;
531     return 0;
532    
533     }UINT threadWrapper(LPVOID thread)
534     {
535     CFlisServerDlg *t = (CFlisServerDlg*) thread;
536     t->runthread();
537     return 0;
538     }
539    
540     void CFlisServerDlg::startthread()
541     {
542     AfxBeginThread(threadWrapper, (LPVOID) this);
543     }
544    
545     void CFlisServerDlg::runthread()
546     {
547 kevin 113 while (continueThread != 0)
548 kevin 110 {
549     Reader();
550     }
551     }
552     void CFlisServerDlg::Reader()
553     {
554 kevin 113 if(Serial.getComstat().cbInQue > 0)
555 kevin 110 {
556 kevin 113 Sleep(250);
557 kevin 110 std::vector<unsigned char> answer = readFrame();
558     Sleep(500);
559     CString tekst, oldtekst;
560     int lol;
561     char array1[250];
562     int i;
563     for (int i=0; i<answer.size(); i++)
564     {
565     array1[i] = answer[i];
566     }
567    
568     for (int i=0; i<answer.size(); i++)
569     {
570     if ((array1[i] != 0x0A) && (array1[i] != 0x0D))
571     {
572     tekst.AppendChar(array1[i]);
573     }
574     }
575     tekst.Append(":");
576    
577     CString command;
578     bool plus;
579     int pos = tekst.Find('+',0);
580     if (pos != -1)
581     {
582     plus = true;
583     tekst = tekst.Right( tekst.GetLength() - pos -1);
584     pos = tekst.Find(':');
585     command = tekst.Left(pos);
586     tekst = tekst.Right( tekst.GetLength() - pos -1);
587     }
588    
589    
590     if(tekst == "OK")
591     {
592     m_Textwindow.GetWindowText(oldtekst);
593     oldtekst.Append("\r\n");
594     oldtekst.Append("OK tekst modtaget");
595     m_Textwindow.SetWindowText(oldtekst);
596     }
597     else if (tekst == "error")
598     {
599     m_Textwindow.GetWindowText(oldtekst);
600     oldtekst.Append("\r\n");
601     oldtekst.Append("error tekst");
602     oldtekst.Append(tekst);
603     m_Textwindow.SetWindowText(oldtekst);
604     }
605     else if (plus = true)
606     {
607     if (command = "cmti")
608     {
609 kevin 113 CString smscount, oldteskst;
610 kevin 110 int pos = tekst.Find(',',0);
611     if (pos != -1)
612     {
613     smscount = tekst.Right( tekst.GetLength() - pos -1);
614     smscount.Remove(':');
615     ResetSms++;
616     }
617     ////////////////Read sms ting//////////////////
618     std::vector<unsigned char> data;
619     data.push_back('a');
620     data.push_back('t');
621     data.push_back('+');
622     data.push_back('c');
623     data.push_back('m');
624     data.push_back('g');
625     data.push_back('r');
626     data.push_back('=');
627    
628     for (int i=0; i< smscount.GetLength(); i++)
629     {
630     data.push_back(smscount[i]);
631     }
632 kevin 113 for (int i=0; i<data.size();i++)
633     {
634     oldteskst.AppendChar(data[i]);
635     }
636     m_Textwindow.SetWindowText(oldteskst);
637 kevin 110 writeFrame(data);
638 kevin 113 Sleep(200);
639 kevin 110 ReadSms();
640    
641     }
642 kevin 113 else if(command = "wind")
643     {
644     m_Textwindow.GetWindowText(oldtekst);
645     oldtekst.Append("\r\n");
646     oldtekst.Append("Først lidt tekst på næste linie\r\n");
647     oldtekst.Append(tekst);
648     m_Textwindow.SetWindowText(oldtekst);
649     }
650 kevin 110 }
651 kevin 113 if(ResetSms == 50)
652 kevin 110 {
653     DeleteSms();
654     }
655 kevin 113
656     }
657     if (continueThread = 1)
658     {
659 kevin 110
660 kevin 113 ////////////////DBRead stuff//////////////////
661     CString testdata, dataframe,testprint, sIDnr, sCommandID, sInstallationsID;
662     std::vector<Commands> data;
663     data = DBRead();
664     for (int i=0; i<data.size(); i++)
665     {
666     testdata.Append(data[i].IDnr);
667     testdata.Append(":");
668     testdata.Append(data[i].CommandID);
669     testdata.Append(":");
670     testdata.Append(data[i].InstallationsID);
671     testdata.Append(":");
672     }
673     sIDnr = Splitter(testdata);
674     sCommandID = Splitter(testdata);
675     sInstallationsID = Splitter(testdata);
676    
677     testprint.Append("sIDnr på næste linie\r\n");
678     testprint.Append(sIDnr);
679     testprint.Append("\r\n");
680     testprint.Append("sCommandID på næste linie\r\n");
681     testprint.Append(sCommandID);
682     testprint.Append("\r\n");
683     testprint.Append("sInstallationsID på næste linie\r\n");
684     testprint.Append(sInstallationsID);
685     m_Textwindow.SetWindowText(testprint);
686 kevin 110
687 kevin 113
688     if (sIDnr.GetLength() > 0)
689     {
690     DBReadData(sIDnr,sCommandID,sInstallationsID);
691     }
692     Sleep(500);
693     ////////////////DBRead stuff//////////////////
694 kevin 110 }
695 kevin 113 }
696     void CFlisServerDlg::DBReadData(CString IDnr,CString CommandID,CString InstallationsID)
697     {
698     CString TlfNr;
699    
700     //kald dbreadphone som du kalder dbread
701     std::vector<Installation> inst;
702     inst = DBReadPhone(InstallationsID);
703     for (int i=0; i<inst.size(); i++)
704     {
705     CString dataen = inst[i].InstPhoneNr;
706     TlfNr.Append(dataen);
707 kevin 110 }
708 kevin 113 vector<unsigned char> tlfnr;
709     for (int i=0; i<TlfNr.GetLength(); i++)
710     {
711     tlfnr.push_back(TlfNr[i]);
712     }
713    
714     SendSmsHead(tlfnr);
715     Sleep(500);
716     //35:29860132:75 <--- demo pakke;
717     vector<unsigned char> smsdata;
718     smsdata.push_back('3');
719     smsdata.push_back('5');
720     smsdata.push_back(':');
721     smsdata.push_back('2');
722     smsdata.push_back('9');
723     smsdata.push_back('8');
724     smsdata.push_back('6');
725     smsdata.push_back('0');
726     smsdata.push_back('1');
727     smsdata.push_back('3');
728     smsdata.push_back('2');
729     smsdata.push_back(':');
730     smsdata.push_back('7');
731     smsdata.push_back('5');
732    
733     SendSmsData(smsdata);
734     Sleep(250);
735    
736     CString SQL;
737    
738     SQL.Format("update command set executed=now() where id=%s",IDnr);
739     db.ExecuteSQL(SQL);
740     Sleep(150);
741     }
742     vector<Installation> CFlisServerDlg::DBReadPhone(CString sInstallationsID)
743     {
744     vector<Installation> buffer;
745    
746     CString SQL, phonenr;
747     SQL.Format("select installationphonenr from installation WHERE id = %s",sInstallationsID);
748     CRecordset rs(&db);
749     rs.Open(AFX_DB_USE_DEFAULT_TYPE, SQL);
750     if (rs.GetRecordCount()>0)
751     {
752     rs.MoveFirst();
753     while(!rs.IsEOF())
754     {
755     Installation Myinst;
756     rs.GetFieldValue((short)0,phonenr);
757    
758     Myinst.InstPhoneNr.Append(phonenr);
759    
760     buffer.push_back(Myinst);
761     rs.MoveNext();
762     }
763     }
764     rs.Close();
765     return buffer;
766 kevin 110 }

  ViewVC Help
Powered by ViewVC 1.1.20