--- trunk/FlisServer/FlisServerDlg.cpp 2007/11/30 16:03:46 110 +++ trunk/FlisServer/FlisServerDlg.cpp 2007/12/02 12:03:03 121 @@ -5,6 +5,7 @@ #include "FlisServer.h" #include "FlisServerDlg.h" #include +#include ".\flisserverdlg.h" #ifdef _DEBUG #define new DEBUG_NEW @@ -64,9 +65,9 @@ ON_WM_QUERYDRAGICON() ON_MESSAGE(UWM_MYMESSAGE, OnShowString) //}}AFX_MSG_MAP - ON_BN_CLICKED(IDC_test, OnBnClickedtest) ON_BN_CLICKED(IDCLOSE, OnBnClickedClose) ON_BN_CLICKED(IDC_GSMPIN, OnBnClickedGsmpin) + ON_BN_CLICKED(IDC_Start, OnBnClickedStart) END_MESSAGE_MAP() @@ -102,8 +103,7 @@ // TODO: Add extra initialization here StartSerial(); DBConnect(); - continueThread = true; - //AfxBeginThread(MyMainThread,0,THREAD_PRIORITY_NORMAL,0,0,NULL); + ResetSms = 0; return TRUE; // return TRUE unless you set the focus to a control } @@ -184,67 +184,7 @@ } return buf; } -void CFlisServerDlg::OnBnClickedtest() -{ - // TODO: Add your control notification handler code here - -/* -////////////////DBRead stuff////////////////// - CString testdata; - std::vector data; - data = DBRead(); - for (int i=0; i tlfnr; - vector smsdata; - tlfnr.push_back('2'); - tlfnr.push_back('9'); - tlfnr.push_back('7'); - tlfnr.push_back('2'); - tlfnr.push_back('2'); - tlfnr.push_back('6'); - tlfnr.push_back('0'); - tlfnr.push_back('3'); - SendSmsHead(tlfnr); - - //35:29860132:75 <--- demo pakke; - smsdata.push_back('3'); - smsdata.push_back('5'); - smsdata.push_back(':'); - smsdata.push_back('2'); - smsdata.push_back('9'); - smsdata.push_back('8'); - smsdata.push_back('6'); - smsdata.push_back('0'); - smsdata.push_back('1'); - smsdata.push_back('3'); - smsdata.push_back('2'); - smsdata.push_back(':'); - smsdata.push_back('7'); - smsdata.push_back('5'); - - SendSmsData(smsdata); -///////////////Send sms stuff///////////////// -*/ -/* -////////////Start Tråd//////////////////////// - MyThread *t = new MyThread(AfxGetMainWnd()); - t->start(); -////////////Start Tråd//////////////////////// -*/ - AfxBeginThread(threadWrapper,AfxGetMainWnd()); - -} void CFlisServerDlg::writeFrame(std::vector data) { for (int i=0; i 0) { std::vector answer = readFrame(); @@ -295,6 +235,7 @@ } m_Textwindow.SetWindowText(tekst); } +*/ } void CFlisServerDlg::SendSmsData(std::vector data) { @@ -430,14 +371,14 @@ char CharData[150]; strcpy(CharData,data); - int s=22; + int s=24; for (int i=0; i<=7; i++) { TlfNr.AppendChar(CharData[s]); s++; } - for (int s=55; s<=(data.GetLength()-3); s++) + for (int s=57; s<=(data.GetLength()-3); s++) { FyrData.AppendChar(CharData[s]); } @@ -450,7 +391,7 @@ FremFejl = Splitter(FyrData); PowerFail = Splitter(FyrData); /////////////////////////////////////////////////////////////////////////////////////////////////////// -///////////////////// Her skal sendes data til databasen ////////////////////////////////////////////// +///////////////////// Her skal sendes data til databasen ////NÅR HEDIN KAN SENDE SMS/////////////////// m_Textwindow.GetWindowText(oldtekst); oldtekst.Append("\r\n"); oldtekst.Append("På næste linie kommer SmsCount. \r\n"); @@ -492,7 +433,10 @@ void CFlisServerDlg::OnBnClickedClose() { // TODO: Add your control notification handler code here - continueThread = false; + continueThread = 0; + 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 + + Sleep(500); if( Serial.isOpen() ) { Serial.close(); @@ -502,15 +446,17 @@ { db.Close(); } - DeleteSms(); + OnOK(); + } void CFlisServerDlg::OnBnClickedGsmpin() { // TODO: Add your control notification handler code here SetPin(); - Sleep(5000); + Sleep(35000); + OnBnClickedStart(); } void CFlisServerDlg::DeleteSms() { @@ -529,40 +475,6 @@ writeFrame(atcommand); Sleep(500); - if(Serial.getComstat().cbInQue > 0) - { - std::vector answer = readFrame(); - Sleep(50); - CString tekst, oldtekst; - char array1[250]; - int i; - for (int i=0; i 0) + if(Serial.getComstat().cbInQue > 0) { + Sleep(250); std::vector answer = readFrame(); Sleep(500); CString tekst, oldtekst; @@ -651,7 +560,7 @@ { if (command = "cmti") { - CString smscount; + CString smscount, oldteskst; int pos = tekst.Find(',',0); if (pos != -1) { @@ -674,18 +583,168 @@ { data.push_back(smscount[i]); } - + for (int i=0; i= 50) + if(ResetSms == 50) { DeleteSms(); } + + } + if (continueThread = 1) + { - + ////////////////DBRead stuff////////////////// + CString testdata, dataframe,testprint, sIDnr, sCommandID, sInstallationsID, sImei; + std::vector data; + data = DBRead(); + for (int i=0; i 0) + { + DBReadData(sIDnr,sCommandID,sInstallationsID); + } + Sleep(500); + ////////////////DBRead stuff////////////////// } +} +void CFlisServerDlg::DBReadData(CString IDnr,CString CommandID,CString InstallationsID) +{ + CString TlfNr, Imei, ServerTlfNr, updaterate; + + ServerTlfNr = "29860132"; + + //kald dbreadphone som du kalder dbread + std::vector inst; + inst = DBReadPhone(InstallationsID); + for (int i=0; i tlfnr; + for (int i=0; i smsdata; + + for (int i=0; i CFlisServerDlg::DBReadPhone(CString sInstallationsID) +{ + vector buffer; + + CString SQL, phonenr, imei, updaterate; + SQL.Format("select installationphonenr, imei, updaterate from installation WHERE id = %s",sInstallationsID); + CRecordset rs(&db); + rs.Open(AFX_DB_USE_DEFAULT_TYPE, SQL); + if (rs.GetRecordCount()>0) + { + rs.MoveFirst(); + while(!rs.IsEOF()) + { + Installation Myinst; + rs.GetFieldValue((short)0,phonenr); + rs.GetFieldValue(1,imei); + rs.GetFieldValue(2,updaterate); + + Myinst.InstPhoneNr.Append(phonenr); + Myinst.Imei.Append(imei); + Myinst.Updaterate.Append(updaterate); + + buffer.push_back(Myinst); + rs.MoveNext(); + } + } + rs.Close(); + return buffer; +} +int CFlisServerDlg::tversum(unsigned input) +{ + int sum = 0; + while (input > 0) + { + sum += (input %10); + input /= 10; + } + return sum; +} +void CFlisServerDlg::OnBnClickedStart() +{ +// TODO: Add your control notification handler code here + + continueThread = 1; + + AfxBeginThread(threadWrapper,AfxGetMainWnd()); +}