С развитием SMS-платформ все чаще используются сигнализации на базе SMS-платформ.
В данной статье описывается реализация SMS-управления в сочетании с конфигурационной частью обработки тревог;
Текст В связи с растущей функциональностью SMS, SMS для оповещения в энергетической отрасли используется все большим количеством систем мониторинга. По этой причине руководители компании решили интегрировать этот модуль в нашу систему мониторинга. Ранее использовались голосовые оповещения. и телефонная сигнализация, она будет более полной. Поскольку все системы электроэнергетики уделяют внимание функции конфигурации, в этой статье используются файлы формата INI для настройки и сохранения информации о тревогах. Диалоговые окна обрабатываются с помощью HEADCTRL. Я надеюсь, что они помогут начинающим VC освоить программирование интерфейсов и контролировать их использование, а чтение и запись файлов послужат источником вдохновения.
Так называемая конфигурация на самом деле заключается в использовании интерфейса параметров, предоставляемого приложением, для настройки параметров выполнения приложения. Пользователи могут добиться различных эффектов с помощью настройки без перекомпиляции всего проекта. В этой статье для сохранения различной информации используются INI-файлы. В конфигурации системы содержимое SMS-сигнализации разделено на две части: фиксированная информация о тревоге и передача информации об измерении. В фиксированной информации будут перечислены все возможные фиксированные номера сигналов тревоги, а передача информации об измерениях позволит пользователям лучше понять работу каждого из них. В этой системе большинство операций выполняется с помощью элемента управления LISTCTRL, в котором разработан метод программирования ADO. Информация о конфигурации здесь использует часть информации для представления информации о точке сигнализации. Эта точка состоит из 5 точек. В середине я использовал метод декомпозиции строк для разложения и синтеза. Соответствующий код можно увидеть ниже:
void CMsgDemoView::DataProcessIniVal(CString strVal,int nLen)//Обработка, разделите содержимое знаком ;
{
CString szTemp;
szTemp=strVal;
CString строка[10];
интервал nSize = 1;
пока(1)
{
int nCount=szTemp.Find( ; );
если (nCount==-1)
перерыв;
str[nSize]=szTemp.Left(nCount);
szTemp=szTemp.Right(szTemp.GetLength()-nCount-1);
нСизе++;
}
стр[nSize]=szTemp;
//Вставка содержимого ListCtrl
int nPos=m_List.GetItemCount();
если(!str[1].IsEmpty())
{
this->m_List.InsertItem(nPos,str[1]);
this->m_List.SetItemText(nPos,1,str[2]);
this->m_List.SetItemText(nPos,2,str[3]);
this->m_List.SetItemText(nPos,3,str[4]);
this->m_List.SetItemText(nPos,4,str[5]);
}
//Сбрасываем значение температуры
m_strId[nLen]=str[1];
m_strContent[nLen]=str[2];
m_strNum[nLen]=str[3];
m_strbSend[nLen]=str[4];
m_strDes[nLen]=str[5];
}
Расширять