--- trunk/FlisServer/FlisServerDlg.cpp 2007/11/30 16:07:03 112 +++ trunk/FlisServer/FlisServerDlg.cpp 2007/12/01 14:18:33 113 @@ -102,8 +102,15 @@ // TODO: Add extra initialization here StartSerial(); DBConnect(); - continueThread = true; - //AfxBeginThread(MyMainThread,0,THREAD_PRIORITY_NORMAL,0,0,NULL); + continueThread = 1; + ResetSms = 0; + /* +////////////Start Tråd//////////////////////// + MyThread *t = new MyThread(AfxGetMainWnd()); + t->start(); +////////////Start Tråd//////////////////////// +*/ + AfxBeginThread(threadWrapper,AfxGetMainWnd()); return TRUE; // return TRUE unless you set the focus to a control } @@ -188,20 +195,6 @@ { // TODO: Add your control notification handler code here -/* -////////////////DBRead stuff////////////////// - CString testdata; - std::vector data; - data = DBRead(); - for (int i=0; i tlfnr; @@ -218,6 +211,7 @@ SendSmsHead(tlfnr); //35:29860132:75 <--- demo pakke; + vector smsdata; smsdata.push_back('3'); smsdata.push_back('5'); smsdata.push_back(':'); @@ -236,13 +230,6 @@ 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) @@ -274,7 +261,7 @@ data.push_back('5'); writeFrame(data); - Sleep(750); +/* Sleep(750); if(Serial.getComstat().cbInQue > 0) { std::vector answer = readFrame(); @@ -295,6 +282,7 @@ } m_Textwindow.SetWindowText(tekst); } +*/ } void CFlisServerDlg::SendSmsData(std::vector data) { @@ -430,14 +418,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]); } @@ -492,7 +480,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 +493,16 @@ { db.Close(); } - DeleteSms(); + OnOK(); + } void CFlisServerDlg::OnBnClickedGsmpin() { // TODO: Add your control notification handler code here SetPin(); - Sleep(5000); + //Sleep(5000); } void CFlisServerDlg::DeleteSms() { @@ -529,40 +521,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 +606,7 @@ { if (command = "cmti") { - CString smscount; + CString smscount, oldteskst; int pos = tekst.Find(',',0); if (pos != -1) { @@ -674,18 +629,138 @@ { 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; + 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; + + //kald dbreadphone som du kalder dbread + std::vector inst; + inst = DBReadPhone(InstallationsID); + for (int i=0; i tlfnr; + for (int i=0; i smsdata; + 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); + Sleep(250); + + CString SQL; + + SQL.Format("update command set executed=now() where id=%s",IDnr); + db.ExecuteSQL(SQL); + Sleep(150); +} +vector CFlisServerDlg::DBReadPhone(CString sInstallationsID) +{ + vector buffer; + + CString SQL, phonenr; + SQL.Format("select installationphonenr 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); + + Myinst.InstPhoneNr.Append(phonenr); + + buffer.push_back(Myinst); + rs.MoveNext(); + } + } + rs.Close(); + return buffer; } \ No newline at end of file