Files
FireAlarmCtrlCn/MyCode/Gui/QueryMsgOperate.cpp
2026-04-06 19:02:09 +08:00

3405 lines
100 KiB
C++

#include "gType.h"
#include "GraphLow.h"
#include "GraphBase.h"
#include "GlobalString.h"
#include "MainCtl.h"
#include "RuntimeData.h"
#include "Runtime.h"
#include "Gui.h"
#include "QueryMessage.h"
#define TextTopOffSet 6
#define ListLineCnt 4
#define ColHeight 33
#define FixTop 69
#define MsgX0 6
#define DescpX0 270 //90
#define dLineMaxLen 64
const char cFireCfm[24] = "火警确认 ";
const char cFaultCfm[24] = "故障确认 ";
const char cFireRemoteCfm[24] = "火警远程确认 ";
const char cFaultRemoteCfm[24] = "故障远程确认 ";
const char cFireSimCfm[24] = "模拟火警确认 ";
const char cFireSimRemoteCfm[24] = "模拟火警远程确认 ";
const char cFireCfmEn[24] = "Confirmed Fire ";
const char cFaultCfmEn[24] = "Confirmed Fault ";
const char cFireRemoteCfmEn[24] = "Confirmed-Far Fire ";
const char cFaultRemoteCfmEn[24] = "Confirmed-Far Fault ";
const char cFireSimCfmEn[24] = "Confirmed Sim-Fire ";
const char cFireSimRemoteCfmEn[24] = "Confirmed-Far Sim-Fire"; //Length = 22
const char cMask[24] = "屏蔽部件 ";
const char cMaskEn[24] = "Blocked Device ";
const char cUnMask[24] = "取消屏蔽部件 ";
const char cUnMaskEn[24] = "Blocked Device Cancel ";
const static unsigned short stAllTop[10] = {
80, 120, 160, 200, 240,
280, 320, 360, 400, 440
};
static const short qmFixCol[8] = {
20,100,160,240, 320,400,520,600
};
void TQueryMsgOperate::Init(int x1, int y1, int aW, int aH, int OwnerX, int OwnerY, u32 aColor)
{
#define CH 30 //Caption Height
unsigned short Left,Right, Top, Bottom, Width, Height, i;
Bound.SetBySize(OwnerX + x1, OwnerY + y1, aW, aH);
Left = Bound.Left +3;
Top = Bound.Top+3;
Width = aW - 7;
Height = aH - 7;
Right = Bound.Right -4;
Bottom = Bound.Bottom -4;
Caption.Init(Left,Top,Width, CH, 0, 0, clWhite, clMaroon);
Content.Set(Left, Top+CH, Right, Bottom);
BoxBoundTime.Set(Left+170, Top+80, Right-170, Bottom-30);
GoPrint.Set(Left+170, Top+150, Right-170, Bottom-130);
Color = aColor;
#undef CH
Caption.Border.Color = clGray;
FixColColor = clMaroon;
FixColTextColor = clNearWhite;
TextColor = clNearBlack;
SelectedColor = clBlue;
SelectedTextColor = clNearWhite;
Count=0;
SelectedIndex=0;
SelectedIndex = 0;
TopIndex = 0;
IsInputTime = 0;
IsGoPrint = 0;
IsAllTime = 1;
TimeEditFrom = -1;
TimeIndex =0;
IsEditing = 0;
PrintWhat = 0;
ReStoreP0 = 0;
ReStoreP1 = 0;
}
void TQueryMsgOperate::InitBackEnd()
{
Count=0;
SelectedIndex=0;
SelectedIndex = 0;
TopIndex = 0;
IsInputTime = 0;
IsGoPrint = 0;
IsAllTime = 1;
TimeEditFrom = -1;
TimeIndex =0;
IsEditing = 0;
PrintWhat = 0;
ReStoreP0 = 0;
ReStoreP1 = 0;
}
void TQueryMsgOperate::SetListColWidth(int w0, int w1, int w2, int w3, int w4,int w5,int w6, int w7, int w8)
{
}
void TQueryMsgOperate::RenderBackGround(void)
{
RectFillRender(Content.Left, Content.Top, Content.Right, Content.Bottom, Color);
}
void TQueryMsgOperate::RenderBackGround(unsigned int aClr)
{
RectFillRender(Content.Left, Content.Top, Content.Right, Content.Bottom, aClr);
}
void TQueryMsgOperate::RenderContent(void)
{
#define FixColColor clMedGray
#define OddColor clNearMoneyGreen
RectFillRender(Content.Left, Content.Top, Content.Right, Content.Bottom, Color);
}
void TQueryMsgOperate::DrawSelf(void)
{
unsigned int x, y, x2, y2, w, h;
VertLineRender(Bound.Left, Bound.Top, Bound.Height -1, 0xFFFFFFFF);
VertLineRender(Bound.Right -1, Bound.Top +1, Bound.Height -2, 0xFF808080);
VertLineRender(Bound.Right, Bound.Top, Bound.Height, 0xFF404040);
HorizLineRender(Bound.Left, Bound.Top, Bound.Width - 1, 0xFFFFFFFF);
HorizLineRender(Bound.Left +1, Bound.Bottom -1, Bound.Width - 2, 0xFF808080);
HorizLineRender(Bound.Left, Bound.Bottom, Bound.Width, 0xFF404040);
x = Bound.Left +2 ;
x2 = Bound.Right -2;
y = Bound.Top +2;
y2 = Bound.Bottom - 2;
w = Bound.Width -4;
h = Bound.Height - 4;
VertLineRender (x, y, h-1, 0xFF808080);
HorizLineRender (x, y, w-1, 0xFF808080);
VertLineRender (x+1, y+1, h-2, 0xFF404040);
HorizLineRender (x+1, y+1, w-2, 0xFF404040);
VertLineRender (x2-1, y+1, h-2, 0xFFD4D0C8);
HorizLineRender (x+1, y2-1, w-2, 0xFFD4D0C8);
VertLineRender (x2, y, h, 0xFFFFFFFF);
HorizLineRender (x, y2, w, 0xFFFFFFFF);
RenderContent();
}
void TQueryMsgOperate::DrawCaption(void)
{
if(LanguageEnCn==0)TMyString::sFromStr("历史记录->查询操作信息", Caption.Text);
else TMyString::sFromStr("Recorded Info->Query Operations", Caption.Text);
Caption.Show();
DrawCaption2();
}
void TQueryMsgOperate::DrawCaption2(void)
{
}
void TQueryMsgOperate::RenderWarningWait(void)
{
int x,y,x2,y2, aW,aH;
x = 200;
y = 160;
x2 = 600;
y2 = 290;
aW = x2 - x +1;
aH = y2 - y +1;
VertLineRender(x, y, aH-1, 0xFFFFFFFF);
VertLineRender(x2 -1, y+1, aH -2, 0xFF808080);
VertLineRender(x2, y, aH, 0xFF404040);
HorizLineRender(x, y, aW - 1, 0xFFFFFFFF);
HorizLineRender(x +1, y2 -1, aW - 2, 0xFF808080);
HorizLineRender(x, y2, aW, 0xFF404040);
RectFillRender(x+1,y+1,x2-2,y+30,clNavy);
RectFillRender(x+1,y+31,x2-2,y2-2,clGray);
if(LanguageEnCn==0){
TextRender_string24(x+8, y+6, clNearWhite, "提示信息");
TextRender_string24(x+66, y+36, clNearBlack, "正在读取,请等待");
}else{
TextRender_string24(x+8, y+6, clNearWhite, "Message");
TextRender_string24(x+66, y+36, clNearBlack, "Reading,Please Wait");
}
}
void TQueryMsgOperate::DrawItemCount(int aCount)
{
TextDigitRender6Left24(500,Caption.Bound.Top +3, clNearWhite, Caption.Color, Count);
TextDigitRender6Left24(720,Caption.Bound.Top +3, clNearWhite, Caption.Color, aCount);
if(LanguageEnCn==0){
TextRender_string24(400, Caption.Bound.Top +3, clNearWhite, "总数量:");
TextRender_string24(600, Caption.Bound.Top +3, clNearWhite, "查看数量:");
}else{
TextRender_string24(400, Caption.Bound.Top +3, clNearWhite, "Total:");
TextRender_string24(600, Caption.Bound.Top +3, clNearWhite, "Display:");
}
}
void TQueryMsgOperate::DrawBoxTimeOutLine()
{
RectFillRender(BoxBoundTime.Left, BoxBoundTime.Top, BoxBoundTime.Right, BoxBoundTime.Bottom, clFrmFace);
VertLineRender(BoxBoundTime.Left, BoxBoundTime.Top, BoxBoundTime.Height -1, 0xFFFFFFFF);
VertLineRender(BoxBoundTime.Right -1, BoxBoundTime.Top +1, BoxBoundTime.Height -2, 0xFF808080);
VertLineRender(BoxBoundTime.Right, BoxBoundTime.Top, BoxBoundTime.Height, 0xFF404040);
HorizLineRender(BoxBoundTime.Left, BoxBoundTime.Top, BoxBoundTime.Width - 1, 0xFFFFFFFF);
HorizLineRender(BoxBoundTime.Left +1, BoxBoundTime.Bottom -1, BoxBoundTime.Width - 2, 0xFF808080);
HorizLineRender(BoxBoundTime.Left, BoxBoundTime.Bottom, BoxBoundTime.Width, 0xFF404040);
if(LanguageEnCn==0) TStaticText::sShow(BoxBoundTime.Left+2, BoxBoundTime.Top+2, BoxBoundTime.Right-2, BoxBoundTime.Top+32, clNearWhite, clBlue, "设置日期时间段,按确认键开始查询");
else TStaticText::sShow(BoxBoundTime.Left+2, BoxBoundTime.Top+2, BoxBoundTime.Right-2, BoxBoundTime.Top+32, clNearWhite, clBlue, "Set Date And Time,OK Key:Start The Query");
}
void TQueryMsgOperate::DrawTimeEntry(void)
{
int x,y,w,h;
int i;
unsigned char aHex0, aHex1;
unsigned int aClr;
if(IsAllTimeTemp){
aClr = clSilver;
}else{
aClr = clNearBlack;
}
w = 36;
h = 32;
vtValueFrom[0] = DateTime.Date.Split.Year;
vtValueFrom[1] = DateTime.Date.Split.Month;
vtValueFrom[2] = DateTime.Date.Split.Day;
vtValueFrom[3] = DateTime.Time.Split.Hour;
vtValueFrom[4] = DateTime.Time.Split.Minute;
vtValueFrom[5] = DateTime.Time.Split.Second;
vtValueTo[0] =vtValueFrom[0];
vtValueTo[1] =vtValueFrom[1];
vtValueTo[2] =vtValueFrom[2];
vtValueTo[3] =vtValueFrom[3];
vtValueTo[4] =vtValueFrom[4];
vtValueTo[5] =vtValueFrom[5];
for(i=0; i<6; i++){
x = BoxBoundTime.Left + 80 + (i * 48);
y = BoxBoundTime.Top + 140 + (0 * 112);
aHex0 = vtValueFrom[i] / 16 % 10;
aHex1 = vtValueFrom[i] % 16 % 10;
vtTextFrom[i][0] = aHex0 + '0';
vtTextFrom[i][1] = aHex1 + '0';
vtTextFrom[i][2] = 0;
RectFillRender(x, y, x+w-1, y+h-1, clFrmFace);
TextRender_string24(x+3, y+3, aClr, vtTextFrom[i]);
}
for(i=0; i<6; i++){
x = BoxBoundTime.Left + 80 + (i * 48);
y = BoxBoundTime.Top + 140 + (1 * 112);
aHex0 = vtValueTo[i] / 16 % 10;
aHex1 = vtValueTo[i] % 16 % 10;
vtTextTo[i][0] = aHex0 + '0';
vtTextTo[i][1] = aHex1 + '0';
vtTextTo[i][2] = 0;
RectFillRender(x, y, x+w-1, y+h-1, clFrmFace);
TextRender_string24(x+3, y+3, aClr, vtTextTo[i]);
}
}
void TQueryMsgOperate::DrawTimeEntryNoUpdate(void)
{
int x,y,w,h;
int i;
unsigned char aHex0, aHex1;
unsigned int aClr;
if(IsAllTimeTemp){
aClr = clSilver;
}else{
aClr = clNearBlack;
}
w = 36;
h = 32;
for(i=0; i<6; i++){
x = BoxBoundTime.Left + 80 + (i * 48);
y = BoxBoundTime.Top + 140 + (0 * 112);
aHex0 = vtValueFrom[i] / 16 % 10;
aHex1 = vtValueFrom[i] % 16 % 10;
vtTextFrom[i][0] = aHex0 + '0';
vtTextFrom[i][1] = aHex1 + '0';
vtTextFrom[i][2] = 0;
RectFillRender(x, y, x+w-1, y+h-1, clFrmFace);
TextRender_string24(x+3, y+3, aClr, vtTextFrom[i]);
}
for(i=0; i<6; i++){
x = BoxBoundTime.Left + 80 + (i * 48);
y = BoxBoundTime.Top + 140 + (1 * 112);
aHex0 = vtValueTo[i] / 16 % 10;
aHex1 = vtValueTo[i] % 16 % 10;
vtTextTo[i][0] = aHex0 + '0';
vtTextTo[i][1] = aHex1 + '0';
vtTextTo[i][2] = 0;
RectFillRender(x, y, x+w-1, y+h-1, clFrmFace);
TextRender_string24(x+3, y+3, aClr, vtTextTo[i]);
}
}
void TQueryMsgOperate::DrawIfAllTime(void)
{
unsigned int aClr, bClr;
if(TimeEditFrom == -1){
aClr = clNearWhite;
bClr = clBlue;
}else{
aClr = clNearBlack;
bClr = clFrmFace;
}
TTriangleLeftRight::sDrawLeftByHight(BoxBoundTime.Left + 150 - 20, BoxBoundTime.Top + 44, 20, clBlue);
TTriangleLeftRight::sDrawRightByHight(BoxBoundTime.Left + 150 + 106, BoxBoundTime.Top + 44, 20, clBlue);
if(LanguageEnCn==0){
if(IsAllTimeTemp){
TextRender_string24(BoxBoundTime.Left + 150, BoxBoundTime.Top + 42, aClr, bClr, "全部条目");
}else{
TextRender_string24(BoxBoundTime.Left + 150, BoxBoundTime.Top + 42, aClr, bClr, "按时间段");
}
}else{
if(IsAllTimeTemp){
TextRender_string24(BoxBoundTime.Left + 150, BoxBoundTime.Top + 42, aClr, bClr, " All ");
}else{
TextRender_string24(BoxBoundTime.Left + 150, BoxBoundTime.Top + 42, aClr, bClr, "Segments");
}
}
}
void TQueryMsgOperate::DrawBoxTimeString(void)
{
unsigned int aClr;
if(IsAllTimeTemp){
aClr = clSilver;
}else{
aClr = clNearBlack;
}
if(LanguageEnCn==0){
TextRender_string24(BoxBoundTime.Left + 52, BoxBoundTime.Top + 74, aClr, "开始时间");
TextRender_string24(BoxBoundTime.Left + 82, BoxBoundTime.Top + 108, aClr, "年 月 日 时 分 秒");
TextRender_string24(BoxBoundTime.Left + 52, BoxBoundTime.Top + 187, aClr, "结束时间");
TextRender_string24(BoxBoundTime.Left + 82, BoxBoundTime.Top + 219, aClr, "年 月 日 时 分 秒");
}else{
TextRender_string24(BoxBoundTime.Left + 52, BoxBoundTime.Top + 74, aClr, "Begin");
TextRender_string24(BoxBoundTime.Left + 82, BoxBoundTime.Top + 108, aClr, " Y M D H M S");
TextRender_string24(BoxBoundTime.Left + 52, BoxBoundTime.Top + 187, aClr, "End");
TextRender_string24(BoxBoundTime.Left + 82, BoxBoundTime.Top + 219, aClr, " Y M D H M S");
}
}
void TQueryMsgOperate::DrawBoxTime(void)
{
DrawBoxTimeOutLine();
DrawBoxTimeString();
DrawIfAllTime();
DrawTimeEntry();
}
void TQueryMsgOperate::DrawGoPrintOutLine()
{
RectFillRender(GoPrint.Left, GoPrint.Top, GoPrint.Right, GoPrint.Bottom, clFrmFace);
VertLineRender(GoPrint.Left, GoPrint.Top, GoPrint.Height -1, 0xFFFFFFFF);
VertLineRender(GoPrint.Right -1, GoPrint.Top +1, GoPrint.Height -2, 0xFF808080);
VertLineRender(GoPrint.Right, GoPrint.Top, GoPrint.Height, 0xFF404040);
HorizLineRender(GoPrint.Left, GoPrint.Top, GoPrint.Width - 1, 0xFFFFFFFF);
HorizLineRender(GoPrint.Left +1, GoPrint.Bottom -1, GoPrint.Width - 2, 0xFF808080);
HorizLineRender(GoPrint.Left, GoPrint.Bottom, GoPrint.Width, 0xFF404040);
if(LanguageEnCn==0)TStaticText::sShow(GoPrint.Left+2, GoPrint.Top+2, GoPrint.Right-2, GoPrint.Top+32, clNearWhite, clBlue, "按确认键开始打印并返回");
else TStaticText::sShow(GoPrint.Left+2, GoPrint.Top+2, GoPrint.Right-2, GoPrint.Top+32, clNearWhite, clBlue, "Confirm Print Or Return");
}
void TQueryMsgOperate::DrawPrintWhat()
{
if(LanguageEnCn==0)TextRender_string24(GoPrint.Left + 150, GoPrint.Top + 66, clNearBlack, clFrmFace, "打印当前选定条目");
else TextRender_string24(GoPrint.Left + 150, GoPrint.Top + 66, clNearBlack, clFrmFace, "Print Current Item");
return;
if(PrintWhat == 0){
TextRender_string24(GoPrint.Left + 150, GoPrint.Top + 66, clNearBlack, clTeal, "当前选定条目");
}else
if(PrintWhat == 1){
TextRender_string24(GoPrint.Left + 150, GoPrint.Top + 66, clNearBlack, clTeal, " 当前页面 ");
}else{
TextRender_string24(GoPrint.Left + 150, GoPrint.Top + 66, clNearBlack, clTeal, " 全部信息 ");
}
}
void TQueryMsgOperate::Show(void)
{
DrawSelf();
Caption.Enable = 1;
DrawCaption();
if(IsInputTime){
DrawBoxTime();
}else{
if(IsAllTime){
DrawListAll();
}else{
DrawListInTime();
}
}
DrawItemCount(Count);
ShowTip();
}
void TQueryMsgOperate::ReDraw(void)
{
Caption.Enable = 1;
//DrawCaption();
if(IsInputTime){
DrawBoxTime();
}else{
if(IsAllTime){
DrawListAll();
}else{
DrawListInTime();
}
}
}
void TQueryMsgOperate::FullRedraw(int Prm)
{
if(Prm == 0){
DrawSelf();
Caption.Enable = 1;
DrawCaption();
if(IsAllTime){
DrawListAll();
}else{
DrawListInTime();
}
if(IsInputTime){
DrawBoxTimeOutLine();
DrawBoxTimeString();
DrawIfAllTime();
DrawTimeEntryNoUpdate();
if(TimeEditFrom > -1){
SetEditStart();
}else{
DrawBoxTimeString();
DrawIfAllTime();
DrawTimeEntry();
}
}else
if(IsGoPrint){
DrawGoPrintOutLine();
DrawPrintWhat();
}
DrawItemCount(Count);
ShowTip();
}else
if(Prm == 1){
RectFillRender(GuiRedrawDataList[1][0], GuiRedrawDataList[1][1], GuiRedrawDataList[1][2], GuiRedrawDataList[1][3], Color);
if(IsAllTime){
DrawListAll();
}else{
DrawListInTime();
}
if(IsInputTime){
DrawBoxTimeOutLine();
DrawBoxTimeString();
DrawIfAllTime();
DrawTimeEntryNoUpdate();
if(TimeEditFrom > -1){
SetEditStart();
}else{
DrawBoxTimeString();
DrawIfAllTime();
DrawTimeEntry();
}
}else
if(IsGoPrint){
DrawGoPrintOutLine();
DrawPrintWhat();
}
ShowTip();
}
}
void TQueryMsgOperate::ShowTip()
{
if(LanguageEnCn==0){
if( (IsInputTime == 0) && (IsGoPrint == 0) ){
//TextRender_string24(40, 410, clNearBlack, Color, "左右键翻页, 上下键加减一条目, 设置键设定时间段, TAB键去打印");
TextRender_string24(40, 410, clNearBlack, Color, "左右键翻页, 上下键加减一条目, TAB键去打印");
}
if(IsInputTime){
TextRender_string24(40, 410, clNearBlack, Color, "上下左右键切换或编辑条目, 数字键删除键编辑 ");
}else
if(IsGoPrint){
TextRender_string24(40, 410, clNearBlack, Color, "按确定键打印当前条目 ");
}
}else{
if( (IsInputTime == 0) && (IsGoPrint == 0) ){
//TextRender_string24(40, 410, clNearBlack, Color, "左右键翻页, 上下键加减一条目, 设置键设定时间段, TAB键去打印");
TextRender_string24(40, 410, clNearBlack, Color, "Left,Right,Up,Down:Switch item; TAB To Print ");
}
if(IsInputTime){
TextRender_string24(40, 410, clNearBlack, Color, "Left,Right,Up,Down To Switch Item To Edit; Num Key To Edit");
}else
if(IsGoPrint){
TextRender_string24(40, 410, clNearBlack, Color, "Press The OK Key To Print The Current Item ");
}
}
}
void TQueryMsgOperate::SetEditStart(void)
{
int x,y,w,h;
IsEditing =1;
ReStoreP0 = TimeEditFrom;
ReStoreP1 = TimeIndex;
x = BoxBoundTime.Left + 80 + (ReStoreP1 * 48);
y = BoxBoundTime.Top + 140 + (ReStoreP0 * 112);
w = 36;
h = 32;
vEdit.Init(x,y,w,h,0,0,1,clTeal);
vEdit.Color = clTeal;
vEdit.SetMaxLen(2);
if(ReStoreP0 ==0){
vEdit.Str.Text[0] = vtTextFrom[ReStoreP1][0];
vEdit.Str.Text[1] = vtTextFrom[ReStoreP1][1];
vEdit.Str.Text[2] = 0;
}else
if(ReStoreP0 ==1){
vEdit.Str.Text[0] = vtTextTo[ReStoreP1][0];
vEdit.Str.Text[1] = vtTextTo[ReStoreP1][1];
vEdit.Str.Text[2] = 0;
}
vEdit.Pst = -1;
vEdit.Show();
vEdit.ShowCursor(clNearWhite);
}
void TQueryMsgOperate::RestoreFromEdit(void)
{
int x,y,w,h;
if(IsEditing == 0)return;
x = BoxBoundTime.Left + 80 + (ReStoreP1 * 48);
y = BoxBoundTime.Top + 140 + (ReStoreP0 * 112);
w = 36;
h = 32;
RectFillRender(x, y, x+w-1, y+h-1, clFrmFace);
if(ReStoreP0 == 0){
vtTextFrom[ReStoreP1][0] = vEdit.Str.Text[0];
vtTextFrom[ReStoreP1][1] = vEdit.Str.Text[1];
vtTextFrom[ReStoreP1][2] = 0;
TextRender_string24(x+3, y+3, clNearBlack, vtTextFrom[ReStoreP1]);
}else
if(ReStoreP0 == 1){
vtTextTo[ReStoreP1][0] = vEdit.Str.Text[0];
vtTextTo[ReStoreP1][1] = vEdit.Str.Text[1];
vtTextTo[ReStoreP1][2] = 0;
TextRender_string24(x+3, y+3, clNearBlack, vtTextTo[ReStoreP1]);
}
IsEditing = 0;
}
void TQueryMsgOperate::FillTextWithDateTime()
{
int aLen;
aLen = TMyString::sGetLen(Text.Text);
if(aLen < 40){
CoverDateTimeIllegal(EntryTmp.fData.Body, &DateTimeCovered);
Text.Text[aLen + 0] = DateTimeCovered.Year / 16 % 10 + '0';
Text.Text[aLen + 1] = DateTimeCovered.Year % 16 % 10+ '0';
Text.Text[aLen + 2] = '/';
Text.Text[aLen + 3] = DateTimeCovered.Month / 16 % 10 + '0';
Text.Text[aLen + 4] = DateTimeCovered.Month % 16 % 10 + '0';
Text.Text[aLen + 5] = '/';
Text.Text[aLen + 6] = DateTimeCovered.Day / 16 % 10 + '0';
Text.Text[aLen + 7] = DateTimeCovered.Day % 16 % 10 + '0';
Text.Text[aLen + 8] = ' ';
Text.Text[aLen + 9] = DateTimeCovered.Hour / 16 % 10 + '0';
Text.Text[aLen + 10] = DateTimeCovered.Hour % 16 % 10 + '0';
Text.Text[aLen + 11] = ':';
Text.Text[aLen + 12] = DateTimeCovered.Minute / 16 % 10 + '0';
Text.Text[aLen +13] = DateTimeCovered.Minute % 16 % 10 + '0';
Text.Text[aLen +14] = ':';
Text.Text[aLen +15] = DateTimeCovered.Second / 16 % 10 + '0';
Text.Text[aLen +16] = DateTimeCovered.Second % 16 % 10 + '0';
Text.Text[aLen +17] = ' ';
Text.Text[aLen +18] = '\0';
}
}
void TQueryMsgOperate::FillTextWithPath()
{
int aLen;
unsigned int data, d,e;
aLen = TMyString::sGetLen(Text.Text);
data = EntryTmp.fData.Body.Splite.PCtlNum;
d = data/10;
e = d % 10;
Text.Text[aLen + 0] = e + '0';
e = data % 10;
Text.Text[aLen + 1] = e + '0';
Text.Text[aLen + 2] = '-';
data = EntryTmp.fData.Body.Splite.P0;
d = data/10;
e = d % 10;
Text.Text[aLen + 3] = e + '0';
e = data % 10;
Text.Text[aLen + 4] = e + '0';
Text.Text[aLen + 5] = '-';
data = EntryTmp.fData.Body.Splite.P1;
d = data/100;
e = d % 10;
Text.Text[aLen + 6] = e + '0';
d = data/10;
e = d % 10;
Text.Text[aLen + 7] = e + '0';
e = data % 10;
Text.Text[aLen + 8] = e + '0';
Text.Text[aLen + 9] = ' ';
Text.Text[aLen +10] = ' ';
Text.Text[aLen +11] = '\0';
}
void TQueryMsgOperate::FillTextWithDType()
{
unsigned char aType;
aType = EntryTmp.fData.Body.Splite.dType;
if(LanguageEnCn==0)TMyString::sAddOnStr(StrTypeShortName[aType],Text.Text);
else TMyString::sAddOnStr(StrTypeShortNameEn[aType],Text.Text);
TMyString::sAddOnStr(" ",Text.Text);
}
void TQueryMsgOperate::FillCtlNum()
{
if(EntryTmp.fData.Body.Splite.PCtlNum == 0){
if(LanguageEnCn==0)TMyString::sAddOnStr("本机 ",Text.Text);
else TMyString::sAddOnStr("Local",Text.Text);
}else{
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.PCtlNum,Text.Text);
TMyString::sAddOnStr(" ",Text.Text);
}
}
void TQueryMsgOperate::FillCtlNumNoSpace()
{
if(EntryTmp.fData.Body.Splite.PCtlNum == 0){
if(LanguageEnCn==0)TMyString::sAddOnStr("本机 ",Text.Text);
else TMyString::sAddOnStr("Local",Text.Text);
}else{
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.PCtlNum,Text.Text);
}
}
void TQueryMsgOperate::FillText4PowerOff()
{
FillTextWithDateTime();
FillCtlNum();
if(LanguageEnCn==0)TMyString::sAddOnStr("关机 ",Text.Text);
else TMyString::sAddOnStr("Power Off ",Text.Text);
}
void TQueryMsgOperate::FillText4PowerUp()
{
FillTextWithDateTime();
FillCtlNum();
if(LanguageEnCn==0)TMyString::sAddOnStr("开机 ",Text.Text);
else TMyString::sAddOnStr("Power On ",Text.Text);
}
void TQueryMsgOperate::FillText4MsgReset(unsigned char Data1)
{
FillTextWithDateTime();
FillCtlNum();
if(LanguageEnCn==0){
TMyString::sAddOnStr("手动复位 ",Text.Text);
if(Data1){
TMyString::sAddOnStr("集中机呼叫执行 ",Text.Text);
}
}else{
TMyString::sAddOnStr("Manual Reset ",Text.Text);
if(Data1){
TMyString::sAddOnStr("Call By Master ",Text.Text);
}
}
}
void TQueryMsgOperate::FillText4MsgMute()
{
FillTextWithDateTime();
FillCtlNum();
if(LanguageEnCn==0)TMyString::sAddOnStr("手动消音 ",Text.Text);
else TMyString::sAddOnStr("Manual Mute ",Text.Text);
}
void TQueryMsgOperate::FillText4MsgMask()
{
FillTextWithDateTime();
FillCtlNum();
FillTextWithPath();
AddOnUserCode();
FillTextWithDType();
}
void TQueryMsgOperate::FillText4MsgUnMask()
{
FillTextWithDateTime();
FillCtlNum();
FillTextWithPath();
AddOnUserCode();
FillTextWithDType();
}
void TQueryMsgOperate::FillText4AllowSet()
{
FillTextWithDateTime();
FillCtlNum();
if(LanguageEnCn==0){
TMyString::sAddOnStr("设置允许状态 ",Text.Text);
if(EntryTmp.fData.Body.Splite.Data1 & 0x01){
TMyString::sAddOnStr("自动允许 ",Text.Text);
}else{
TMyString::sAddOnStr("自动禁止 ",Text.Text);
}
if(EntryTmp.fData.Body.Splite.Data1 & 0x02){
TMyString::sAddOnStr("手动允许 ",Text.Text);
}else{
TMyString::sAddOnStr("手动禁止 ",Text.Text);
}
}else{
TMyString::sAddOnStr("Set Operating ",Text.Text);
if(EntryTmp.fData.Body.Splite.Data1 & 0x01){
TMyString::sAddOnStr("Auto ",Text.Text);
}else{
TMyString::sAddOnStr("Not Auto ",Text.Text);
}
if(EntryTmp.fData.Body.Splite.Data1 & 0x02){
TMyString::sAddOnStr("Manual Allow ",Text.Text);
}else{
TMyString::sAddOnStr("Manual Not Allow",Text.Text);
}
}
}
void TQueryMsgOperate::FillText4AlramSetOnOff()
{
FillTextWithDateTime();
FillCtlNum();
if(LanguageEnCn==0){
TMyString::sAddOnStr("警报声光 ",Text.Text);
if(EntryTmp.fData.Body.Splite.Data1){
TMyString::sAddOnStr("启动 ",Text.Text);
}else{
TMyString::sAddOnStr("停止 ",Text.Text);
}
}else{
TMyString::sAddOnStr("Alarm SL ",Text.Text);
if(EntryTmp.fData.Body.Splite.Data1){
TMyString::sAddOnStr("Active ",Text.Text);
}else{
TMyString::sAddOnStr("Stop ",Text.Text);
}
}
}
void TQueryMsgOperate::FillText4MsgDateTimeSet()
{
int aLen;
FillTextWithDateTime();
FillCtlNum();
if(LanguageEnCn==0)TMyString::sAddOnStr("设置日期时间为 ",Text.Text);
else TMyString::sAddOnStr("Set Datetime: ",Text.Text);
aLen = TMyString::sGetLen(Text.Text);
if(aLen < 46){
Text.Text[aLen + 0] = EntryTmp.fData.Body.Splite.P0 / 16 % 10 + '0';
Text.Text[aLen + 1] = EntryTmp.fData.Body.Splite.P0 % 16 % 10 + '0';
Text.Text[aLen + 2] = '-';
Text.Text[aLen + 3] = EntryTmp.fData.Body.Splite.P1 / 16 % 10 + '0';
Text.Text[aLen + 4] = EntryTmp.fData.Body.Splite.P1 % 16 % 10 + '0';
Text.Text[aLen + 5] = '-';
Text.Text[aLen + 6] = EntryTmp.fData.Body.Splite.P2 / 16 % 10 + '0';
Text.Text[aLen + 7] = EntryTmp.fData.Body.Splite.P2 % 16 % 10 + '0';
Text.Text[aLen + 8] = ' ';
Text.Text[aLen + 9] = EntryTmp.fData.Body.Splite.Data1 / 16 % 10 + '0';
Text.Text[aLen +10] = EntryTmp.fData.Body.Splite.Data1 % 16 % 10 + '0';
Text.Text[aLen +11] = ':';
Text.Text[aLen +12] = EntryTmp.fData.Body.Splite.iByte0 / 16 % 10 + '0';
Text.Text[aLen +13] = EntryTmp.fData.Body.Splite.iByte0 % 16 % 10 + '0';
Text.Text[aLen +14] = ':';
Text.Text[aLen +15] = EntryTmp.fData.Body.Splite.iByte1 / 16 % 10 + '0';
Text.Text[aLen +16] = EntryTmp.fData.Body.Splite.iByte1 % 16 % 10 + '0';
Text.Text[aLen +17] = ' ';
Text.Text[aLen +18] = '\0';
}
}
void TQueryMsgOperate::FillText4BusPadOn()
{
FillTextWithDateTime();
FillCtlNum();
if(LanguageEnCn==0){
TMyString::sAddOnStr("总线盘 ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0,Text.Text);
TMyString::sAddOnStr(" 按键 ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P1,Text.Text);
TMyString::sAddOnStr(" 手动启动 ",Text.Text);
}else{
TMyString::sAddOnStr("BusPad ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0,Text.Text);
TMyString::sAddOnStr(" Pad ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P1,Text.Text);
TMyString::sAddOnStr(" Active ",Text.Text);
}
}
void TQueryMsgOperate::FillText4BusPadOff()
{
FillTextWithDateTime();
FillCtlNum();
if(LanguageEnCn==0){
TMyString::sAddOnStr("总线盘 ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0,Text.Text);
TMyString::sAddOnStr(" 按键 ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P1,Text.Text);
TMyString::sAddOnStr(" 手动关闭 ",Text.Text);
}else{
TMyString::sAddOnStr("BusPad ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0,Text.Text);
TMyString::sAddOnStr(" Pad ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P1,Text.Text);
TMyString::sAddOnStr(" DeActive ",Text.Text);
}
}
void TQueryMsgOperate::FillText4DirectPadManualAllowOn()
{
FillTextWithDateTime();
FillCtlNum();
if(LanguageEnCn==0){
TMyString::sAddOnStr("多线盘 ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0,Text.Text);
TMyString::sAddOnStr(" 手动允许 ",Text.Text);
}else{
TMyString::sAddOnStr("DirectCtrl ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0,Text.Text);
TMyString::sAddOnStr(" Allowed ",Text.Text);
}
}
void TQueryMsgOperate::FillText4DirectPadManualAllowOff()
{
FillTextWithDateTime();
FillCtlNum();
if(LanguageEnCn==0){
TMyString::sAddOnStr("多线盘 ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0,Text.Text);
TMyString::sAddOnStr(" 手动禁止 ",Text.Text);
}else{
TMyString::sAddOnStr("DirectCtrl ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0,Text.Text);
TMyString::sAddOnStr(" Locked ",Text.Text);
}
}
void TQueryMsgOperate::FillText4DirectPadNodeOn()
{
FillTextWithDateTime();
FillCtlNum();
if(LanguageEnCn==0){
TMyString::sAddOnStr("多线盘 ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0,Text.Text);
TMyString::sAddOnStr(" 节点 ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P1,Text.Text);
TMyString::sAddOnStr(" 手动开启 ",Text.Text);
}else{
TMyString::sAddOnStr("DirectCtrl ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0,Text.Text);
TMyString::sAddOnStr(" Node ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P1,Text.Text);
TMyString::sAddOnStr(" Active ",Text.Text);
}
}
void TQueryMsgOperate::FillText4DirectPadNodeOff()
{
FillTextWithDateTime();
FillCtlNum();
if(LanguageEnCn==0){
TMyString::sAddOnStr("多线盘 ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0,Text.Text);
TMyString::sAddOnStr(" 节点 ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P1,Text.Text);
TMyString::sAddOnStr(" 手动关闭 ",Text.Text);
}else{
TMyString::sAddOnStr("DirectCtrl ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0,Text.Text);
TMyString::sAddOnStr(" Node ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P1,Text.Text);
TMyString::sAddOnStr(" Stop ",Text.Text);
}
}
void TQueryMsgOperate::FillText4UserCheck()
{
FillTextWithDateTime();
FillCtlNum();
if(LanguageEnCn==0)TMyString::sAddOnStr("检查 ",Text.Text);
else TMyString::sAddOnStr("User Check ",Text.Text);
}
void TQueryMsgOperate::FillText4LinkageGo(unsigned char Data1)
{
FillTextWithDateTime();
FillCtlNum();
if(LanguageEnCn==0){
TMyString::sAddOnStr("联动执行",Text.Text);
if(Data1 == 0){
TMyString::sAddOnStr("-区域机报告",Text.Text);
}else
if(Data1 == 1){
TMyString::sAddOnStr("-本机执行",Text.Text);
}else
if(Data1 == 3){
TMyString::sAddOnStr("-集中机呼叫执行",Text.Text);
}
}else{
TMyString::sAddOnStr("Linkage Exe",Text.Text);
if(Data1 == 0){
TMyString::sAddOnStr("-Slave Reported",Text.Text);
}else
if(Data1 == 1){
TMyString::sAddOnStr("-Self Execute",Text.Text);
}else
if(Data1 == 3){
TMyString::sAddOnStr("-Call By Master",Text.Text);
}
}
}
void TQueryMsgOperate::AddOnUserCode()
{
TMyString::sAddOn8Dg(EntryTmp.fData.UserCode, Text.Text);
TMyString::sAddOnStr(" ",Text.Text);
}
void TQueryMsgOperate::AddOnFireMsg()
{
unsigned char aType;
FillCtlNumNoSpace();
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn3Dg(EntryTmp.fData.Body.Splite.P1, Text.Text);
TMyString::sAddOnStr(" ",Text.Text);
AddOnUserCode();
aType = EntryTmp.fData.Body.Splite.dType;
if(LanguageEnCn==0)TMyString::sAddOnStr(StrTypeShortName[aType],Text.Text);
else TMyString::sAddOnStr(StrTypeShortNameEn[aType],Text.Text);
}
void TQueryMsgOperate::AddOnFaultMsg()
{
unsigned char aType;
if( (EntryTmp.fData.Body.Splite.Data1 & 0xF0) == 0xC0){
FillCtlNum();
if(LanguageEnCn==0){
if( (EntryTmp.fData.Body.Splite.P1 >= dADDR_HANDPAD_START) && (EntryTmp.fData.Body.Splite.P1 <= dADDR_HANDPAD_END) ){
TMyString::sAddOnStr("总线盘 ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P1 -dADDR_HANDPAD_START +1,Text.Text);
TMyString::sAddOnStr(" 离线",Text.Text);
}
if( (EntryTmp.fData.Body.Splite.P1 >= dADDR_DIRECTPAD_START) && (EntryTmp.fData.Body.Splite.P1 <= dADDR_DIRECTPAD_END) ){
TMyString::sAddOnStr("多线盘 ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P1 -dADDR_DIRECTPAD_START +1,Text.Text);
TMyString::sAddOnStr(" 离线",Text.Text);
}
}else{
if( (EntryTmp.fData.Body.Splite.P1 >= dADDR_HANDPAD_START) && (EntryTmp.fData.Body.Splite.P1 <= dADDR_HANDPAD_END) ){
TMyString::sAddOnStr("BusPad Board ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P1 -dADDR_HANDPAD_START +1,Text.Text);
TMyString::sAddOnStr(" Offline",Text.Text);
}
if( (EntryTmp.fData.Body.Splite.P1 >= dADDR_DIRECTPAD_START) && (EntryTmp.fData.Body.Splite.P1 <= dADDR_DIRECTPAD_END) ){
TMyString::sAddOnStr("Direct Ctrl Board ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P1 -dADDR_DIRECTPAD_START +1,Text.Text);
TMyString::sAddOnStr(" Offline",Text.Text);
}
}
}else
if((EntryTmp.fData.Body.Splite.Data1 & 0xF0) == 0xD0){
FillCtlNum();
if(LanguageEnCn==0)TMyString::sAddOnStr("设备故障 ",Text.Text);
else TMyString::sAddOnStr("Device Fault ",Text.Text);
aType = EntryTmp.fData.Body.Splite.P2;
if(LanguageEnCn==0){
if(aType < 32){
TMyString::sAddOnStr(StrDevFaultType[aType],Text.Text);
}else{
TMyString::sAddOnStr("未知错误",Text.Text);
}
}else{
if(aType < 32){
TMyString::sAddOnStr(StrDevFaultTypeEn[aType],Text.Text);
}else{
TMyString::sAddOnStr("Unknown Fault",Text.Text);
}
}
TMyString::sAddOnStr(" ",Text.Text);
if( (aType == 15) || (aType == 16) ){
Text.Text[28] = '\0';
if(LanguageEnCn==0)TMyString::sAddOnStr(StrDevFaultType[aType],Text.Text);
else TMyString::sAddOnStr(StrDevFaultTypeEn[aType],Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P1, Text.Text);
if(LanguageEnCn==0)TMyString::sAddOnStr("通讯故障",Text.Text);
else TMyString::sAddOnStr("Offline",Text.Text);
//if(EntryTmp.fData.Body.Splite.mType > 200){
// TMyString::sAddOnStr("通讯故障条目数:多于200",Text.Text);
//}else{
// TMyString::sAddOnStr("通讯故障条目数:",Text.Text);
// TMyString::sAddOn3Dg(EntryTmp.fData.Body.Splite.mType, Text.Text);
//}
}
}else
if((EntryTmp.fData.Body.Splite.Data1 & 0xF0) == 0xE0){
FillCtlNum();
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0,Text.Text);
if(LanguageEnCn==0)TMyString::sAddOnStr(" 回路故障",Text.Text);
else TMyString::sAddOnStr(" Loop Fault",Text.Text);
}else
if((EntryTmp.fData.Body.Splite.Data1 & 0xF0) == 0xF0){
//Board Error
FillCtlNum();
if(LanguageEnCn==0)TMyString::sAddOnStr("板卡故障 ",Text.Text);
else TMyString::sAddOnStr("Board Fault",Text.Text);
aType = EntryTmp.fData.Body.Splite.P2;
if(aType == 10){
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P1,Text.Text);
TMyString::sAddOnStr(" ",Text.Text);
}
if(LanguageEnCn==0){
if(aType < 32){
TMyString::sAddOnStr(StrBrdFaultType[aType],Text.Text);
}else{
TMyString::sAddOnStr("未知类型",Text.Text);
}
}else{
if(aType < 32){
TMyString::sAddOnStr(StrBrdFaultTypeEn[aType],Text.Text);
}else{
TMyString::sAddOnStr("Unknown Fault",Text.Text);
}
}
}else{
//EpError
FillCtlNumNoSpace();
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn3Dg(EntryTmp.fData.Body.Splite.P1, Text.Text);
TMyString::sAddOnStr(" ",Text.Text);
AddOnUserCode();
aType = EntryTmp.fData.Body.Splite.P2;
if(LanguageEnCn==0){
if(aType < 16){
TMyString::sAddOnStr(StrEpFaultType[aType],Text.Text);
}else{
TMyString::sAddOnStr("未知故障",Text.Text);
}
}else{
if(aType < 16){
TMyString::sAddOnStr(StrEpFaultTypeEn[aType],Text.Text);
}else{
TMyString::sAddOnStr("Unknown Fault",Text.Text);
}
}
}
}
int TQueryMsgOperate::FillTextCN(int aInx, int ShowInx)
{
volatile unsigned int SdAddr, Addr;
unsigned int d,e;
unsigned int data;
unsigned char aP0;
unsigned char aP1;
unsigned char aType;
unsigned int ExpsInx;
NeedDisplayDescp = 0;
NeedDrawCfg = 0;
//Operate History
Addr = Record.Buf4Operate.SdramAddrStart + aInx * 64;
if(Addr >= (dSdramOperateHistoryContentBaseAddr + dSdramHistoryBytesLength) )
SdAddr = Addr - dSdramHistoryBytesLength;
else
SdAddr = Addr;
for(d=2; d<14; d++){
EntryTmp.D32[d] = *(volatile unsigned int *)(SdAddr + d * 4);
}
data = ShowInx +1;
d = data/100000;
e = d % 10;
Text.Text[0] = e + '0';
d = data/10000;
e = d % 10;
Text.Text[1] = e + '0';
d = data/1000;
e = d % 10;
Text.Text[2] = e + '0';
d = data/100;
e = d % 10;
Text.Text[3] = e + '0';
d = data/10;
e = d % 10;
Text.Text[4] = e + '0';
e = data % 10;
Text.Text[5] = e + '0';
Text.Text[6] = ' ';
Text.Text[7] = '\0';
if(EntryTmp.fData.Body.Splite.mType == etOperate){
switch(EntryTmp.fData.Body.Splite.Data0){
case otPowerOff:
FillText4PowerOff();
break;
case otPowerOn:
FillText4PowerUp();
break;
case otReset:
FillText4MsgReset(EntryTmp.fData.Body.Splite.Data1);
break;
case otMute:
FillText4MsgMute();
break;
case otMask:
FillText4MsgMask();
NeedDisplayDescp =1;
NeedDrawCfg =0xB1;
break;
case otUnMask:
FillText4MsgUnMask();
NeedDisplayDescp =1;
NeedDrawCfg =0xB0;
break;
case otRegiste:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1 == 1){
TMyString::sAddOnStr("开始注册设备",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 2){
TMyString::sAddOnStr("设备注册成功",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 3){
TMyString::sAddOnStr("呼叫区域机注册",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 4){
TMyString::sAddOnStr("集中机呼叫注册",Text.Text);
}
break;
case otUnRegiste:
break;
case otSetCanNetwork:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1 == 1){
TMyString::sAddOnStr("设置本机为集中机:",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 2){
TMyString::sAddOnStr("设置本机为区域机:",Text.Text);
}else{
TMyString::sAddOnStr("设置本机为单机:",Text.Text);
}
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
break;
case otCfgBoard:
break;
case otCfgCrt:
break;
case otCfgPriter:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1 == 0){
TMyString::sAddOnStr("打印机关闭",Text.Text);
}else{
TMyString::sAddOnStr("打印机开启",Text.Text);
}
if(1){
TMyString::sAddOnStr("打印:",Text.Text);
data = 0;
if(EntryTmp.fData.Body.Splite.P0 & 0x01){
TMyString::sAddOnStr("全部",Text.Text);
data++;
}
if(EntryTmp.fData.Body.Splite.P0 & 0x02){
if(data)TMyString::sAddOnStr("+",Text.Text);
TMyString::sAddOnStr("火警",Text.Text);
data++;
}
if(EntryTmp.fData.Body.Splite.P0 & 0x04){
if(data)TMyString::sAddOnStr("+",Text.Text);
TMyString::sAddOnStr("联动",Text.Text);
data++;
}
if(EntryTmp.fData.Body.Splite.P0 & 0x08){
if(data)TMyString::sAddOnStr("+",Text.Text);
TMyString::sAddOnStr("监管",Text.Text);
data++;
}
if(EntryTmp.fData.Body.Splite.P0 & 0x10){
if(data)TMyString::sAddOnStr("+",Text.Text);
TMyString::sAddOnStr("故障",Text.Text);
data++;
}
if(EntryTmp.fData.Body.Splite.P0 & 0x20){
if(data)TMyString::sAddOnStr("+",Text.Text);
TMyString::sAddOnStr("屏蔽",Text.Text);
data++;
}
if(EntryTmp.fData.Body.Splite.P0 & 0x40){
if(data)TMyString::sAddOnStr("+",Text.Text);
TMyString::sAddOnStr("操作",Text.Text);
data++;
}
if(EntryTmp.fData.Body.Splite.P0 & 0x80){
if(data)TMyString::sAddOnStr("+",Text.Text);
TMyString::sAddOnStr("其他",Text.Text);
data++;
}
if(data == 0){
TMyString::sAddOnStr("全部类型信息不打印",Text.Text);
}
}
break;
case otCfgDevice:
NeedDisplayDescp = 1;
break;
case otCfgDateTime:
FillText4MsgDateTimeSet();
break;
case otCfgPermissionAllow:
break;
case otAllowSet:
FillText4AllowSet();
break;
case otAlramSetOnOff:
FillText4AlramSetOnOff();
break;
case otBusPadOn:
FillText4BusPadOn();
break;
case otBusPadOff:
FillText4BusPadOff();
break;
case otDirectPadManualAllowOn:
FillText4DirectPadManualAllowOn();
break;
case otDirectPadManualAllowOff:
FillText4DirectPadManualAllowOff();
break;
case otDirectPadNodeOn:
FillText4DirectPadNodeOn();
break;
case otDirectPadNodeOff:
FillText4DirectPadNodeOff();
break;
case otUserCheck:
FillText4UserCheck();
break;
case otLinkageGo:
FillText4LinkageGo(EntryTmp.fData.Body.Splite.Data1);
break;
case otSetNwTime:
FillTextWithDateTime();
FillCtlNum();
TMyString::sAddOnStr("设置各区域机日期时间",Text.Text);
break;
case otReqNwTime:
FillTextWithDateTime();
FillCtlNum();
TMyString::sAddOnStr("向集中机请求日期时间",Text.Text);
break;
case otSelfCheck:
FillTextWithDateTime();
FillCtlNum();
TMyString::sAddOnStr("自检",Text.Text);
break;
case otSetManualAllowState:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1)TMyString::sAddOnStr("手动允许",Text.Text);
else TMyString::sAddOnStr("手动禁止",Text.Text);
break;
case otSetAutoAllowState:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1)TMyString::sAddOnStr("自动允许",Text.Text);
else TMyString::sAddOnStr("自动禁止",Text.Text);
break;
case otRemoteSetManualAllowState:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1)TMyString::sAddOnStr("手动允许-集中机呼叫执行",Text.Text);
else TMyString::sAddOnStr("手动禁止--集中机呼叫执行",Text.Text);
break;
case otRemoteSetAutoAllowState:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1)TMyString::sAddOnStr("自动允许-集中机呼叫执行",Text.Text);
else TMyString::sAddOnStr("自动禁止--集中机呼叫执行",Text.Text);
break;
case otReportManualAllowState:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1)TMyString::sAddOnStr("手动允许-区域机报告",Text.Text);
else TMyString::sAddOnStr("手动禁止-区域机报告",Text.Text);
break;
case otReportAutoAllowState:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1)TMyString::sAddOnStr("自动允许-区域机报告",Text.Text);
else TMyString::sAddOnStr("自动禁止-区域机报告",Text.Text);
break;
case otFireConfirm:
FillTextWithDateTime();
/*FillCtlNumNoSpace();
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn3Dg(EntryTmp.fData.Body.Splite.P1, Text.Text);
TMyString::sAddOnStr(" ",Text.Text);
AddOnUserCode();
TMyString::sAddOnStr("火警确认 ",Text.Text);*/
AddOnFireMsg();
NeedDisplayDescp = 1;
NeedDrawCfg =1;
break;
case otFireSimConfirm:
FillTextWithDateTime();
/*FillCtlNumNoSpace();
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn3Dg(EntryTmp.fData.Body.Splite.P1, Text.Text);
TMyString::sAddOnStr(" ",Text.Text);
AddOnUserCode();
TMyString::sAddOnStr("火警确认 ",Text.Text);*/
AddOnFireMsg();
NeedDisplayDescp = 1;
NeedDrawCfg =11;
break;
case otFireRemoteConfirm:
FillTextWithDateTime();
/*FillCtlNumNoSpace();
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn3Dg(EntryTmp.fData.Body.Splite.P1, Text.Text);
TMyString::sAddOnStr(" ",Text.Text);
AddOnUserCode();
TMyString::sAddOnStr("火警远程确认 ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.Data1, Text.Text);*/
AddOnFireMsg();
NeedDisplayDescp = 3;
NeedDrawCfg = 3;
break;
case otFireSimRemoteConfirm:
FillTextWithDateTime();
/*FillCtlNumNoSpace();
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn3Dg(EntryTmp.fData.Body.Splite.P1, Text.Text);
TMyString::sAddOnStr(" ",Text.Text);
AddOnUserCode();
TMyString::sAddOnStr("火警远程确认 ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.Data1, Text.Text);*/
AddOnFireMsg();
NeedDisplayDescp = 3;
NeedDrawCfg = 13;
break;
case otFaultConfirm:
FillTextWithDateTime();
if( (EntryTmp.fData.Body.Splite.Data1 & 0xF0) == 0){
NeedDisplayDescp = 1;
}
AddOnFaultMsg();
NeedDrawCfg = 2;
break;
case otFaultRemoteConfirm:
FillTextWithDateTime();
if( (EntryTmp.fData.Body.Splite.Data1 & 0xF0) == 0){
NeedDisplayDescp = 1;
}
/*if( (EntryTmp.fData.Body.Splite.Data1 & 0xF0) == 0){
FillCtlNumNoSpace();
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn3Dg(EntryTmp.fData.Body.Splite.P1, Text.Text);
TMyString::sAddOnStr(" ",Text.Text);
AddOnUserCode();
TMyString::sAddOnStr("故障远程确认 ",Text.Text);
//TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.Data1, Text.Text);
NeedDisplayDescp = 1;
NeedDrawCfg = 2;
}else{
FillCtlNum();
TMyString::sAddOnStr(" 故障远程确认 ",Text.Text);
//TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.Data1, Text.Text);
NeedDrawCfg = 2;
}*/
AddOnFaultMsg();
NeedDrawCfg = 4;
break;
case otSetSmokeSensViaCircuit:
FillTextWithDateTime();
FillCtlNumNoSpace();
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
if(EntryTmp.fData.Body.Splite.Data1 == 0){
//TMyString::sAddOnStr(" 回路烟感设置敏感度为 低",Text.Text);
TMyString::sAddOnStr(" 回路烟感设置敏感度为 标准",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 1){
//TMyString::sAddOnStr(" 回路烟感设置敏感度为 中",Text.Text);
TMyString::sAddOnStr(" 回路烟感设置敏感度为 高",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 2){
//TMyString::sAddOnStr(" 回路烟感设置敏感度为 高",Text.Text);
TMyString::sAddOnStr(" 回路烟感设置敏感度为 未定义",Text.Text);
}else{
TMyString::sAddOnStr(" 回路烟感设置敏感度为 未定义",Text.Text);
}
break;
case otSetSmokeSensViaAddr:
FillTextWithDateTime();
FillCtlNumNoSpace();
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn3Dg(EntryTmp.fData.Body.Splite.P1, Text.Text);
TMyString::sAddOnStr(" ",Text.Text);
AddOnUserCode();
if(EntryTmp.fData.Body.Splite.Data1 == 0){
//TMyString::sAddOnStr("烟感设置敏感度 低",Text.Text);
TMyString::sAddOnStr("烟感设置敏感度 标准",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 1){
//TMyString::sAddOnStr("回路烟感设置敏感度为 中",Text.Text);
TMyString::sAddOnStr("烟感设置敏感度 高",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 2){
//TMyString::sAddOnStr(" 回路烟感设置敏感度为 高",Text.Text);
TMyString::sAddOnStr("烟感设置敏感度 未知",Text.Text);
}else{
TMyString::sAddOnStr("烟感设置敏感度 未知",Text.Text);
}
NeedDisplayDescp = 1;
break;
case otCleanUp:
FillTextWithDateTime();
FillCtlNum();
//aPanel->Btn[0].Caption.FromStr(" 清除回路终端设备的登记 ");
//aPanel->Btn[1].Caption.FromStr(" 清除总线盘配置 ");
//aPanel->Btn[2].Caption.FromStr(" 清除多线盘配置 ");
//aPanel->Btn[3].Caption.FromStr(" 清除所有联动表达式 ");
//aPanel->Btn[4].Caption.FromStr(" 清除本机终端设备注释 ");
//aPanel->Btn[5].Caption.FromStr(" 清除组网配置 ");
//aPanel->Btn[6].Caption.FromStr(" 清除网络加载的设备注释 ");
//aPanel->Btn[7].Caption.FromStr(" 预设描述 ");
if(EntryTmp.fData.Body.Splite.Data1 == 0){
TMyString::sAddOnStr("清除回路注册",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 1){
TMyString::sAddOnStr("清除总线盘配置",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 2){
TMyString::sAddOnStr("清除多线盘配置",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 3){
TMyString::sAddOnStr("清除所有联动表达式 ",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 4){
TMyString::sAddOnStr("清除本机终端设备注释",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 5){
TMyString::sAddOnStr("清除组网配置",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 6){
TMyString::sAddOnStr("清除网络加载的设备注释",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 7){
TMyString::sAddOnStr("清除用户码及指派类型",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 0xF0){
TMyString::sAddOnStr("清除回路注册-中途退出",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 0xF3){
TMyString::sAddOnStr("清除联动关系-中途退出",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 0xF4){
TMyString::sAddOnStr("清除注释-中途退出",Text.Text);
}
break;
case otLinkageExpsSaveRemove:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1 == 1){
TMyString::sAddOnStr("保存一个联动表达式 编号:",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 0){
TMyString::sAddOnStr("删除一个联动表达式 编号:",Text.Text);
}
ExpsInx = EntryTmp.fData.Body.Splite.P0;
ExpsInx = ExpsInx * 256;
ExpsInx = ExpsInx + EntryTmp.fData.Body.Splite.P1;
TMyString::sAddOn4Dg(ExpsInx, Text.Text);
break;
case otBusPadModify:
FillTextWithDateTime();
FillCtlNum();
TMyString::sAddOnStr("总线盘:",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
TMyString::sAddOnStr(" 按键号:",Text.Text);
TMyString::sAddOn3Dg(EntryTmp.fData.Body.Splite.P1, Text.Text);
TMyString::sAddOnStr(" 配置",Text.Text);
break;
case otDirectPadModify:
FillTextWithDateTime();
FillCtlNum();
TMyString::sAddOnStr("多线盘:",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
TMyString::sAddOnStr(" 配置",Text.Text);
break;
case otDescpModify:
FillTextWithDateTime();
FillCtlNumNoSpace();
if(EntryTmp.fData.Body.Splite.P0 <= dPORT_MAX_COUNT){
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn3Dg(EntryTmp.fData.Body.Splite.P1, Text.Text);
TMyString::sAddOnStr(" ",Text.Text);
AddOnUserCode();
TMyString::sAddOnStr("设备描述更改 ",Text.Text);
NeedDisplayDescp = 1;
}else
if( (EntryTmp.fData.Body.Splite.P0 >= dADDR_DIRECTPAD_START) && (EntryTmp.fData.Body.Splite.P0 <= dADDR_DIRECTPAD_END) ){
TMyString::sAddOnStr(" ",Text.Text);
AddOnUserCode();
TMyString::sAddOnStr("多线盘:",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0-dADDR_DIRECTPAD_START+1, Text.Text);
TMyString::sAddOnStr(" 节点:",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P1, Text.Text);
TMyString::sAddOnStr(" 描述更改 ",Text.Text);
NeedDisplayDescp = 1;
}
break;
case otPassWdModify:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1 == 2){
TMyString::sAddOnStr(" 二级密码更改",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 3){
TMyString::sAddOnStr(" 三级密码更改",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 12){
TMyString::sAddOnStr(" 系统故障,二级密码写入失败",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 13){
TMyString::sAddOnStr(" 系统故障,三级密码写入失败",Text.Text);
}
break;
case otRegisterByManual:
FillTextWithDateTime();
FillCtlNumNoSpace();
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn3Dg(EntryTmp.fData.Body.Splite.P1, Text.Text);
TMyString::sAddOnStr(" ",Text.Text);
AddOnUserCode();
if(EntryTmp.fData.Body.Splite.Data1){
TMyString::sAddOnStr("手动注册,类型:",Text.Text);
TMyString::sAddOnStr(StrTypeShortName[EntryTmp.fData.Body.Splite.dType],Text.Text);
}else{
TMyString::sAddOnStr("手动注册,删除",Text.Text);
}
break;
case otAddRemoveNwCtl:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1 == 1){
TMyString::sAddOnStr(" 手动添加区域机 ",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 2){
TMyString::sAddOnStr(" 手动删除区域机 ",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 3){
TMyString::sAddOnStr(" 手动添加集中机 ",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 4){
TMyString::sAddOnStr(" 手动删除集中机 ",Text.Text);
}
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
break;
case otRegCanNetwork:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1 == 1){
if(EntryTmp.fData.Body.Splite.P1){
TMyString::sAddOnStr("本集中机注册区域机数量:",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P1, Text.Text);
}else{
TMyString::sAddOnStr("本集中机清除联机区域机",Text.Text);
}
}else
if(EntryTmp.fData.Body.Splite.Data1 == 2){
if(EntryTmp.fData.Body.Splite.P1){
TMyString::sAddOnStr("本区域机联机注册,集中机号:",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
}else{
TMyString::sAddOnStr("本区域机联机清除,集中机号:",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
}
}else
if(EntryTmp.fData.Body.Splite.Data1 == 3){
if(EntryTmp.fData.Body.Splite.P1){
TMyString::sAddOnStr("设置网络共存集中机数量:",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
}else{
TMyString::sAddOnStr("清除网络共存集中机:",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
}
}
break;
case otClearNetworkCfg:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1 == 1){
TMyString::sAddOnStr("清除所有区域机",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 2){
TMyString::sAddOnStr("清除挂载的集中机",Text.Text);
}
break;
case otBroadcastVa:
FillTextWithDateTime();
FillCtlNum();
TMyString::sAddOnStr("设置广播与声光 路径:",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn3Dg(EntryTmp.fData.Body.Splite.P1, Text.Text);
if(EntryTmp.fData.Body.Splite.Data1 == 0){
TMyString::sAddOnStr(" 并行模式",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 1){
TMyString::sAddOnStr(" 交替模式",Text.Text);
}
break;
case otSetAllowState:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1 == 3)TMyString::sAddOnStr("自动允许-手动允许",Text.Text);
else if(EntryTmp.fData.Body.Splite.Data1 == 1)TMyString::sAddOnStr("自动允许-手动禁止",Text.Text);
else if(EntryTmp.fData.Body.Splite.Data1 == 2)TMyString::sAddOnStr("自动禁止-手动允许",Text.Text);
else TMyString::sAddOnStr("自动禁止-手动禁止",Text.Text);
break;
case otRemoteSetAllowState:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1 == 3)TMyString::sAddOnStr("自动允许-手动允许-集中机呼叫执行",Text.Text);
else if(EntryTmp.fData.Body.Splite.Data1 == 1)TMyString::sAddOnStr("自动允许-手动禁止-集中机呼叫执行",Text.Text);
else if(EntryTmp.fData.Body.Splite.Data1 == 2)TMyString::sAddOnStr("自动禁止-手动允许-集中机呼叫执行",Text.Text);
else TMyString::sAddOnStr("自动禁止-手动禁止-集中机呼叫执行",Text.Text);
break;
case otReportAllowState:
FillTextWithDateTime();
FillCtlNum();
if(LanguageEnCn==0){
if(EntryTmp.fData.Body.Splite.Data1 == 3)TMyString::sAddOnStr("自动允许-手动允许-区域机报告",Text.Text);
else if(EntryTmp.fData.Body.Splite.Data1 == 1)TMyString::sAddOnStr("自动允许-手动禁止-区域机报告",Text.Text);
else if(EntryTmp.fData.Body.Splite.Data1 == 1)TMyString::sAddOnStr("自动禁止-手动允许-区域机报告",Text.Text);
else TMyString::sAddOnStr("自动禁止-手动禁止-区域机报告",Text.Text);
}else{
if(EntryTmp.fData.Body.Splite.Data1 == 3)TMyString::sAddOnStr("自动允许-手动允许-区域机报告",Text.Text);
else if(EntryTmp.fData.Body.Splite.Data1 == 1)TMyString::sAddOnStr("自动允许-手动禁止-区域机报告",Text.Text);
else if(EntryTmp.fData.Body.Splite.Data1 == 1)TMyString::sAddOnStr("自动禁止-手动允许-区域机报告",Text.Text);
else TMyString::sAddOnStr("自动禁止-手动禁止-区域机报告",Text.Text);
}
break;
}
}
if(0){
data = ShowInx +1;
d = data/100000;
e = d % 10;
Text.Text[0] = e + '0';
d = data/10000;
e = d % 10;
Text.Text[1] = e + '0';
d = data/1000;
e = d % 10;
Text.Text[2] = e + '0';
d = data/100;
e = d % 10;
Text.Text[3] = e + '0';
d = data/10;
e = d % 10;
Text.Text[4] = e + '0';
e = data % 10;
Text.Text[5] = e + '0';
Text.Text[6] = ' ';
Text.Text[7] = EntryTmp.fData.Body.Splite.Month / 16 % 10 + '0';
Text.Text[8] = EntryTmp.fData.Body.Splite.Month % 16 + '0';
Text.Text[9] = '-';
Text.Text[10] = EntryTmp.fData.Body.Splite.Day / 16 % 10 + '0';
Text.Text[11] = EntryTmp.fData.Body.Splite.Day % 16 + '0';
Text.Text[12] = ' ';
Text.Text[13] = EntryTmp.fData.Body.Splite.Hour / 16 % 10 + '0';
Text.Text[14] = EntryTmp.fData.Body.Splite.Hour % 16 + '0';
Text.Text[15] = ':';
Text.Text[16] = EntryTmp.fData.Body.Splite.Minute / 16 % 10 + '0';
Text.Text[17] = EntryTmp.fData.Body.Splite.Minute % 16 + '0';
Text.Text[18] = ':';
Text.Text[19] = EntryTmp.fData.Body.Splite.Second / 16 % 10 + '0';
Text.Text[20] = EntryTmp.fData.Body.Splite.Second % 16 + '0';
Text.Text[21] = ' ';
data = EntryTmp.fData.Body.Splite.PCtlNum;
d = data/10;
e = d % 10;
Text.Text[22] = e + '0';
e = data % 10;
Text.Text[23] = e + '0';
Text.Text[24] = '-';
data = EntryTmp.fData.Body.Splite.P0;
d = data/10;
e = d % 10;
Text.Text[25] = e + '0';
e = data % 10;
Text.Text[26] = e + '0';
Text.Text[27] = '-';
data = EntryTmp.fData.Body.Splite.P1;
d = data/100;
e = d % 10;
Text.Text[28] = e + '0';
d = data/10;
e = d % 10;
Text.Text[29] = e + '0';
e = data % 10;
Text.Text[30] = e + '0';
Text.Text[31] = ' ';
aP0 = EntryTmp.fData.Body.Splite.P0;
aP1 = EntryTmp.fData.Body.Splite.P1;
if( (aP0 >0) && (aP0 < 64) ){
if(aP1 >0){
if(aP0 < 40){
aP0--;
data = Port[aP0].UcList[aP1-1].Full;
}
}
}
d = data/10000;
e = d % 10;
Text.Text[32] = e + '0';
d = data/1000;
e = d % 10;
Text.Text[33] = e + '0';
d = data/100;
e = d % 10;
Text.Text[34] = e + '0';
d = data/10;
e = d % 10;
Text.Text[35] = e + '0';
e = data % 10;
Text.Text[36] = e + '0';
Text.Text[37] = ' ';
Text.Text[38] = 0;
aType = EntryTmp.fData.Body.Splite.dType;
TMyString::sAddOnStr(StrTypeShortName[aType],Text.Text);
//TMyString::sAddOnStr(" ",Text);
//TMyString::sAddOnStrL32(EntryTmp.fData.Descp, Text);
}
return NeedDisplayDescp;
}
int TQueryMsgOperate::FillTextEN(int aInx, int ShowInx)
{
volatile unsigned int SdAddr, Addr;
unsigned int d,e;
unsigned int data;
unsigned char aP0;
unsigned char aP1;
unsigned char aType;
unsigned int ExpsInx;
NeedDisplayDescp = 0;
NeedDrawCfg = 0;
//Operate History
Addr = Record.Buf4Operate.SdramAddrStart + aInx * 64;
if(Addr >= (dSdramOperateHistoryContentBaseAddr + dSdramHistoryBytesLength) )
SdAddr = Addr - dSdramHistoryBytesLength;
else
SdAddr = Addr;
for(d=2; d<14; d++){
EntryTmp.D32[d] = *(volatile unsigned int *)(SdAddr + d * 4);
}
data = ShowInx +1;
d = data/100000;
e = d % 10;
Text.Text[0] = e + '0';
d = data/10000;
e = d % 10;
Text.Text[1] = e + '0';
d = data/1000;
e = d % 10;
Text.Text[2] = e + '0';
d = data/100;
e = d % 10;
Text.Text[3] = e + '0';
d = data/10;
e = d % 10;
Text.Text[4] = e + '0';
e = data % 10;
Text.Text[5] = e + '0';
Text.Text[6] = ' ';
Text.Text[7] = '\0';
if(EntryTmp.fData.Body.Splite.mType == etOperate){
switch(EntryTmp.fData.Body.Splite.Data0){
case otPowerOff:
FillText4PowerOff();
break;
case otPowerOn:
FillText4PowerUp();
break;
case otReset:
FillText4MsgReset(EntryTmp.fData.Body.Splite.Data1);
break;
case otMute:
FillText4MsgMute();
break;
case otMask:
FillText4MsgMask();
NeedDisplayDescp =1;
NeedDrawCfg =0xB1;
break;
case otUnMask:
FillText4MsgUnMask();
NeedDisplayDescp =1;
NeedDrawCfg =0xB0;
break;
case otRegiste:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1 == 1){
TMyString::sAddOnStr("Start Register",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 2){
TMyString::sAddOnStr("Regist Succeed",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 3){
TMyString::sAddOnStr("Call Slaver To Register",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 4){
TMyString::sAddOnStr("Do Register Call By Master",Text.Text);
}
break;
case otUnRegiste:
break;
case otSetCanNetwork:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1 == 1){
TMyString::sAddOnStr("Set To Master:",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 2){
TMyString::sAddOnStr("Set To Slaver:",Text.Text);
}else{
TMyString::sAddOnStr("Set To Single:",Text.Text);
}
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
break;
case otCfgBoard:
break;
case otCfgCrt:
break;
case otCfgPriter:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1 == 0){
TMyString::sAddOnStr("Print Off ",Text.Text);
}else{
TMyString::sAddOnStr("Print On ",Text.Text);
}
if(1){
TMyString::sAddOnStr("Print:",Text.Text);
data = 0;
if(EntryTmp.fData.Body.Splite.P0 & 0x01){
TMyString::sAddOnStr("All",Text.Text);
data++;
}
if(EntryTmp.fData.Body.Splite.P0 & 0x02){
if(data)TMyString::sAddOnStr("+",Text.Text);
TMyString::sAddOnStr("Fire",Text.Text);
data++;
}
if(EntryTmp.fData.Body.Splite.P0 & 0x04){
if(data)TMyString::sAddOnStr("+",Text.Text);
TMyString::sAddOnStr("Link",Text.Text);
data++;
}
if(EntryTmp.fData.Body.Splite.P0 & 0x08){
if(data)TMyString::sAddOnStr("+",Text.Text);
TMyString::sAddOnStr("Supv",Text.Text);
data++;
}
if(EntryTmp.fData.Body.Splite.P0 & 0x10){
if(data)TMyString::sAddOnStr("+",Text.Text);
TMyString::sAddOnStr("Fail",Text.Text);
data++;
}
if(EntryTmp.fData.Body.Splite.P0 & 0x20){
if(data)TMyString::sAddOnStr("+",Text.Text);
TMyString::sAddOnStr("Mask",Text.Text);
data++;
}
if(EntryTmp.fData.Body.Splite.P0 & 0x40){
if(data)TMyString::sAddOnStr("+",Text.Text);
TMyString::sAddOnStr("OPR.",Text.Text);
data++;
}
if(EntryTmp.fData.Body.Splite.P0 & 0x80){
if(data)TMyString::sAddOnStr("+",Text.Text);
TMyString::sAddOnStr("Oth.",Text.Text);
data++;
}
if(data == 0){
TMyString::sAddOnStr("Not Print Any Type",Text.Text);
}
}
break;
case otCfgDevice:
NeedDisplayDescp = 1;
break;
case otCfgDateTime:
FillText4MsgDateTimeSet();
break;
case otCfgPermissionAllow:
break;
case otAllowSet:
FillText4AllowSet();
break;
case otAlramSetOnOff:
FillText4AlramSetOnOff();
break;
case otBusPadOn:
FillText4BusPadOn();
break;
case otBusPadOff:
FillText4BusPadOff();
break;
case otDirectPadManualAllowOn:
FillText4DirectPadManualAllowOn();
break;
case otDirectPadManualAllowOff:
FillText4DirectPadManualAllowOff();
break;
case otDirectPadNodeOn:
FillText4DirectPadNodeOn();
break;
case otDirectPadNodeOff:
FillText4DirectPadNodeOff();
break;
case otUserCheck:
FillText4UserCheck();
break;
case otLinkageGo:
FillText4LinkageGo(EntryTmp.fData.Body.Splite.Data1);
break;
case otSetNwTime:
FillTextWithDateTime();
FillCtlNum();
TMyString::sAddOnStr("Set Salver Datetime",Text.Text);
break;
case otReqNwTime:
FillTextWithDateTime();
FillCtlNum();
TMyString::sAddOnStr("Req Datetime To Master",Text.Text);
break;
case otSelfCheck:
FillTextWithDateTime();
FillCtlNum();
TMyString::sAddOnStr("Selfcheck",Text.Text);
break;
case otSetManualAllowState:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1)TMyString::sAddOnStr("Enable Manual",Text.Text);
else TMyString::sAddOnStr("Disable Manual",Text.Text);
break;
case otSetAutoAllowState:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1)TMyString::sAddOnStr("Enable Auto",Text.Text);
else TMyString::sAddOnStr("Disable Auto",Text.Text);
break;
case otRemoteSetManualAllowState:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1)TMyString::sAddOnStr("Enable Manual(Master Call)",Text.Text);
else TMyString::sAddOnStr("Disable Manual(Master Call)",Text.Text);
break;
case otRemoteSetAutoAllowState:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1)TMyString::sAddOnStr("Enable Auto(Master Call)",Text.Text);
else TMyString::sAddOnStr("Disable Auto(Master Call)",Text.Text);
break;
case otReportManualAllowState:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1)TMyString::sAddOnStr("Enable Manual(Slaver Report)",Text.Text);
else TMyString::sAddOnStr("Disable Manual(Slaver Report)",Text.Text);
break;
case otReportAutoAllowState:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1)TMyString::sAddOnStr("Enable Auto(Slaver Report)",Text.Text);
else TMyString::sAddOnStr("Disable Auto(Slaver Report)",Text.Text);
break;
case otFireConfirm:
FillTextWithDateTime();
/*FillCtlNumNoSpace();
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn3Dg(EntryTmp.fData.Body.Splite.P1, Text.Text);
TMyString::sAddOnStr(" ",Text.Text);
AddOnUserCode();
TMyString::sAddOnStr("火警确认 ",Text.Text);*/
AddOnFireMsg();
NeedDisplayDescp = 1;
NeedDrawCfg =1;
break;
case otFireSimConfirm:
FillTextWithDateTime();
/*FillCtlNumNoSpace();
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn3Dg(EntryTmp.fData.Body.Splite.P1, Text.Text);
TMyString::sAddOnStr(" ",Text.Text);
AddOnUserCode();
TMyString::sAddOnStr("火警确认 ",Text.Text);*/
AddOnFireMsg();
NeedDisplayDescp = 1;
NeedDrawCfg =11;
break;
case otFireRemoteConfirm:
FillTextWithDateTime();
/*FillCtlNumNoSpace();
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn3Dg(EntryTmp.fData.Body.Splite.P1, Text.Text);
TMyString::sAddOnStr(" ",Text.Text);
AddOnUserCode();
TMyString::sAddOnStr("火警远程确认 ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.Data1, Text.Text);*/
AddOnFireMsg();
NeedDisplayDescp = 3;
NeedDrawCfg = 3;
break;
case otFireSimRemoteConfirm:
FillTextWithDateTime();
/*FillCtlNumNoSpace();
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn3Dg(EntryTmp.fData.Body.Splite.P1, Text.Text);
TMyString::sAddOnStr(" ",Text.Text);
AddOnUserCode();
TMyString::sAddOnStr("火警远程确认 ",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.Data1, Text.Text);*/
AddOnFireMsg();
NeedDisplayDescp = 3;
NeedDrawCfg = 13;
break;
case otFaultConfirm:
FillTextWithDateTime();
if( (EntryTmp.fData.Body.Splite.Data1 & 0xF0) == 0){
NeedDisplayDescp = 1;
}
AddOnFaultMsg();
NeedDrawCfg = 2;
break;
case otFaultRemoteConfirm:
FillTextWithDateTime();
if( (EntryTmp.fData.Body.Splite.Data1 & 0xF0) == 0){
NeedDisplayDescp = 1;
}
/*if( (EntryTmp.fData.Body.Splite.Data1 & 0xF0) == 0){
FillCtlNumNoSpace();
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn3Dg(EntryTmp.fData.Body.Splite.P1, Text.Text);
TMyString::sAddOnStr(" ",Text.Text);
AddOnUserCode();
TMyString::sAddOnStr("故障远程确认 ",Text.Text);
//TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.Data1, Text.Text);
NeedDisplayDescp = 1;
NeedDrawCfg = 2;
}else{
FillCtlNum();
TMyString::sAddOnStr(" 故障远程确认 ",Text.Text);
//TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.Data1, Text.Text);
NeedDrawCfg = 2;
}*/
AddOnFaultMsg();
NeedDrawCfg = 4;
break;
case otSetSmokeSensViaCircuit:
FillTextWithDateTime();
FillCtlNumNoSpace();
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
if(EntryTmp.fData.Body.Splite.Data1 == 0){
TMyString::sAddOnStr(" Set Smoke detector:Std",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 1){
TMyString::sAddOnStr(" Set Smoke detector:High",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 2){
TMyString::sAddOnStr(" Set Smoke detector:ExHigh",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 3){
TMyString::sAddOnStr(" Set Smoke detector:Ultra",Text.Text);
}else{
TMyString::sAddOnStr(" Set Smoke detector:Unknow",Text.Text);
}
break;
case otSetSmokeSensViaAddr:
FillTextWithDateTime();
FillCtlNumNoSpace();
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn3Dg(EntryTmp.fData.Body.Splite.P1, Text.Text);
TMyString::sAddOnStr(" ",Text.Text);
AddOnUserCode();
if(EntryTmp.fData.Body.Splite.Data1 == 0){
TMyString::sAddOnStr("Set Smoke detector:Std",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 1){
TMyString::sAddOnStr("Set Smoke detector:High",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 2){
TMyString::sAddOnStr("Set Smoke detector:ExHigh",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 3){
TMyString::sAddOnStr("Set Smoke detector:Ultra",Text.Text);
}else{
TMyString::sAddOnStr("Set Smoke detector:Unknow",Text.Text);
}
NeedDisplayDescp = 1;
break;
case otCleanUp:
FillTextWithDateTime();
FillCtlNum();
//aPanel->Btn[0].Caption.FromStr(" 清除回路终端设备的登记 ");
//aPanel->Btn[1].Caption.FromStr(" 清除总线盘配置 ");
//aPanel->Btn[2].Caption.FromStr(" 清除多线盘配置 ");
//aPanel->Btn[3].Caption.FromStr(" 清除所有联动表达式 ");
//aPanel->Btn[4].Caption.FromStr(" 清除本机终端设备注释 ");
//aPanel->Btn[5].Caption.FromStr(" 清除组网配置 ");
//aPanel->Btn[6].Caption.FromStr(" 清除网络加载的设备注释 ");
//aPanel->Btn[7].Caption.FromStr(" 预设描述 ");
if(EntryTmp.fData.Body.Splite.Data1 == 0){
TMyString::sAddOnStr("Clear Loop Regist",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 1){
TMyString::sAddOnStr("Clear Bus Pnl Config",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 2){
TMyString::sAddOnStr("Clear Direct Config",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 3){
TMyString::sAddOnStr("Clear All Linkage Expression ",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 4){
TMyString::sAddOnStr("Clear All Endpoint Description",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 5){
TMyString::sAddOnStr("Clear LAN Config",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 6){
TMyString::sAddOnStr("Clear LAN Description",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 7){
TMyString::sAddOnStr("Clear Usercode & Assigntype",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 0xF0){
TMyString::sAddOnStr("Blocking,Clear Loop Regist",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 0xF3){
TMyString::sAddOnStr("Blocking,Clear All Linkage Expressions",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 0xF4){
TMyString::sAddOnStr("Blocking,Clear Descriptions",Text.Text);
}
break;
case otLinkageExpsSaveRemove:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1 == 1){
TMyString::sAddOnStr("Save Linkage Exp. Num:",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 0){
TMyString::sAddOnStr("Delete Linkage Exp. Num:",Text.Text);
}
ExpsInx = EntryTmp.fData.Body.Splite.P0;
ExpsInx = ExpsInx * 256;
ExpsInx = ExpsInx + EntryTmp.fData.Body.Splite.P1;
TMyString::sAddOn4Dg(ExpsInx, Text.Text);
break;
case otBusPadModify:
FillTextWithDateTime();
FillCtlNum();
TMyString::sAddOnStr("BusPnl:",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
TMyString::sAddOnStr(" Key:",Text.Text);
TMyString::sAddOn3Dg(EntryTmp.fData.Body.Splite.P1, Text.Text);
TMyString::sAddOnStr(" Config",Text.Text);
break;
case otDirectPadModify:
FillTextWithDateTime();
FillCtlNum();
TMyString::sAddOnStr("Direct:",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
TMyString::sAddOnStr(" Config",Text.Text);
break;
case otDescpModify:
FillTextWithDateTime();
FillCtlNumNoSpace();
if(EntryTmp.fData.Body.Splite.P0 <= dPORT_MAX_COUNT){
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn3Dg(EntryTmp.fData.Body.Splite.P1, Text.Text);
TMyString::sAddOnStr(" ",Text.Text);
AddOnUserCode();
TMyString::sAddOnStr("Changed Device Descp ",Text.Text);
NeedDisplayDescp = 1;
}else
if( (EntryTmp.fData.Body.Splite.P0 >= dADDR_DIRECTPAD_START) && (EntryTmp.fData.Body.Splite.P0 <= dADDR_DIRECTPAD_END) ){
TMyString::sAddOnStr(" ",Text.Text);
AddOnUserCode();
TMyString::sAddOnStr("Direct:",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0-dADDR_DIRECTPAD_START+1, Text.Text);
TMyString::sAddOnStr(" Node:",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P1, Text.Text);
TMyString::sAddOnStr(" Changed Descp ",Text.Text);
NeedDisplayDescp = 1;
}
break;
break;
case otPassWdModify:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1 == 2){
TMyString::sAddOnStr(" Change Password II",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 3){
TMyString::sAddOnStr(" Change Password III",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 12){
TMyString::sAddOnStr(" Sys Fault,Fail Password II",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 13){
TMyString::sAddOnStr(" Sys Fault,Fail Password III",Text.Text);
}
break;
case otRegisterByManual:
FillTextWithDateTime();
FillCtlNumNoSpace();
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn3Dg(EntryTmp.fData.Body.Splite.P1, Text.Text);
TMyString::sAddOnStr(" ",Text.Text);
AddOnUserCode();
if(EntryTmp.fData.Body.Splite.Data1){
TMyString::sAddOnStr("Manual Reg Type:",Text.Text);
TMyString::sAddOnStr(StrTypeShortNameEn[EntryTmp.fData.Body.Splite.dType],Text.Text);
}else{
TMyString::sAddOnStr("Manual Reg Delete",Text.Text);
}
break;
case otAddRemoveNwCtl:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1 == 1){
TMyString::sAddOnStr(" Manual Add Slaver ",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 2){
TMyString::sAddOnStr(" Manual Del Slaver ",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 3){
TMyString::sAddOnStr(" Manual Add Master ",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 4){
TMyString::sAddOnStr(" Manual Del Master ",Text.Text);
}
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
break;
case otRegCanNetwork:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1 == 1){
if(EntryTmp.fData.Body.Splite.P1){
TMyString::sAddOnStr("Slaver Count In Master:",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P1, Text.Text);
}else{
TMyString::sAddOnStr("Cleared Slavers In Master",Text.Text);
}
}else
if(EntryTmp.fData.Body.Splite.Data1 == 2){
if(EntryTmp.fData.Body.Splite.P1){
TMyString::sAddOnStr("Inject Num Of Master::",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
}else{
TMyString::sAddOnStr("Cleared Master Conection",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
}
}else
if(EntryTmp.fData.Body.Splite.Data1 == 3){
if(EntryTmp.fData.Body.Splite.P1){
TMyString::sAddOnStr("Set Master Count:",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
}else{
TMyString::sAddOnStr("Clear iConnected Master",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
}
}
break;
case otClearNetworkCfg:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1 == 1){
TMyString::sAddOnStr("Clear All Slaver",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 2){
TMyString::sAddOnStr("Clear Link Master",Text.Text);
}
break;
case otBroadcastVa:
FillTextWithDateTime();
FillCtlNum();
TMyString::sAddOnStr("Set BCT & SL Path:",Text.Text);
TMyString::sAddOn2Dg(EntryTmp.fData.Body.Splite.P0, Text.Text);
TMyString::sAddOnStr("-",Text.Text);
TMyString::sAddOn3Dg(EntryTmp.fData.Body.Splite.P1, Text.Text);
if(EntryTmp.fData.Body.Splite.Data1 == 0){
TMyString::sAddOnStr(" Parallel Mode",Text.Text);
}else
if(EntryTmp.fData.Body.Splite.Data1 == 1){
TMyString::sAddOnStr(" Alternate Mode",Text.Text);
}
break;
case otSetAllowState:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1 == 3)TMyString::sAddOnStr("En Auto,En Manual",Text.Text);
else if(EntryTmp.fData.Body.Splite.Data1 == 1)TMyString::sAddOnStr("En Auto,Dis Manual",Text.Text);
else if(EntryTmp.fData.Body.Splite.Data1 == 2)TMyString::sAddOnStr("Dis Auto,En Manual",Text.Text);
else TMyString::sAddOnStr("Dis Auto,Dis Manual",Text.Text);
break;
case otRemoteSetAllowState:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1 == 3)TMyString::sAddOnStr("En Auto,En Manual(Master Call)",Text.Text);
else if(EntryTmp.fData.Body.Splite.Data1 == 1)TMyString::sAddOnStr("En Auto,Dis Manual(Master Call)",Text.Text);
else if(EntryTmp.fData.Body.Splite.Data1 == 2)TMyString::sAddOnStr("Dis Auto,En Manual(Master Call)",Text.Text);
else TMyString::sAddOnStr("Dis Auto,Dis Manual(Master Call)",Text.Text);
break;
case otReportAllowState:
FillTextWithDateTime();
FillCtlNum();
if(EntryTmp.fData.Body.Splite.Data1 == 3)TMyString::sAddOnStr("En Auto,En Manual(Slaver Report)",Text.Text);
else if(EntryTmp.fData.Body.Splite.Data1 == 1)TMyString::sAddOnStr("En Auto,Dis Manual(Slaver Report)",Text.Text);
else if(EntryTmp.fData.Body.Splite.Data1 == 1)TMyString::sAddOnStr("Dis Auto,En Manual(Slaver Report)",Text.Text);
else TMyString::sAddOnStr("Dis Auto,Dis Manual(Slaver Report)",Text.Text);
break;
}
}
if(0){
data = ShowInx +1;
d = data/100000;
e = d % 10;
Text.Text[0] = e + '0';
d = data/10000;
e = d % 10;
Text.Text[1] = e + '0';
d = data/1000;
e = d % 10;
Text.Text[2] = e + '0';
d = data/100;
e = d % 10;
Text.Text[3] = e + '0';
d = data/10;
e = d % 10;
Text.Text[4] = e + '0';
e = data % 10;
Text.Text[5] = e + '0';
Text.Text[6] = ' ';
Text.Text[7] = EntryTmp.fData.Body.Splite.Month / 16 % 10 + '0';
Text.Text[8] = EntryTmp.fData.Body.Splite.Month % 16 + '0';
Text.Text[9] = '-';
Text.Text[10] = EntryTmp.fData.Body.Splite.Day / 16 % 10 + '0';
Text.Text[11] = EntryTmp.fData.Body.Splite.Day % 16 + '0';
Text.Text[12] = ' ';
Text.Text[13] = EntryTmp.fData.Body.Splite.Hour / 16 % 10 + '0';
Text.Text[14] = EntryTmp.fData.Body.Splite.Hour % 16 + '0';
Text.Text[15] = ':';
Text.Text[16] = EntryTmp.fData.Body.Splite.Minute / 16 % 10 + '0';
Text.Text[17] = EntryTmp.fData.Body.Splite.Minute % 16 + '0';
Text.Text[18] = ':';
Text.Text[19] = EntryTmp.fData.Body.Splite.Second / 16 % 10 + '0';
Text.Text[20] = EntryTmp.fData.Body.Splite.Second % 16 + '0';
Text.Text[21] = ' ';
data = EntryTmp.fData.Body.Splite.PCtlNum;
d = data/10;
e = d % 10;
Text.Text[22] = e + '0';
e = data % 10;
Text.Text[23] = e + '0';
Text.Text[24] = '-';
data = EntryTmp.fData.Body.Splite.P0;
d = data/10;
e = d % 10;
Text.Text[25] = e + '0';
e = data % 10;
Text.Text[26] = e + '0';
Text.Text[27] = '-';
data = EntryTmp.fData.Body.Splite.P1;
d = data/100;
e = d % 10;
Text.Text[28] = e + '0';
d = data/10;
e = d % 10;
Text.Text[29] = e + '0';
e = data % 10;
Text.Text[30] = e + '0';
Text.Text[31] = ' ';
aP0 = EntryTmp.fData.Body.Splite.P0;
aP1 = EntryTmp.fData.Body.Splite.P1;
if( (aP0 >0) && (aP0 < 64) ){
if(aP1 >0){
if(aP0 < 40){
aP0--;
data = Port[aP0].UcList[aP1-1].Full;
}
}
}
d = data/10000;
e = d % 10;
Text.Text[32] = e + '0';
d = data/1000;
e = d % 10;
Text.Text[33] = e + '0';
d = data/100;
e = d % 10;
Text.Text[34] = e + '0';
d = data/10;
e = d % 10;
Text.Text[35] = e + '0';
e = data % 10;
Text.Text[36] = e + '0';
Text.Text[37] = ' ';
Text.Text[38] = 0;
aType = EntryTmp.fData.Body.Splite.dType;
TMyString::sAddOnStr(StrTypeShortNameEn[aType],Text.Text);
//TMyString::sAddOnStr(" ",Text);
//TMyString::sAddOnStrL32(EntryTmp.fData.Descp, Text);
}
return NeedDisplayDescp;
}
int TQueryMsgOperate::FillText(int aInx, int ShowInx)
{
if(LanguageEnCn==0){
return FillTextCN(aInx, ShowInx);
}else{
return FillTextEN(aInx, ShowInx);
}
}
void TQueryMsgOperate::FillDescpText(int aInx)
{
volatile unsigned int SdAddr, Addr;
unsigned int d,e;
unsigned int data;
unsigned char aP0;
unsigned char aP1;
unsigned char aType;
const char * tText;
if(NeedDrawCfg == 1){
if(LanguageEnCn==0)tText=cFireCfm; else tText=cFireCfmEn;
for(d=0; d<22; d++)Text.Text[d] = tText[d];
Text.Text[22] = '\0';
/*if((EntryTmp.fData.Body.Splite.Data1 & 0xF0) == 0x0){
TMyString::sAddOnStr(" ",Text.Text);
aP0 = EntryTmp.fData.Body.Splite.P0;
if( (aP0 >0) && (aP0 <=40) ){
aType = EntryTmp.fData.Body.Splite.dType;
TMyString::sAddOnStr(StrTypeShortName[aType],Text.Text);
}else
if( (aP0 >= dADDR_DIRECTPAD_START) && (aP0 <=dADDR_DIRECTPAD_START) ){
TMyString::sAddOnStr("多线盘节点 ",Text.Text);
}
}*/
TMyString::sFillFixLen(Text.Text, 28);
}else
if(NeedDrawCfg == 11){
if(LanguageEnCn==0)tText=cFireSimCfm; else tText=cFireSimCfmEn;
for(d=0; d<22; d++)Text.Text[d] = tText[d];
Text.Text[22] = '\0';
/*if((EntryTmp.fData.Body.Splite.Data1 & 0xF0) == 0x0){
TMyString::sAddOnStr(" ",Text.Text);
aP0 = EntryTmp.fData.Body.Splite.P0;
if( (aP0 >0) && (aP0 <=40) ){
aType = EntryTmp.fData.Body.Splite.dType;
TMyString::sAddOnStr(StrTypeShortName[aType],Text.Text);
}else
if( (aP0 >= dADDR_DIRECTPAD_START) && (aP0 <=dADDR_DIRECTPAD_START) ){
TMyString::sAddOnStr("多线盘节点 ",Text.Text);
}
}*/
TMyString::sFillFixLen(Text.Text, 28);
}else
if(NeedDrawCfg == 2){
if(LanguageEnCn==0)tText=cFaultCfm; else tText=cFaultCfmEn;
for(d=0; d<22; d++)Text.Text[d] = tText[d];
Text.Text[22] = '\0';
/*if((EntryTmp.fData.Body.Splite.Data1 & 0xF0) == 0x0){
TMyString::sAddOnStr(" ",Text.Text);
aP0 = EntryTmp.fData.Body.Splite.P0;
if( (aP0 >0) && (aP0 <=40) ){
aType = EntryTmp.fData.Body.Splite.dType;
TMyString::sAddOnStr(StrTypeShortName[aType],Text.Text);
}else
if( (aP0 >= dADDR_DIRECTPAD_START) && (aP0 <=dADDR_DIRECTPAD_START) ){
TMyString::sAddOnStr("多线盘节点 ",Text.Text);
}
}*/
TMyString::sFillFixLen(Text.Text, 28);
}else
if(NeedDrawCfg == 3){
if(LanguageEnCn==0)tText=cFireRemoteCfm; else tText=cFireRemoteCfmEn;
for(d=0; d<22; d++)Text.Text[d] = tText[d];
Text.Text[22] = '\0';
/*if((EntryTmp.fData.Body.Splite.Data1 & 0xF0) == 0x0){
TMyString::sAddOnStr(" ",Text.Text);
aP0 = EntryTmp.fData.Body.Splite.P0;
if( (aP0 >0) && (aP0 <=40) ){
aType = EntryTmp.fData.Body.Splite.dType;
TMyString::sAddOnStr(StrTypeShortName[aType],Text.Text);
}else
if( (aP0 >= dADDR_DIRECTPAD_START) && (aP0 <=dADDR_DIRECTPAD_START) ){
TMyString::sAddOnStr("多线盘节点 ",Text.Text);
}
}*/
TMyString::sFillFixLen(Text.Text, 28);
}else
if(NeedDrawCfg == 13){
if(LanguageEnCn==0)tText=cFireSimRemoteCfm;else tText=cFireSimRemoteCfmEn;
for(d=0; d<22; d++)Text.Text[d] = tText[d];
Text.Text[22] = '\0';
/*if((EntryTmp.fData.Body.Splite.Data1 & 0xF0) == 0x0){
TMyString::sAddOnStr(" ",Text.Text);
aP0 = EntryTmp.fData.Body.Splite.P0;
if( (aP0 >0) && (aP0 <=40) ){
aType = EntryTmp.fData.Body.Splite.dType;
TMyString::sAddOnStr(StrTypeShortName[aType],Text.Text);
}else
if( (aP0 >= dADDR_DIRECTPAD_START) && (aP0 <=dADDR_DIRECTPAD_START) ){
TMyString::sAddOnStr("多线盘节点 ",Text.Text);
}
}*/
TMyString::sFillFixLen(Text.Text, 28);
}else
if(NeedDrawCfg == 4){
if(LanguageEnCn==0)tText=cFaultRemoteCfm;else tText=cFaultRemoteCfmEn;
for(d=0; d<22; d++)Text.Text[d] = tText[d];
Text.Text[22] = '\0';
/*if((EntryTmp.fData.Body.Splite.Data1 & 0xF0) == 0x0){
TMyString::sAddOnStr(" ",Text.Text);
aP0 = EntryTmp.fData.Body.Splite.P0;
if( (aP0 >0) && (aP0 <=40) ){
aType = EntryTmp.fData.Body.Splite.dType;
TMyString::sAddOnStr(StrTypeShortName[aType],Text.Text);
}else
if( (aP0 >= dADDR_DIRECTPAD_START) && (aP0 <=dADDR_DIRECTPAD_START) ){
TMyString::sAddOnStr("多线盘节点 ",Text.Text);
}
}*/
TMyString::sFillFixLen(Text.Text, 28);
}else
if(NeedDrawCfg == 0xB1){
if(LanguageEnCn==0)tText=cMask;else tText=cMaskEn;
for(d=0; d<22; d++)Text.Text[d] = tText[d];
Text.Text[22] = '\0';
/*if((EntryTmp.fData.Body.Splite.Data1 & 0xF0) == 0x0){
TMyString::sAddOnStr(" ",Text.Text);
aP0 = EntryTmp.fData.Body.Splite.P0;
if( (aP0 >0) && (aP0 <=40) ){
aType = EntryTmp.fData.Body.Splite.dType;
TMyString::sAddOnStr(StrTypeShortName[aType],Text.Text);
}else
if( (aP0 >= dADDR_DIRECTPAD_START) && (aP0 <=dADDR_DIRECTPAD_START) ){
TMyString::sAddOnStr("多线盘节点 ",Text.Text);
}
}*/
TMyString::sFillFixLen(Text.Text, 28);
}else
if(NeedDrawCfg == 0xB0){
if(LanguageEnCn==0)tText=cUnMask;else tText=cUnMaskEn;
for(d=0; d<22; d++)Text.Text[d] = tText[d];
Text.Text[22] = '\0';
/*if((EntryTmp.fData.Body.Splite.Data1 & 0xF0) == 0x0){
TMyString::sAddOnStr(" ",Text.Text);
aP0 = EntryTmp.fData.Body.Splite.P0;
if( (aP0 >0) && (aP0 <=40) ){
aType = EntryTmp.fData.Body.Splite.dType;
TMyString::sAddOnStr(StrTypeShortName[aType],Text.Text);
}else
if( (aP0 >= dADDR_DIRECTPAD_START) && (aP0 <=dADDR_DIRECTPAD_START) ){
TMyString::sAddOnStr("多线盘节点 ",Text.Text);
}
}*/
TMyString::sFillFixLen(Text.Text, 28);
}else{
Text.D32[0] = 0x20202020;
Text.D32[1] = 0x20202020;
Text.D32[2] = 0x20202020;
Text.D32[3] = 0x20202020;
Text.D32[4] = 0x20202020;
Text.D32[5] = 0x20202020;
Text.D32[6] = 0x20202020;
Text.D32[7] = 0x20202020;
Text.D32[8] = 0;
}
if(NeedDisplayDescp){
//Operate History
Addr = Record.Buf4Operate.SdramAddrStart + aInx * 64;
if(Addr >= (dSdramOperateHistoryContentBaseAddr + dSdramHistoryBytesLength) )
SdAddr = Addr - dSdramHistoryBytesLength;
else
SdAddr = Addr;
for(d=7; d<15; d++){
Text.D32[d] = *(volatile unsigned int *)(SdAddr + d * 4);
}
Text.D32[15] =0;
TMyString::sFillFixLen(Text.Text, dLineMaxLen);
}
TMyString::sFillFixLen(Text.Text, dLineMaxLen);
}
void TQueryMsgOperate::FillDescpTextEmpty()
{
Text.Text[0] = ' ';
Text.Text[1] = '\0';
TMyString::sFillFixLen(Text.Text, dLineMaxLen);
}
void TQueryMsgOperate::DrawListAll(void)
{
volatile unsigned int i, aLen;
int aInx, aTopInx;
volatile unsigned int TextClr, bClr, Wrote;
aInx = TopIndex;
Wrote = 0;
for(i=0;i<ListLineCnt;i++){
aTopInx = i*2;
if(aInx > (Count-1))break;
if(SelectedIndex != aInx){
bClr = Color;
TextClr = clNearBlack;
}else{
bClr = clBlue;
TextClr = clNearWhite;
}
NeedDisplayDescp = FillText(aInx, aInx);
TMyString::sFillFixLen(Text.Text, dLineMaxLen);
TMyString::sBrokeFixLen(Text.Text, dLineMaxLen);
RectFillRender(MsgX0, stAllTop[aTopInx] + 24, MsgX0 + 767, stAllTop[aTopInx +1]-6-1, bClr);
TextRender_string24(MsgX0, stAllTop[aTopInx +0], TextClr, bClr, Text.Text);
FillDescpText(aInx);
//else FillDescpTextEmpty();
TextRender_string24(MsgX0, stAllTop[aTopInx +1]-6, TextClr, bClr, Text.Text);
aInx++;
Wrote++;
}
for(i=Wrote; i<ListLineCnt; i++){
Text.Text[0] = ' ';
Text.Text[1] = 0;
TMyString::sFillFixLen(Text.Text, dLineMaxLen);
aTopInx = i*2;
RectFillRender(MsgX0, stAllTop[aTopInx] + 24, MsgX0 + 767, stAllTop[aTopInx +1]-6-1, Color);
TextRender_string24(MsgX0, stAllTop[aTopInx +0], clWhite, Color, Text.Text);
TextRender_string24(MsgX0, stAllTop[aTopInx +1]-6, clNearBlack, Color, Text.Text);
}
aInx = TopIndex;
if(aInx <0)aInx = 0;
TVScrollBar::sDrawByPoint(777, stAllTop[0], 795, stAllTop[7] + 24, clBlue , clGray , Count, 8, TopIndex);
}
void TQueryMsgOperate::DrawListInTime(void)
{
volatile unsigned int i, aLen;
int aInx, aTopInx;
volatile unsigned int TextClr, bClr, Wrote;
Wrote = 0;
if(InTimeCount >0){
i = InTimeTopIndex;
for(;i<(InTimeStopIndex+1);i++){
if(InTimeSelectedIndex != (InTimeTopIndex + Wrote)){
bClr = Color;
TextClr = clNearBlack;
}else{
bClr = clBlue;
TextClr = clNearWhite;
}
aInx = InTimeTopIndex - InTimeStartIndex + Wrote;
NeedDisplayDescp = FillText(i, aInx);
TMyString::sFillFixLen(Text.Text, dLineMaxLen);
TMyString::sBrokeFixLen(Text.Text, dLineMaxLen);
aTopInx = Wrote *2;
RectFillRender(MsgX0, stAllTop[aTopInx] + 24, MsgX0 + 767, stAllTop[aTopInx +1]-6-1, bClr);
TextRender_string24(MsgX0, stAllTop[aTopInx +0], TextClr, bClr, Text.Text);
FillDescpText(i);
//else FillDescpTextEmpty();
TextRender_string24(DescpX0, stAllTop[aTopInx +1]-6, TextClr, bClr, Text.Text);
Wrote++;
if(Wrote >= ListLineCnt){
break;
}
}
}
for(i=Wrote; i<ListLineCnt; i++){
Text.Text[0] = ' ';
Text.Text[1] = 0;
TMyString::sFillFixLen(Text.Text, dLineMaxLen);
aTopInx = i *2;
RectFillRender(MsgX0, stAllTop[aTopInx] + 24, MsgX0 + 767, stAllTop[aTopInx +1]-6-1, Color);
TextRender_string24(MsgX0, stAllTop[aTopInx +0], clWhite, Color, Text.Text);
FillDescpTextEmpty();
TextRender_string24(DescpX0, stAllTop[aTopInx +1]-6, clWhite, Color, Text.Text);
}
aInx = InTimeTopIndex - InTimeStartIndex;
if(aInx <0)aInx = 0;
TVScrollBar::sDrawByPoint(777, stAllTop[0], 795, stAllTop[7] + 24, clBlue , clGray , InTimeCount, 8, aInx);
}
void TQueryMsgOperate::LoadData()
{
Count = Record.Buf4Operate.Count;
TopIndex = Count - ListLineCnt;
if(TopIndex < 0)TopIndex = 0;
if(Count >0){
SelectedIndex = Count -1;
}else{
SelectedIndex = TopIndex;
}
}
unsigned long long TQueryMsgOperate::aTimeGet(int aInx)
{
volatile unsigned int SdAddr, Addr;
//Operate History
Addr = Record.Buf4Operate.SdramAddrStart + aInx * 64;
if(Addr >= (dSdramOperateHistoryContentBaseAddr + dSdramHistoryBytesLength) )
SdAddr = Addr - dSdramHistoryBytesLength;
else
SdAddr = Addr;
alt.D32.Low4 = *(volatile unsigned int *)(SdAddr + 12);
alt.D32.Hi2 = *(volatile unsigned int *)(SdAddr + 16);
alt.D8[6] = 0;
alt.D8[7] = 0;
return alt.D64;
}
void TQueryMsgOperate::GetStartStopTime()
{
int i;
RestoreFromEdit();
for(i=0; i<6;i++){
alt.D8[5-i] = (vtTextFrom[i][0] - '0') * 16;
alt.D8[5-i] += (vtTextFrom[i][1] - '0');
}
alt.D8[6] = 0;
alt.D8[7] = 0;
StartTime = alt.D64;
for(i=0; i<6;i++){
alt.D8[5-i] = (vtTextTo[i][0] - '0') * 16;
alt.D8[5-i] += (vtTextTo[i][1] - '0');
}
alt.D8[6] = 0;
alt.D8[7] = 0;
StopTime = alt.D64;
}
void TQueryMsgOperate::FindInTimeEntry()
{
int i, aCnt, SatrtFound, StopFound;
unsigned long long aT;
SatrtFound = 0;
StopFound = 0;
InTimeStartIndex = 0;
for(i=Count-1; i>-1; i--){
aT = aTimeGet(i);
if(aT < StartTime){
InTimeStartIndex = i+1;
if(InTimeStartIndex >(Count-1)){
SatrtFound = 0;
}else{
SatrtFound = 1;
}
break;
}
}
if(SatrtFound == 0){
if(InTimeStartIndex == 0){
SatrtFound =1;
}
}
if(SatrtFound){
for(i=Count-1; i>-1; i--){
aT = aTimeGet(i);
if(aT <= StopTime){
InTimeStopIndex = i;
StopFound = 1;
break;
}
}
if(StopFound == 0){
InTimeStopIndex = Count-1;
}
if(InTimeStopIndex < InTimeStartIndex){
InTimeCount = 0;
}else{
aCnt = InTimeStopIndex - InTimeStartIndex + 1;
if(aCnt <0)aCnt = 0;
InTimeCount = aCnt;
}
InTimeTopIndex = InTimeStopIndex - ListLineCnt +1;
if(InTimeTopIndex < InTimeStartIndex)InTimeTopIndex = InTimeStartIndex;
InTimeSelectedIndex = InTimeTopIndex;
}else{
InTimeCount = 0;
InTimeTopIndex = 0;
InTimeStopIndex = 0;
}
}
void TQueryMsgOperate::GetEntry4Print(int aInx)
{
volatile unsigned int SdAddr, Addr;
unsigned int d,e;
unsigned int data;
unsigned char aP0;
unsigned char aP1;
unsigned char aType;
unsigned int NeedDescp;
NeedDescp = 0;
//Operate History
Addr = Record.Buf4Operate.SdramAddrStart + aInx * 64;
if(Addr >= (dSdramOperateHistoryContentBaseAddr + dSdramHistoryBytesLength) )
SdAddr = Addr - dSdramHistoryBytesLength;
else
SdAddr = Addr;
for(d=3; d<14; d++){
EntryTmp.D32[d] = *(volatile unsigned int *)(SdAddr + d * 4);
}
if(EntryTmp.fData.Body.Splite.mType == etOperate){
switch(EntryTmp.fData.Body.Splite.Data0){
case otMask:
NeedDescp =1;
break;
case otUnMask:
NeedDescp =1;
break;
case otCfgDevice:
NeedDescp = 1;
break;
case otFireConfirm:
NeedDescp = 1;
break;
case otFireRemoteConfirm:
NeedDescp = 1;
break;
case otFaultConfirm:
NeedDescp = 2;
break;
case otFaultRemoteConfirm:
NeedDescp = 1;
break;
case otSetSmokeSensViaAddr:
NeedDescp = 1;
break;
case otDescpModify:
if(EntryTmp.fData.Body.Splite.P0 <= dPORT_MAX_COUNT){
NeedDescp = 1;
}else
if( (EntryTmp.fData.Body.Splite.P0 >= dADDR_DIRECTPAD_START) && (EntryTmp.fData.Body.Splite.P0 <= dADDR_DIRECTPAD_END) ){
NeedDescp = 1;
}
break;
}
}
if(NeedDescp){
//Operate History
for(d=7; d<15; d++){
Text.D32[d] = *(volatile unsigned int *)(SdAddr + d * 4);
}
Text.D32[15] =0;
}else{
Text.D32[7] = 0;
}
}
TGuiMsgReturn TQueryMsgOperate::KeyIn(unsigned char aKey)
{
int ind,i,aIndex;
TGuiMsgReturn aMsg = guiMsgNone;
//Up or Down One Index___________________
if( (IsInputTime == 0) && (IsGoPrint == 0) ){
if(IsAllTime){
if(aKey == VK_TAB){
//Items.SelectedIndex = 0;
//Lv.SelectedCol = 0;
//Lv.TopIndex = 0;
IsGoPrint = 1;
DrawGoPrintOutLine();
DrawPrintWhat();
ShowTip();
}else
if(VK_LEFT == aKey){
aIndex = TopIndex -ListLineCnt;
if(aIndex > -1){
TopIndex = aIndex;
SelectedIndex -= ListLineCnt;
}else{
if(TopIndex > 0){
TopIndex = 0;
SelectedIndex = TopIndex;
}else{
TopIndex = Count - ListLineCnt;
if(TopIndex < 0)TopIndex = 0;
SelectedIndex =TopIndex;
}
}
ReDraw();
}else
if(VK_RIGHT == aKey){
aIndex = TopIndex +ListLineCnt;
if(aIndex < Count){
TopIndex = aIndex;
SelectedIndex += ListLineCnt;
if(SelectedIndex >= Count){
SelectedIndex = Count-1;
}
}else{
TopIndex = 0;
SelectedIndex = TopIndex;
}
ReDraw();
}else
if(VK_UP == aKey){
aIndex = SelectedIndex -1;
if(aIndex > -1){
SelectedIndex = aIndex;
if(SelectedIndex < TopIndex){
TopIndex = SelectedIndex;
}
ReDraw();
}
}else
if(VK_DOWN == aKey){
aIndex = SelectedIndex +1;
if(aIndex < Count){
SelectedIndex = aIndex;
if(SelectedIndex > (TopIndex + ListLineCnt -1) ){
TopIndex++;
}
ReDraw();
}
}else
if(aKey == VK_F1 ){
//Setup Device Property
IsInputTime = 1;
IsAllTimeTemp = IsAllTime;
DrawBoxTimeOutLine();
DrawBoxTimeString();
DrawIfAllTime();
DrawTimeEntry();
ShowTip();
}else
if(aKey == VK_F2){
//Query Device Property
}else
if(aKey == VK_RETURN){
aMsg = guiMsgReturn;
}
}else{
if(aKey == VK_TAB){
//Items.SelectedIndex = 0;
//Lv.SelectedCol = 0;
//Lv.TopIndex = 0;
IsGoPrint = 1;
DrawGoPrintOutLine();
DrawPrintWhat();
ShowTip();
}else
if(VK_LEFT == aKey){
aIndex = InTimeTopIndex -ListLineCnt;
if(aIndex >= InTimeStartIndex){
InTimeTopIndex = aIndex;
InTimeSelectedIndex -= ListLineCnt;
}else{
if(InTimeTopIndex > InTimeStartIndex){
InTimeTopIndex = InTimeStartIndex;
InTimeSelectedIndex = InTimeStartIndex;
}else{
InTimeTopIndex = InTimeStopIndex - ListLineCnt;
if(InTimeTopIndex < InTimeStartIndex)InTimeTopIndex = InTimeStartIndex;
InTimeSelectedIndex = InTimeTopIndex;
}
}
ReDraw();
}else
if(VK_RIGHT == aKey){
aIndex = InTimeTopIndex +ListLineCnt;
if(aIndex <= InTimeStopIndex){
InTimeTopIndex = aIndex;
InTimeSelectedIndex += ListLineCnt;
if(InTimeSelectedIndex > InTimeStopIndex){
InTimeSelectedIndex = InTimeStopIndex;
}
}else{
InTimeTopIndex = InTimeStartIndex;
InTimeSelectedIndex = InTimeStartIndex;
}
ReDraw();
}else
if(VK_UP == aKey){
aIndex = InTimeSelectedIndex -1;
if(aIndex >= InTimeStartIndex){
InTimeSelectedIndex = aIndex;
if(InTimeSelectedIndex < InTimeTopIndex){
InTimeTopIndex = InTimeSelectedIndex;
}
ReDraw();
}
}else
if(VK_DOWN == aKey){
aIndex = InTimeSelectedIndex +1;
if(aIndex <= InTimeStopIndex){
InTimeSelectedIndex = aIndex;
if(InTimeSelectedIndex > (InTimeTopIndex + ListLineCnt -1) ){
InTimeTopIndex++;
}
ReDraw();
}
}else
if(aKey == VK_F1 ){
//Setup Device Property
IsInputTime = 1;
IsAllTimeTemp = IsAllTime;
DrawBoxTimeOutLine();
DrawBoxTimeString();
DrawIfAllTime();
DrawTimeEntry();
ShowTip();
}else
if(aKey == VK_F2){
//Query Device Property
}else
if(aKey == VK_RETURN){
aMsg = guiMsgReturn;
}
}
}
if(IsInputTime){
if(aKey == VK_UP){
if(TimeEditFrom >0){
RestoreFromEdit();
TimeEditFrom =0;
SetEditStart();
}else{
if(TimeEditFrom > -1){
RestoreFromEdit();
TimeEditFrom = -1;
DrawIfAllTime();
}
}
}else
if(aKey == VK_DOWN){
if(TimeEditFrom <1){
if(IsAllTimeTemp == 0){
if(TimeEditFrom == 0)RestoreFromEdit();
TimeEditFrom ++;
SetEditStart();
DrawIfAllTime();
}
}
}else
if(aKey == VK_LEFT){
if(TimeEditFrom > -1){
if(TimeIndex >0){
RestoreFromEdit();
TimeIndex--;
SetEditStart();
}
}else{
if(IsAllTimeTemp){
IsAllTimeTemp = 0;
}else{
IsAllTimeTemp = 1;
}
DrawBoxTimeString();
DrawIfAllTime();
DrawTimeEntry();
}
}else
if(aKey == VK_RIGHT){
if(TimeEditFrom > -1){
if(TimeIndex <5){
RestoreFromEdit();
TimeIndex++;
SetEditStart();
}
}else{
if(IsAllTimeTemp){
IsAllTimeTemp = 0;
}else{
IsAllTimeTemp = 1;
}
DrawBoxTimeString();
DrawIfAllTime();
DrawTimeEntry();
}
}else
if(aKey == VK_EXECUTE){
//Read Here
if(IsAllTimeTemp){
IsAllTime = IsAllTimeTemp;
DrawItemCount(Count);
ReDraw();
}else{
IsAllTime = IsAllTimeTemp;
GetStartStopTime();
FindInTimeEntry();
DrawItemCount(InTimeCount);
IsInputTime = 0;
RenderContent();
ReDraw();
}
ShowTip();
}else
if(aKey == VK_RETURN){
IsInputTime = 0;
RenderContent();
ReDraw();
ShowTip();
}else{
if(IsAllTimeTemp == 0){
if(IsEditing){
switch(aKey){
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
case VK_DELETE:
vEdit.KeyIn(aKey);
vEdit.Show();
vEdit.ShowCursor(clNearWhite);
break;
}
}
}
}
}
if(IsGoPrint){
if(aKey == VK_LEFT){
if(PrintWhat ==0)PrintWhat=1;
else PrintWhat = 0;
DrawPrintWhat();
}else
if(aKey == VK_RIGHT){
if(PrintWhat ==0)PrintWhat=1;
else PrintWhat = 0;
DrawPrintWhat();
}else
if(aKey == VK_EXECUTE){
//Print Here
if(Count){
if(SelectedIndex < Count){
GetEntry4Print(SelectedIndex);
RecordMsg.D32[0] = EntryTmp.fData.Body.D32[0];
RecordMsg.D32[1] = EntryTmp.fData.Body.D32[1];
RecordMsg.D32[2] = EntryTmp.fData.Body.D32[2];
RecordMsg.D32[3] = EntryTmp.fData.Body.D32[3];
RecordMsg.Splite.UserCode = EntryTmp.fData.UserCode;
DoPrint.PrintHistory(4,RecordMsg, &Text.Text[28]);
}
}
IsGoPrint = 0;
RenderContent();
ReDraw();
ShowTip();
}else
if(aKey == VK_RETURN){
IsGoPrint = 0;
RenderContent();
ReDraw();
ShowTip();
}
}
//____________________________________________________________________<- List View
return aMsg;
}
void TQueryMsgOperate::Task1000Ms()
{
if(IsShowing){
if(Count != Record.Buf4Operate.Count){
TopIndex = Count - ListLineCnt +1;
if(TopIndex < 0)TopIndex = 0;
SelectedIndex =TopIndex;
}
}
}
int TQueryMsgOperate::ExtRequst(unsigned char Prm)
{
IsShowing = 0;
return 0;
}