مع تطور منصات الرسائل القصيرة، يتم استخدام الإنذارات المستندة إلى منصات الرسائل القصيرة بشكل متزايد.
توضح هذه المقالة تنفيذ عنصر تحكم SMS مع جزء التكوين الخاص بمعالجة التنبيه؛
نص نظرًا للوظيفة المتزايدة للرسائل النصية القصيرة، يتم استخدام الرسائل النصية القصيرة للإنذار في صناعة الطاقة بواسطة المزيد والمزيد من أنظمة المراقبة ولهذا السبب، قرر قادة الشركة دمج هذه الوحدة في نظام المراقبة الخاص بنا وإذا تمت إضافة هذا، فسيكون أكثر اكتمالًا نظرًا لأن جميع أنظمة صناعة الطاقة تهتم بوظيفة التكوين، وتستخدم هذه المقالة ملفات بتنسيق INI لتكوين معلومات التنبيه وحفظها تتم معالجة مربعات الحوار باستخدام HEADCTRL، وآمل أن يساعد ذلك مبتدئي VC في إتقان برمجة الواجهة والتحكم في استخدامها، وستكون قراءة الملفات وكتابتها بمثابة مصدر إلهام.
ما يسمى بالتكوين هو في الواقع استخدام واجهة المعلمات التي يوفرها التطبيق لتكوين معلمات تنفيذ التطبيق. يمكن للمستخدمين تحقيق تأثيرات مختلفة من خلال التكوين دون إعادة ترجمة المشروع بأكمله. تستخدم هذه المقالة ملفات ini لحفظ المعلومات المختلفة تكوين النظام، وينقسم محتوى إنذار الرسائل القصيرة إلى جزأين: إنذار المعلومات الثابتة ونقل معلومات القياس، وسوف تسرد المعلومات الثابتة جميع أرقام الإنذار الثابتة الممكنة، ونقل معلومات القياس هو السماح للمستخدمين بفهم كل عملية تشغيل للطاقة بشكل أفضل. المعدات في هذا النظام، تتم معظم العمليات على عنصر التحكم LISTCTRL، والذي تم تصميم طريقة برمجة ADO فيه، وتستخدم معلومات التكوين جزءًا من المعلومات لتمثيل معلومات نقطة الإنذار في المنتصف، استخدمت طريقة تحلل السلسلة للتحليل والتجميع، ويمكن رؤية الكود ذي الصلة أدناه:
void CMsgDemoView::DataProcessIniVal(CString strVal,int nLen)// جارٍ المعالجة، قم بتقسيم المحتوى باستخدام تسجيل الدخول في المنتصف.
{
CString szTemp;
szTemp=strVal;
CString str[10];
int nSize=1;
بينما(1)
{
int nCount=szTemp.Find( ; );
إذا (nCount==-1)
استراحة؛
str[nSize]=szTemp.Left(nCount);
szTemp=szTemp.Right(szTemp.GetLength()-nCount-1);
nSize++;
}
str[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];
}
يوسع