1062 lines
28 KiB
C++
1062 lines
28 KiB
C++
#include "PrintInf.h"
|
|
#include "XBox.h"
|
|
#include "Runtime.h"
|
|
|
|
void TPrintInf::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;
|
|
BoundCaption.SetBySize(Left,Top,Width, CH);
|
|
Content.Set(Left, Top+CH, Right, Bottom);
|
|
|
|
BoxBound.Set(Left + 100, Top+70, Right -400, Bottom -70);
|
|
BoxBoundTime.Set(Left + 400, Top+70, Right -60, Bottom -70);
|
|
|
|
WhatSel = 0;
|
|
SelectedFromOrEnd = 0;
|
|
SelectedIndex =0;
|
|
IsEditing = 0;
|
|
|
|
InfList[0] = 0xA5;
|
|
InfList[1] = 0xA5;
|
|
InfList[2] = 0xA5;
|
|
InfList[3] = 0xA5;
|
|
InfList[4] = 0xA5;
|
|
|
|
vtValueFrom[0] = 0;
|
|
vtValueFrom[1] = 0;
|
|
vtValueFrom[2] = 0;
|
|
vtValueFrom[3] = 0;
|
|
vtValueFrom[4] = 0;
|
|
vtValueFrom[5] = 0;
|
|
vtValueTo[0] = 0;
|
|
vtValueTo[1] = 0;
|
|
vtValueTo[2] = 0;
|
|
vtValueTo[3] = 0;
|
|
vtValueTo[4] = 0;
|
|
vtValueTo[5] = 0;
|
|
|
|
IsPermission =0;
|
|
|
|
#undef CH
|
|
}
|
|
|
|
void TPrintInf::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);
|
|
|
|
RectFillRender(Content.Left, Content.Top, Content.Right, Content.Bottom, clFrmFace);
|
|
|
|
RectFillRender(BoundCaption.Left, BoundCaption.Top, BoundCaption.Right, BoundCaption.Bottom, clMaroon);
|
|
if(LanguageEnCn==0)TextRender_string24(BoundCaption.Left+6, BoundCaption.Top +3, clNearWhite, clMaroon, "历史信息->打印 按TAB键切换选定框");
|
|
else TextRender_string24(BoundCaption.Left+6, BoundCaption.Top +3, clNearWhite, clMaroon, "Recorded Information->Print");
|
|
}
|
|
|
|
|
|
void TPrintInf::Show(void)
|
|
{
|
|
DrawSelf();
|
|
DrawBoxItems();
|
|
ReDrawItems();
|
|
DrawWidget();
|
|
|
|
DrawBoxTime();
|
|
DrawBoxTimeString();
|
|
DrawSaveButton();
|
|
}
|
|
|
|
void TPrintInf::FullRedraw(int Prm)
|
|
{
|
|
if(Prm == 0){
|
|
DrawSelf();
|
|
DrawBoxItems();
|
|
ReDrawItems();
|
|
DrawWidget();
|
|
|
|
RectFillRender(BoxBoundTime.Left, BoxBoundTime.Top, BoxBoundTime.Right, BoxBoundTime.Bottom, clFrmFace);
|
|
DrawBoxTimeOutLine();
|
|
DrawTimeEntryNoUpdate();
|
|
DrawBoxTimeString();
|
|
DrawSaveButton();
|
|
if(WhatSel == 1){
|
|
SetEditStart();
|
|
}
|
|
}else
|
|
if(Prm == 1){
|
|
RectFillRender(GuiRedrawDataList[1][0], GuiRedrawDataList[1][1], GuiRedrawDataList[1][2], GuiRedrawDataList[1][3], clFrmFace);
|
|
DrawBoxItems();
|
|
ReDrawItems();
|
|
DrawWidget();
|
|
|
|
RectFillRender(BoxBoundTime.Left, BoxBoundTime.Top, BoxBoundTime.Right, BoxBoundTime.Bottom, clFrmFace);
|
|
DrawBoxTimeOutLine();
|
|
DrawTimeEntryNoUpdate();
|
|
DrawBoxTimeString();
|
|
DrawSaveButton();
|
|
if(WhatSel == 1){
|
|
SetEditStart();
|
|
}
|
|
if(WhatSel == 3)ShowDetial();
|
|
|
|
if(IsPermission)PmsIntervene4Gui.ReDraw4GuiRecall();
|
|
|
|
}
|
|
}
|
|
|
|
void TPrintInf::PermissionCmdReturnDraw()
|
|
{
|
|
RectFillRender(200-10, 86-10, 600+20, 220, clFrmFace);
|
|
DrawBoxItems();
|
|
ReDrawItems();
|
|
DrawWidget();
|
|
|
|
RectFillRender(BoxBoundTime.Left, BoxBoundTime.Top, BoxBoundTime.Right, BoxBoundTime.Bottom, clFrmFace);
|
|
DrawBoxTimeOutLine();
|
|
DrawTimeEntryNoUpdate();
|
|
DrawBoxTimeString();
|
|
DrawSaveButton();
|
|
if(WhatSel == 1){
|
|
SetEditStart();
|
|
}
|
|
ShowDetial();
|
|
}
|
|
|
|
void TPrintInf::GetStartStopTime()
|
|
{
|
|
int i;
|
|
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 TPrintInf::PermissionCmdGO()
|
|
{
|
|
GoPrint();
|
|
}
|
|
|
|
void TPrintInf::ShowDetial()
|
|
{
|
|
int x,y,x2,y2,aW,aH;
|
|
unsigned int tClr;
|
|
char *tText;
|
|
x = Bound.Left + 196;
|
|
y = Bound.Top + 60 ;
|
|
aW = 400;
|
|
aH = 260;
|
|
x2 = x + aW -1;
|
|
y2 = y + aH -1;
|
|
|
|
RectFillRender(x, y, x2, y2, clFrmFace);
|
|
|
|
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);
|
|
|
|
if(LanguageEnCn==0)tText="按确定键打印, 按返回键返回";
|
|
else tText= "Press 'OK' Key To Print, Or Return";
|
|
TStaticText::sShow(x+2, y+2, x2-2, y+32, clNearWhite, clBlue, tText);
|
|
|
|
x = x +60;
|
|
y = y + 50;
|
|
tClr = InfList[0] ? clNearBlack : clSilver;
|
|
if(LanguageEnCn==0)tText="火警信息"; else tText="Fire Alram";
|
|
TextRender_string24(x, y, clNearBlack, clFrmFace, tText);
|
|
TextDigitRender6Right24(x +180, y, tClr, this->CountFire);
|
|
y = y + 32;
|
|
tClr = InfList[1] ? clNearBlack : clSilver;
|
|
if(LanguageEnCn==0)tText="联动信息"; else tText="Linkage ";
|
|
TextRender_string24(x, y, clNearBlack, clFrmFace, tText);
|
|
TextDigitRender6Right24(x +180, y, tClr, this->CountLinkage);
|
|
y = y + 32;
|
|
tClr = InfList[2] ? clNearBlack : clSilver;
|
|
if(LanguageEnCn==0)tText="监管信息"; else tText="Supv ";
|
|
TextRender_string24(x, y, clNearBlack, clFrmFace, tText);
|
|
TextDigitRender6Right24(x +180, y, tClr, this->CountSv);
|
|
y = y + 32;
|
|
tClr = InfList[3] ? clNearBlack : clSilver;
|
|
if(LanguageEnCn==0)tText="故障信息"; else tText="Fault ";
|
|
TextRender_string24(x, y, clNearBlack, clFrmFace, tText);
|
|
TextDigitRender6Right24(x +180, y, tClr, this->CountFault);
|
|
y = y + 32;
|
|
tClr = InfList[4] ? clNearBlack : clSilver;
|
|
if(LanguageEnCn==0)tText="操作信息"; else tText="Operating ";
|
|
TextRender_string24(x, y, clNearBlack, clFrmFace, tText);
|
|
TextDigitRender6Right24(x +180, y, tClr, this->CountOperate);
|
|
y = y + 32;
|
|
TextRender_string24(x, y, clNearBlack, clFrmFace, "Total Records");
|
|
TextDigitRender6Right24(x +180, y, clNearBlack, this->Count2Print);
|
|
}
|
|
|
|
void TPrintInf::ReDrawItems()
|
|
{
|
|
int x,y;
|
|
unsigned int aClr;
|
|
char *tText;
|
|
x = BoxBound.Left + 24 + 20;
|
|
y = BoxBound.Top + 36 ;
|
|
|
|
if(LanguageEnCn==0)tText="火警信息"; else tText="Fire Alram";
|
|
TextRender_string24(x, y, clNearBlack, clFrmFace, tText);
|
|
y = y + 36;
|
|
if(LanguageEnCn==0)tText="联动信息"; else tText="Linkage ";
|
|
TextRender_string24(x, y, clNearBlack, clFrmFace, tText);
|
|
y = y + 36;
|
|
if(LanguageEnCn==0)tText="监管信息"; else tText="Supv ";
|
|
TextRender_string24(x, y, clNearBlack, clFrmFace, tText);
|
|
y = y + 36;
|
|
if(LanguageEnCn==0)tText="故障信息"; else tText="Fault ";
|
|
TextRender_string24(x, y, clNearBlack, clFrmFace, tText);
|
|
y = y + 36;
|
|
if(LanguageEnCn==0)tText="操作信息"; else tText="Operating ";
|
|
TextRender_string24(x, y, clNearBlack, clFrmFace, tText);
|
|
}
|
|
|
|
void TPrintInf::DrawWidget()
|
|
{
|
|
int x,y,R;
|
|
x = BoxBound.Left + 24;
|
|
y = BoxBound.Top + 36 +12;
|
|
R = 10;
|
|
|
|
#define CLR_SEL clBlue
|
|
#define CLR_ACT clGreen
|
|
|
|
if(FocusIndex == 0){
|
|
TCircle::sRender(x, y, R+2, CLR_SEL, 0);
|
|
TCircle::sRender(x, y, R+3, CLR_SEL, 0);
|
|
TCircle::sRender(x, y, R+4, CLR_SEL, 0);
|
|
}else{
|
|
TCircle::sRender(x, y, R+2, clFrmFace, 0);
|
|
TCircle::sRender(x, y, R+3, clFrmFace, 0);
|
|
TCircle::sRender(x, y, R+4, clFrmFace, 0);
|
|
}
|
|
TCircle::sRender(x, y, R, clGray, 0);
|
|
if(InfList[0]){
|
|
TCircle::sRender(x, y, R-1, CLR_ACT, 1);
|
|
}else{
|
|
TCircle::sRender(x, y, R-1, clFrmFace, 1);
|
|
}
|
|
|
|
y = y+36;
|
|
if(FocusIndex == 1){
|
|
TCircle::sRender(x, y, R+2, CLR_SEL, 0);
|
|
TCircle::sRender(x, y, R+3, CLR_SEL, 0);
|
|
TCircle::sRender(x, y, R+4, CLR_SEL, 0);
|
|
}else{
|
|
TCircle::sRender(x, y, R+2, clFrmFace, 0);
|
|
TCircle::sRender(x, y, R+3, clFrmFace, 0);
|
|
TCircle::sRender(x, y, R+4, clFrmFace, 0);
|
|
}
|
|
TCircle::sRender(x, y, R, clGray, 0);
|
|
if(InfList[1]){
|
|
TCircle::sRender(x, y, R-1, CLR_ACT, 1);
|
|
}else{
|
|
TCircle::sRender(x, y, R-1, clFrmFace, 1);
|
|
}
|
|
|
|
y = y+36;
|
|
if(FocusIndex == 2){
|
|
TCircle::sRender(x, y, R+2, CLR_SEL, 0);
|
|
TCircle::sRender(x, y, R+3, CLR_SEL, 0);
|
|
TCircle::sRender(x, y, R+4, CLR_SEL, 0);
|
|
}else{
|
|
TCircle::sRender(x, y, R+2, clFrmFace, 0);
|
|
TCircle::sRender(x, y, R+3, clFrmFace, 0);
|
|
TCircle::sRender(x, y, R+4, clFrmFace, 0);
|
|
}
|
|
TCircle::sRender(x, y, R, clGray, 0);
|
|
if(InfList[2]){
|
|
TCircle::sRender(x, y, R-1, CLR_ACT, 1);
|
|
}else{
|
|
TCircle::sRender(x, y, R-1, clFrmFace, 1);
|
|
}
|
|
|
|
y = y+36;
|
|
if(FocusIndex == 3){
|
|
TCircle::sRender(x, y, R+2, CLR_SEL, 0);
|
|
TCircle::sRender(x, y, R+3, CLR_SEL, 0);
|
|
TCircle::sRender(x, y, R+4, CLR_SEL, 0);
|
|
}else{
|
|
TCircle::sRender(x, y, R+2, clFrmFace, 0);
|
|
TCircle::sRender(x, y, R+3, clFrmFace, 0);
|
|
TCircle::sRender(x, y, R+4, clFrmFace, 0);
|
|
}
|
|
TCircle::sRender(x, y, R, clGray, 0);
|
|
if(InfList[3]){
|
|
TCircle::sRender(x, y, R-1, CLR_ACT, 1);
|
|
}else{
|
|
TCircle::sRender(x, y, R-1, clFrmFace, 1);
|
|
}
|
|
|
|
y = y+36;
|
|
if(FocusIndex == 4){
|
|
TCircle::sRender(x, y, R+2, CLR_SEL, 0);
|
|
TCircle::sRender(x, y, R+3, CLR_SEL, 0);
|
|
TCircle::sRender(x, y, R+4, CLR_SEL, 0);
|
|
}else{
|
|
TCircle::sRender(x, y, R+2, clFrmFace, 0);
|
|
TCircle::sRender(x, y, R+3, clFrmFace, 0);
|
|
TCircle::sRender(x, y, R+4, clFrmFace, 0);
|
|
}
|
|
TCircle::sRender(x, y, R, clGray, 0);
|
|
if(InfList[4]){
|
|
TCircle::sRender(x, y, R-1, CLR_ACT, 1);
|
|
}else{
|
|
TCircle::sRender(x, y, R-1, clFrmFace, 1);
|
|
}
|
|
}
|
|
|
|
void TPrintInf::DrawBoxItemsOutLine(void)
|
|
{
|
|
int aLen, aW;
|
|
unsigned int aClr, aTClr;
|
|
aLen = 4;
|
|
aW = aLen * 12 +12;
|
|
|
|
if(WhatSel == 0){
|
|
aClr = clBlue;
|
|
aTClr = clBlue;
|
|
}else{
|
|
aClr = clGray;
|
|
aTClr = clNearBlack;
|
|
}
|
|
|
|
VertLineRender(BoxBound.Left, BoxBound.Top+12, BoxBound.Height-12, aClr);
|
|
VertLineRender(BoxBound.Left+1, BoxBound.Top+12, BoxBound.Height-12, aClr);
|
|
VertLineRender(BoxBound.Right, BoxBound.Top+12, BoxBound.Height-12, aClr);
|
|
VertLineRender(BoxBound.Right-1, BoxBound.Top+12, BoxBound.Height-12, aClr);
|
|
|
|
HorizLineRender(BoxBound.Left, BoxBound.Top+12, 6, aClr);
|
|
HorizLineRender(BoxBound.Left, BoxBound.Top+12+1, 6, aClr);
|
|
HorizLineRender(BoxBound.Left, BoxBound.Bottom, BoxBound.Width, aClr);
|
|
HorizLineRender(BoxBound.Left, BoxBound.Bottom -1, BoxBound.Width, aClr);
|
|
|
|
HorizLineRender(BoxBound.Left + aW +6, BoxBound.Top+12, BoxBound.Width -6 -aW, aClr);
|
|
HorizLineRender(BoxBound.Left + aW +6, BoxBound.Top+12+1, BoxBound.Width -6 -aW, aClr);
|
|
|
|
char *tText;
|
|
if(LanguageEnCn==0)tText="选定内容"; else tText="Selecte ";
|
|
TextRender_string24(BoxBound.Left + 8, BoxBound.Top, aTClr, clFrmFace, tText);
|
|
}
|
|
|
|
void TPrintInf::DrawBoxItems(void)
|
|
{
|
|
RectFillRender(BoxBound.Left, BoxBound.Top, BoxBound.Right, BoxBound.Bottom, clFrmFace);
|
|
DrawBoxItemsOutLine();
|
|
ReDrawItems();
|
|
}
|
|
|
|
void TPrintInf::DrawBoxTimeOutLine()
|
|
{
|
|
int aLen, aW;
|
|
unsigned int aClr,aTClr;
|
|
aLen = 4;
|
|
aW = aLen * 12 +12;
|
|
|
|
if(WhatSel == 1){
|
|
aClr = clBlue;
|
|
aTClr = clBlue;
|
|
}else{
|
|
aClr = clGray;
|
|
aTClr = clNearBlack;
|
|
}
|
|
|
|
VertLineRender(BoxBoundTime.Left, BoxBoundTime.Top+12, BoxBoundTime.Height-12, aClr);
|
|
VertLineRender(BoxBoundTime.Left+1, BoxBoundTime.Top+12, BoxBoundTime.Height-12, aClr);
|
|
VertLineRender(BoxBoundTime.Right, BoxBoundTime.Top+12, BoxBoundTime.Height-12, aClr);
|
|
VertLineRender(BoxBoundTime.Right-1,BoxBoundTime.Top+12, BoxBoundTime.Height-12, aClr);
|
|
|
|
HorizLineRender(BoxBoundTime.Left, BoxBoundTime.Top+12, 6, aClr);
|
|
HorizLineRender(BoxBoundTime.Left, BoxBoundTime.Top+12+1, 6, aClr);
|
|
HorizLineRender(BoxBoundTime.Left, BoxBoundTime.Bottom, BoxBoundTime.Width, aClr);
|
|
HorizLineRender(BoxBoundTime.Left, BoxBoundTime.Bottom -1, BoxBoundTime.Width, aClr);
|
|
|
|
HorizLineRender(BoxBoundTime.Left + aW +6, BoxBoundTime.Top+12, BoxBoundTime.Width -6 -aW, aClr);
|
|
HorizLineRender(BoxBoundTime.Left + aW +6, BoxBoundTime.Top+12+1, BoxBoundTime.Width -6 -aW, aClr);
|
|
|
|
if(LanguageEnCn==0)TextRender_string24(BoxBoundTime.Left + 8, BoxBoundTime.Top, aTClr, clFrmFace, "日期时间");
|
|
else TextRender_string24(BoxBoundTime.Left + 8, BoxBoundTime.Top, aTClr, clFrmFace, "DateTime");
|
|
}
|
|
|
|
void TPrintInf::DrawTimeEntry(void)
|
|
{
|
|
int x,y,w,h;
|
|
int i;
|
|
unsigned char aHex0, aHex1;
|
|
|
|
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 = 438 + (i * 48);
|
|
y = 210 + (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, clNearBlack, vtTextFrom[i]);
|
|
}
|
|
|
|
for(i=0; i<6; i++){
|
|
x = 438 + (i * 48);
|
|
y = 210 + (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, clNearBlack, vtTextTo[i]);
|
|
}
|
|
}
|
|
|
|
void TPrintInf::DrawTimeEntryNoUpdate(void)
|
|
{
|
|
int x,y,w,h;
|
|
int i;
|
|
unsigned char aHex0, aHex1;
|
|
|
|
w = 36;
|
|
h = 32;
|
|
|
|
for(i=0; i<6; i++){
|
|
x = 438 + (i * 48);
|
|
y = 210 + (0 * 112);
|
|
|
|
//aHex0 = vtValueFrom[i] / 16 % 10;
|
|
//aHex1 = vtValueFrom[i] % 16;
|
|
//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, clNearBlack, vtTextFrom[i]);
|
|
}
|
|
|
|
for(i=0; i<6; i++){
|
|
x = 438 + (i * 48);
|
|
y = 210 + (1 * 112);
|
|
|
|
//aHex0 = vtValueTo[i] / 16 % 10;
|
|
//aHex1 = vtValueTo[i] % 16;
|
|
//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, clNearBlack, vtTextTo[i]);
|
|
}
|
|
}
|
|
|
|
void TPrintInf::DrawBoxTime(void)
|
|
{
|
|
unsigned int i;
|
|
RectFillRender(BoxBoundTime.Left, BoxBoundTime.Top, BoxBoundTime.Right, BoxBoundTime.Bottom, clFrmFace);
|
|
DrawBoxTimeOutLine();
|
|
|
|
DrawTimeEntry();
|
|
|
|
}
|
|
|
|
void TPrintInf::DrawBoxTimeString(void)
|
|
{
|
|
if(LanguageEnCn==0){
|
|
TextRender_string24(BoxBoundTime.Left + 12, BoxBoundTime.Top + 34, clNearBlack, "开始时间");
|
|
TextRender_string24(BoxBoundTime.Left + 42, BoxBoundTime.Top + 68, clNearBlack, "年 月 日 时 分 秒");
|
|
TextRender_string24(BoxBoundTime.Left + 12, BoxBoundTime.Top + 147, clNearBlack, "结束时间");
|
|
TextRender_string24(BoxBoundTime.Left + 42, BoxBoundTime.Top + 179, clNearBlack, "年 月 日 时 分 秒");
|
|
}else{
|
|
TextRender_string24(BoxBoundTime.Left + 12, BoxBoundTime.Top + 34, clNearBlack, "Begin");
|
|
TextRender_string24(BoxBoundTime.Left + 42, BoxBoundTime.Top + 68, clNearBlack, " Y M D H M S");
|
|
TextRender_string24(BoxBoundTime.Left + 12, BoxBoundTime.Top + 147, clNearBlack, "End");
|
|
TextRender_string24(BoxBoundTime.Left + 42, BoxBoundTime.Top + 179, clNearBlack, " Y M D H M S");
|
|
}
|
|
}
|
|
|
|
void TPrintInf::DrawSaveButton(void)
|
|
{
|
|
unsigned int aClr, aTClr;
|
|
int x,y,x2,y2;
|
|
|
|
x = 590;
|
|
y = 372;
|
|
x2 = 736;
|
|
y2 = 416;
|
|
|
|
if(WhatSel == 2){
|
|
aClr = clBlue;
|
|
aTClr = clNearWhite;
|
|
}else{
|
|
aClr = clFrmFace;
|
|
aTClr = clNearBlack;
|
|
}
|
|
|
|
RectFillRender(x, y, x2, y2, aClr);
|
|
VertLineRender(x, y, y2-y+1-1, 0xFFFFFFFF);
|
|
VertLineRender(x2 -1, y +1, y2-y+1-2, 0xFF808080);
|
|
VertLineRender(x2, y, y2-y+1-2, 0xFF404040);
|
|
HorizLineRender(x, y, x2-x+1-1, 0xFFFFFFFF);
|
|
HorizLineRender(x +1, y2 -1, x2-x+1 - 2, 0xFF808080);
|
|
HorizLineRender(x, y2, x2-x+1, 0xFF404040);
|
|
|
|
if(LanguageEnCn==0)TextRender_string24(x + 28, y + 9, aTClr, "执行打印");
|
|
else TextRender_string24(x + 28, y + 9, aTClr, " Print ");
|
|
}
|
|
|
|
void TPrintInf::ChangeWg(void)
|
|
{
|
|
switch(FocusIndex){
|
|
case 0: if(InfList[0]){
|
|
InfList[0] = 0;
|
|
}else{
|
|
InfList[0] = 0xA5;
|
|
}
|
|
break;
|
|
case 1: if(InfList[1]){
|
|
InfList[1] = 0;
|
|
}else{
|
|
InfList[1] = 0xA5;
|
|
}
|
|
break;
|
|
case 2: if(InfList[2]){
|
|
InfList[2] = 0;
|
|
}else{
|
|
InfList[2] = 0xA5;
|
|
}
|
|
break;
|
|
case 3: if(InfList[3]){
|
|
InfList[3] = 0;
|
|
}else{
|
|
InfList[3] = 0xA5;
|
|
}
|
|
break;
|
|
case 4: if(InfList[4]){
|
|
InfList[4] = 0;
|
|
}else{
|
|
InfList[4] = 0xA5;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
void TPrintInf::SetEditStart(void)
|
|
{
|
|
int x,y,w,h;
|
|
|
|
IsEditing =1;
|
|
ReStoreP0 = SelectedFromOrEnd;
|
|
ReStoreP1 = SelectedIndex;
|
|
|
|
x = 438 + (SelectedIndex * 48);
|
|
y = 210 + (SelectedFromOrEnd * 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.SetPstTail();
|
|
vEdit.Show();
|
|
vEdit.ShowCursor(clNearWhite);
|
|
}
|
|
|
|
void TPrintInf::RestoreFromEdit(void)
|
|
{
|
|
int x,y,w,h;
|
|
|
|
if(IsEditing == 0)return;
|
|
|
|
x = 438 + (SelectedIndex * 48);
|
|
y = 210 + (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;
|
|
}
|
|
|
|
TGuiMsgReturn TPrintInf::KeyIn(unsigned char aKey)
|
|
{
|
|
TGuiMsgReturn aMsg = guiMsgNone;
|
|
TGuiMsgReturn PmsRtnMsg;
|
|
int isMaskReturn = 0;
|
|
if(IsPermission){
|
|
PmsRtnMsg = PmsIntervene4Gui.KeyIn(aKey);
|
|
if(PmsRtnMsg == guiMsgOkAndReturn){
|
|
//Enter And Run Go
|
|
IsPermission = 0;
|
|
PermissionCmdReturnDraw();
|
|
PermissionCmdGO();
|
|
}else
|
|
if(PmsRtnMsg == guiMsgReturn){
|
|
//Not Enter Redraw
|
|
IsPermission = 0;
|
|
PermissionCmdReturnDraw();
|
|
}
|
|
return aMsg;
|
|
}else
|
|
if(WhatSel == 0){
|
|
if( (aKey == VK_EXECUTE) || (aKey == dfKEY_SETUP) ){
|
|
ChangeWg();
|
|
DrawWidget();
|
|
}else
|
|
if( aKey == VK_RIGHT){
|
|
WhatSel = 1;
|
|
DrawBoxItemsOutLine();
|
|
DrawBoxTimeOutLine();
|
|
DrawSaveButton();
|
|
if(WhatSel == 1){
|
|
if(IsEditing == 0){
|
|
SetEditStart();
|
|
}
|
|
}else{
|
|
if(IsEditing){
|
|
RestoreFromEdit();
|
|
}
|
|
}
|
|
}else
|
|
if(aKey == VK_UP){
|
|
if(FocusIndex >0){
|
|
FocusIndex--;
|
|
DrawWidget();
|
|
}
|
|
}else
|
|
if(aKey == VK_DOWN){
|
|
if(FocusIndex <4){
|
|
FocusIndex++;
|
|
DrawWidget();
|
|
}
|
|
}
|
|
}else
|
|
if(WhatSel == 1){
|
|
if(aKey == VK_LEFT){
|
|
if(SelectedIndex >0){
|
|
RestoreFromEdit();
|
|
SelectedIndex--;
|
|
SetEditStart();
|
|
}
|
|
}else
|
|
if(aKey == VK_RIGHT){
|
|
if(SelectedIndex <5){
|
|
RestoreFromEdit();
|
|
SelectedIndex++;
|
|
SetEditStart();
|
|
}
|
|
}else
|
|
if(aKey == VK_UP){
|
|
if(SelectedFromOrEnd >0){
|
|
RestoreFromEdit();
|
|
SelectedFromOrEnd--;
|
|
SetEditStart();
|
|
}
|
|
}else
|
|
if(aKey == VK_DOWN){
|
|
if(SelectedFromOrEnd <1){
|
|
RestoreFromEdit();
|
|
SelectedFromOrEnd++;
|
|
SetEditStart();
|
|
}else{
|
|
WhatSel = 2;
|
|
DrawBoxItemsOutLine();
|
|
DrawBoxTimeOutLine();
|
|
DrawSaveButton();
|
|
if(WhatSel == 1){
|
|
if(IsEditing == 0){
|
|
SetEditStart();
|
|
}
|
|
}else{
|
|
if(IsEditing){
|
|
RestoreFromEdit();
|
|
}
|
|
}
|
|
}
|
|
}else{
|
|
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;
|
|
}
|
|
}
|
|
}else
|
|
if(WhatSel == 2){
|
|
if(aKey == VK_EXECUTE){
|
|
//Get Detial Here
|
|
WhatSel = 3;
|
|
GetDetial();
|
|
ShowDetial();
|
|
}else
|
|
if(aKey == VK_UP){
|
|
WhatSel = 1;
|
|
DrawBoxItemsOutLine();
|
|
DrawBoxTimeOutLine();
|
|
DrawSaveButton();
|
|
if(WhatSel == 1){
|
|
if(IsEditing == 0){
|
|
SetEditStart();
|
|
}
|
|
}else{
|
|
if(IsEditing){
|
|
RestoreFromEdit();
|
|
}
|
|
}
|
|
}
|
|
}else
|
|
if(WhatSel == 3){
|
|
if(aKey == VK_EXECUTE){
|
|
//Print Here
|
|
if(SystemPermission > 1){
|
|
PermissionCmdGO();
|
|
}else{
|
|
IsPermission = 1;
|
|
PmsIntervene4Gui.Show4Gui(200, 86, 400, 140, 2);
|
|
}
|
|
}else
|
|
if(aKey == VK_RETURN){
|
|
isMaskReturn = 1;
|
|
WhatSel = 2;
|
|
RectFillRender(Content.Left, Content.Top, Content.Right, Content.Bottom, clFrmFace);
|
|
DrawBoxItems();
|
|
ReDrawItems();
|
|
DrawWidget();
|
|
DrawBoxTimeOutLine();
|
|
DrawTimeEntryNoUpdate();
|
|
DrawBoxTimeString();
|
|
DrawSaveButton();
|
|
}
|
|
}else{
|
|
WhatSel = 0;
|
|
}
|
|
|
|
if(aKey == VK_TAB){
|
|
WhatSel++;
|
|
if(WhatSel >2)WhatSel = 0;
|
|
DrawBoxItemsOutLine();
|
|
DrawBoxTimeOutLine();
|
|
DrawSaveButton();
|
|
if(WhatSel == 1){
|
|
if(IsEditing == 0){
|
|
SetEditStart();
|
|
}
|
|
}else{
|
|
if(IsEditing){
|
|
RestoreFromEdit();
|
|
}
|
|
}
|
|
}else
|
|
if(aKey == VK_RETURN){
|
|
if(isMaskReturn == 0){
|
|
aMsg = guiMsgReturn;
|
|
}
|
|
}
|
|
return aMsg;
|
|
}
|
|
|
|
void TPrintInf::GetDetial()
|
|
{
|
|
GetStartStopTime();
|
|
pMsg->LoadData();
|
|
pMsg->StartTime = this->StartTime;
|
|
pMsg->StopTime = this->StopTime;
|
|
pMsg->FindInTimeEntry();
|
|
|
|
this->Count = pMsg->Count;
|
|
this->CountFire = pMsg->CountFire;
|
|
this->CountLinkage = pMsg->CountLinkage;
|
|
this->CountSv = pMsg->CountSv;
|
|
this->CountFault = pMsg->CountFault;
|
|
this->CountOperate = pMsg->CountOperate;
|
|
|
|
this->Count2Print =0;
|
|
this->Count2Print += InfList[0] ? this->CountFire : 0;
|
|
this->Count2Print += InfList[1] ? this->CountLinkage : 0;
|
|
this->Count2Print += InfList[2] ? this->CountSv : 0;
|
|
this->Count2Print += InfList[3] ? this->CountFault : 0;
|
|
this->Count2Print += InfList[4] ? this->CountOperate : 0;
|
|
|
|
this->InxScope.Begin.Fire = pMsg->InxScope.Begin.Fire;
|
|
this->InxScope.End.Fire = pMsg->InxScope.End.Fire;
|
|
this->InxScope.Begin.Lnk = pMsg->InxScope.Begin.Lnk;
|
|
this->InxScope.End.Lnk = pMsg->InxScope.End.Lnk;
|
|
this->InxScope.Begin.Sv = pMsg->InxScope.Begin.Sv;
|
|
this->InxScope.End.Sv = pMsg->InxScope.End.Sv;
|
|
this->InxScope.Begin.Fault = pMsg->InxScope.Begin.Fault;
|
|
this->InxScope.End.Fault = pMsg->InxScope.End.Fault;
|
|
this->InxScope.Begin.Opa = pMsg->InxScope.Begin.Opa;
|
|
this->InxScope.End.Opa = pMsg->InxScope.End.Opa;
|
|
}
|
|
|
|
|
|
unsigned long long TPrintInf::GetMsgMemInx(int What, int aInx)
|
|
{
|
|
unsigned int Addr, SdAddr;
|
|
TDMix64 tMemInx;
|
|
tMemInx.D64 =0;
|
|
if(What == 0){
|
|
Addr = Record.Buf4Fire.SdramAddrStart + aInx * 64;
|
|
if(Addr >= (dSdramFireHistoryContentBaseAddr + dSdramHistoryBytesLength) )
|
|
SdAddr = Addr - dSdramHistoryBytesLength;
|
|
else
|
|
SdAddr = Addr;
|
|
tMemInx.D32[0] = *(volatile unsigned int *)(SdAddr + 0);
|
|
tMemInx.D32[1] = *(volatile unsigned int *)(SdAddr + 4);
|
|
}else
|
|
if(What == 1){
|
|
Addr = Record.Buf4Linkage.SdramAddrStart + aInx * 64;
|
|
if(Addr >= (dSdramLinkageHistoryContentBaseAddr + dSdramHistoryBytesLength) )
|
|
SdAddr = Addr - dSdramHistoryBytesLength;
|
|
else
|
|
SdAddr = Addr;
|
|
tMemInx.D32[0] = *(volatile unsigned int *)(SdAddr + 0);
|
|
tMemInx.D32[1] = *(volatile unsigned int *)(SdAddr + 4);
|
|
}else
|
|
if(What == 2){
|
|
Addr = Record.Buf4Sv.SdramAddrStart + aInx * 64;
|
|
if(Addr >= (dSdramSvHistoryContentBaseAddr + dSdramHistoryBytesLength) )
|
|
SdAddr = Addr - dSdramHistoryBytesLength;
|
|
else
|
|
SdAddr = Addr;
|
|
tMemInx.D32[0] = *(volatile unsigned int *)(SdAddr + 0);
|
|
tMemInx.D32[1] = *(volatile unsigned int *)(SdAddr + 4);
|
|
}else
|
|
if(What == 3){
|
|
Addr = Record.Buf4Fault.SdramAddrStart + aInx * 64;
|
|
if(Addr >= (dSdramFaultHistoryContentBaseAddr + dSdramHistoryBytesLength) )
|
|
SdAddr = Addr - dSdramHistoryBytesLength;
|
|
else
|
|
SdAddr = Addr;
|
|
tMemInx.D32[0] = *(volatile unsigned int *)(SdAddr + 0);
|
|
tMemInx.D32[1] = *(volatile unsigned int *)(SdAddr + 4);
|
|
}else
|
|
if(What == 4){
|
|
Addr = Record.Buf4Operate.SdramAddrStart + aInx * 64;
|
|
if(Addr >= (dSdramOperateHistoryContentBaseAddr + dSdramHistoryBytesLength) )
|
|
SdAddr = Addr - dSdramHistoryBytesLength;
|
|
else
|
|
SdAddr = Addr;
|
|
tMemInx.D32[0] = *(volatile unsigned int *)(SdAddr + 0);
|
|
tMemInx.D32[1] = *(volatile unsigned int *)(SdAddr + 4);
|
|
}
|
|
return tMemInx.D64;
|
|
}
|
|
|
|
int TPrintInf::PrintOneEntry()
|
|
{
|
|
int i, WhatMax, tInx;
|
|
unsigned long long tMx;
|
|
tMx =0;
|
|
int tDoneCount =0;
|
|
WhatMax = -1;
|
|
for(i=0; i<5; i++){
|
|
if(InfList[i]){
|
|
OnGo.MemX[i] = GetMsgMemInx(i,OnGo.Inx[i]);
|
|
}
|
|
}
|
|
for(i=0; i<5; i++){
|
|
if(InfList[i]){
|
|
if(OnGo.MemX[i] > tMx){
|
|
tMx = OnGo.MemX[i];
|
|
tInx = OnGo.Inx[i];
|
|
WhatMax = i;
|
|
}
|
|
}
|
|
}
|
|
|
|
if(WhatMax <0)return 1;
|
|
|
|
if( (WhatMax > -1) && (WhatMax < 5) ){
|
|
if(WhatMax == 0){
|
|
pMsg->MsgFire->GetEntry4Print(tInx);
|
|
RecordMsg.D32[0] = pMsg->MsgFire->EntryTmp.fData.Body.D32[0];
|
|
RecordMsg.D32[1] = pMsg->MsgFire->EntryTmp.fData.Body.D32[1];
|
|
RecordMsg.D32[2] = pMsg->MsgFire->EntryTmp.fData.Body.D32[2];
|
|
RecordMsg.D32[3] = pMsg->MsgFire->EntryTmp.fData.Body.D32[3];
|
|
RecordMsg.Splite.UserCode = pMsg->MsgFire->EntryTmp.fData.UserCode;
|
|
DoPrint.PrintHistory(0, RecordMsg, &pMsg->MsgFire->Text.Text[24]);
|
|
}else
|
|
if(WhatMax == 1){
|
|
pMsg->MsgLinkage->GetEntry4Print(tInx);
|
|
RecordMsg.D32[0] = pMsg->MsgLinkage->EntryTmp.fData.Body.D32[0];
|
|
RecordMsg.D32[1] = pMsg->MsgLinkage->EntryTmp.fData.Body.D32[1];
|
|
RecordMsg.D32[2] = pMsg->MsgLinkage->EntryTmp.fData.Body.D32[2];
|
|
RecordMsg.D32[3] = pMsg->MsgLinkage->EntryTmp.fData.Body.D32[3];
|
|
RecordMsg.Splite.UserCode = pMsg->MsgLinkage->EntryTmp.fData.UserCode;
|
|
DoPrint.PrintHistory(1, RecordMsg, &pMsg->MsgLinkage->Text.Text[24]);
|
|
}else
|
|
if(WhatMax == 2){
|
|
pMsg->MsgSv->GetEntry4Print(tInx);
|
|
RecordMsg.D32[0] = pMsg->MsgSv->EntryTmp.fData.Body.D32[0];
|
|
RecordMsg.D32[1] = pMsg->MsgSv->EntryTmp.fData.Body.D32[1];
|
|
RecordMsg.D32[2] = pMsg->MsgSv->EntryTmp.fData.Body.D32[2];
|
|
RecordMsg.D32[3] = pMsg->MsgSv->EntryTmp.fData.Body.D32[3];
|
|
RecordMsg.Splite.UserCode = pMsg->MsgSv->EntryTmp.fData.UserCode;
|
|
DoPrint.PrintHistory(2, RecordMsg, &pMsg->MsgSv->Text.Text[24]);
|
|
}else
|
|
if(WhatMax == 3){
|
|
pMsg->MsgFault->GetEntry4Print(tInx);
|
|
RecordMsg.D32[0] = pMsg->MsgFault->EntryTmp.fData.Body.D32[0];
|
|
RecordMsg.D32[1] = pMsg->MsgFault->EntryTmp.fData.Body.D32[1];
|
|
RecordMsg.D32[2] = pMsg->MsgFault->EntryTmp.fData.Body.D32[2];
|
|
RecordMsg.D32[3] = pMsg->MsgFault->EntryTmp.fData.Body.D32[3];
|
|
RecordMsg.Splite.UserCode = pMsg->MsgFault->EntryTmp.fData.UserCode;
|
|
DoPrint.PrintHistory(3, RecordMsg, &pMsg->MsgFault->DescpText.Text[28]);
|
|
}else
|
|
if(WhatMax == 4){
|
|
pMsg->MsgOperate->GetEntry4Print(tInx);
|
|
RecordMsg.D32[0] = pMsg->MsgOperate->EntryTmp.fData.Body.D32[0];
|
|
RecordMsg.D32[1] = pMsg->MsgOperate->EntryTmp.fData.Body.D32[1];
|
|
RecordMsg.D32[2] = pMsg->MsgOperate->EntryTmp.fData.Body.D32[2];
|
|
RecordMsg.D32[3] = pMsg->MsgOperate->EntryTmp.fData.Body.D32[3];
|
|
RecordMsg.Splite.UserCode = pMsg->MsgOperate->EntryTmp.fData.UserCode;
|
|
DoPrint.PrintHistory(4, RecordMsg, &pMsg->MsgOperate->Text.Text[28]);
|
|
}
|
|
OnGo.Inx[WhatMax]--;
|
|
}
|
|
if(InfList[0] && (OnGo.Inx[0] < InxScope.Begin.Fire) ){
|
|
tDoneCount++;
|
|
}
|
|
if(InfList[1] && (OnGo.Inx[1] < InxScope.Begin.Lnk) ){
|
|
tDoneCount++;
|
|
}
|
|
if(InfList[2] && (OnGo.Inx[2] < InxScope.Begin.Sv) ){
|
|
tDoneCount++;
|
|
}
|
|
if(InfList[3] && (OnGo.Inx[3] < InxScope.Begin.Fault) ){
|
|
tDoneCount++;
|
|
}
|
|
if(InfList[4] && (OnGo.Inx[4] < InxScope.Begin.Opa) ){
|
|
tDoneCount++;
|
|
}
|
|
if(tDoneCount >= OnGo.AvaCount)return 1;
|
|
return 0;
|
|
}
|
|
|
|
void TPrintInf::GoPrint()
|
|
{
|
|
int i;
|
|
int MaxCount = PrintBuf_Count /2;
|
|
OnGo.Init();
|
|
OnGo.Inx[0] = this->InxScope.End.Fire;
|
|
OnGo.Inx[1] = this->InxScope.End.Lnk;
|
|
OnGo.Inx[2] = this->InxScope.End.Sv;
|
|
OnGo.Inx[3] = this->InxScope.End.Fault;
|
|
OnGo.Inx[4] = this->InxScope.End.Opa;
|
|
|
|
for(i=0;i<5;i++){
|
|
if(InfList[i])
|
|
OnGo.AvaCount++;
|
|
}
|
|
|
|
for(OnGo.px=0, i=0; (OnGo.px<MaxCount) && (i<Count2Print) ; OnGo.px++, i++){
|
|
if(PrintOneEntry())break;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|