--- trunk/FlisServer/FlisServerDlg.cpp 2007/11/30 13:47:05 109 +++ trunk/FlisServer/FlisServerDlg.cpp 2007/11/30 16:03:46 110 @@ -4,7 +4,6 @@ #include "stdafx.h" #include "FlisServer.h" #include "FlisServerDlg.h" -#include ".\flisserverdlg.h" #include #ifdef _DEBUG @@ -63,6 +62,7 @@ ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() + ON_MESSAGE(UWM_MYMESSAGE, OnShowString) //}}AFX_MSG_MAP ON_BN_CLICKED(IDC_test, OnBnClickedtest) ON_BN_CLICKED(IDCLOSE, OnBnClickedClose) @@ -102,6 +102,8 @@ // TODO: Add extra initialization here StartSerial(); DBConnect(); + continueThread = true; + //AfxBeginThread(MyMainThread,0,THREAD_PRIORITY_NORMAL,0,0,NULL); return TRUE; // return TRUE unless you set the focus to a control } @@ -185,24 +187,7 @@ void CFlisServerDlg::OnBnClickedtest() { // TODO: Add your control notification handler code here -/* -////////////////Read sms ting////////////////// - CString tekst; - std::vector data; - data.push_back('a'); - data.push_back('t'); - data.push_back('+'); - data.push_back('c'); - data.push_back('m'); - data.push_back('g'); - data.push_back('r'); - data.push_back('='); - data.push_back('1'); - writeFrame(data); - ReadSms(); -////////////////Read sms ting////////////////// -*/ /* ////////////////DBRead stuff////////////////// CString testdata; @@ -251,6 +236,14 @@ 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) { @@ -263,7 +256,7 @@ Sleep(100); } -int CFlisServerDlg::SetPin(void) +void CFlisServerDlg::SetPin() { CString tekst; std::vector data; @@ -302,7 +295,6 @@ } m_Textwindow.SetWindowText(tekst); } -return 0; } void CFlisServerDlg::SendSmsData(std::vector data) { @@ -369,7 +361,8 @@ void CFlisServerDlg::DBConnect() { CString dsn; - dsn.Format("ODBC;Description=asd;DRIVER=PostgreSQL ANSI;SERVER=192.168.134.132; uid=serrenab;password=furnacemonitor;database=flisfyr;sslmode=prefer"); + dsn.Format("ODBC;Description=asd;DRIVER=PostgreSQL ANSI;SERVER=t-hoerup.dk; uid=serrenab;password=furnacemonitor;database=flisfyr;sslmode=prefer"); + //dsn.Format("ODBC;Description=asd;DRIVER=PostgreSQL ANSI;SERVER=192.168.134.132; uid=serrenab;password=furnacemonitor;database=flisfyr;sslmode=prefer"); //skole server db.OpenEx(dsn, CDatabase::noOdbcDialog); } vector CFlisServerDlg::DBRead(void) @@ -477,6 +470,9 @@ oldtekst.Append("\r\n"); oldtekst.Append("På næste linie kommer PowerFail. \r\n"); oldtekst.Append(PowerFail); + oldtekst.Append("\r\n"); + oldtekst.Append("På næste linie kommer TlfNR. \r\n"); + oldtekst.Append(TlfNr); m_Textwindow.SetWindowText(oldtekst); /////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////// Her skal sendes data til databasen ////////////////////////////////////////////// @@ -496,7 +492,7 @@ void CFlisServerDlg::OnBnClickedClose() { // TODO: Add your control notification handler code here - + continueThread = false; if( Serial.isOpen() ) { Serial.close(); @@ -506,6 +502,7 @@ { db.Close(); } + DeleteSms(); OnOK(); } @@ -513,4 +510,182 @@ { // TODO: Add your control notification handler code here SetPin(); + Sleep(5000); } +void CFlisServerDlg::DeleteSms() +{ + vector atcommand; + atcommand.push_back('a'); + atcommand.push_back('t'); + atcommand.push_back('+'); + atcommand.push_back('c'); + atcommand.push_back('m'); + atcommand.push_back('g'); + atcommand.push_back('d'); + atcommand.push_back('='); + atcommand.push_back('1'); + atcommand.push_back(','); + atcommand.push_back('3'); + + 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; iSetWindowText(*s); + + delete s; + return 0; + +}UINT threadWrapper(LPVOID thread) +{ + CFlisServerDlg *t = (CFlisServerDlg*) thread; + t->runthread(); + return 0; +} + +void CFlisServerDlg::startthread() +{ + AfxBeginThread(threadWrapper, (LPVOID) this); +} + +void CFlisServerDlg::runthread() +{ + int count = 0; + while (continueThread = true) + { + Reader(); + } +} +void CFlisServerDlg::Reader() +{ + int ResetSms = 0; + while(1) + { + if(Serial.getComstat().cbInQue > 0) + { + std::vector answer = readFrame(); + Sleep(500); + CString tekst, oldtekst; + int lol; + char array1[250]; + int i; + for (int i=0; i data; + data.push_back('a'); + data.push_back('t'); + data.push_back('+'); + data.push_back('c'); + data.push_back('m'); + data.push_back('g'); + data.push_back('r'); + data.push_back('='); + + for (int i=0; i< smscount.GetLength(); i++) + { + data.push_back(smscount[i]); + } + + writeFrame(data); + ReadSms(); + + } + } + if(ResetSms >= 50) + { + DeleteSms(); + } + + + } + } +} \ No newline at end of file