Initial commit

This commit is contained in:
2026-04-06 19:02:09 +08:00
commit d186d7dcc7
743 changed files with 521821 additions and 0 deletions

805
MyCode/Gui/DesignPrmSet.cpp Normal file
View File

@@ -0,0 +1,805 @@
#include "RuntimeData.h"
#include "DesignPrmSet.h"
#include "DevMask.h"
extern "C"{
//#include "user_norflash.h"
#include "user_eeprom.h"
#include "task.h"
}
#define Icon16_Up 1
#define Icon16_Down 2
#define dfAddrLineNum 6
#define dfDescpLineNum 4
#define dfDescpMax 250
#define dWdClr clSkyBlue
#define dWdDisabelClr clNearWhite
#define dWWidth 24
#define dWHeigh 24
#define dRoundR 7
#define dAddr_DescpBuf dAddrSdRam_Commom
void TDesignPrmSet::Init()
{
Tag.Reset();
Setting.Reset();
SaveSta = 0;
LoadBaseTypeList();
ReadData();
IsPermission = 0;
CntError = 0;
}
void TDesignPrmSet::InitBackEnd()
{
Setting.Reset();
LoadBaseTypeList();
ReadData();
IsPermission = 0;
CntError = 0;
}
void TDesignPrmSet::DelayMs(unsigned int aMs)
{
volatile unsigned int mTick;
volatile unsigned int Tick;
for(Tick=0; Tick<aMs; Tick++){
for(mTick=0; mTick<160000; mTick++);
}
}
void TDesignPrmSet::RenderBackGround(void)
{
RectFillRender(ContentGeometry.Left, ContentGeometry.Top, ContentGeometry.Right, ContentGeometry.Bottom, ContentColor);
}
void TDesignPrmSet::RenderBackGround(unsigned int aClr)
{
RectFillRender(ContentGeometry.Left, ContentGeometry.Top, ContentGeometry.Right, ContentGeometry.Bottom, aClr);
}
void TDesignPrmSet::DrawSelf(void)
{
RectFillRender(Lv.Caption.Left, Lv.Caption.Top, Lv.Caption.Right, Lv.Caption.Bottom, CaptionColor);
for(int i=0; i<Lv.Grid.UsingCount; i++)RectFillRender(Lv.Grid.Left[i], Lv.Grid.Top[i], Lv.Grid.Right[i], Lv.Grid.Bottom[i], ItemColor);
IconList->Render(16,Icon16_Up , ArrowUpPoint.x, ArrowUpPoint.y);
IconList->Render(16,Icon16_Down , ArrowDownPoint.x, ArrowDownPoint.y);
if(LanguageEnCn==0){
TextRender_string24(Lv.Caption.Left + 10, Lv.Caption.Top +4, clNearWhite, "工程->设计数量");
if(MainCtl.fData.Split.NetworkMode == 1){
TextRender_string24(Lv.Grid.Left[0] + 6, Lv.Grid.Top[0] +8, clNearWhite, "共 种设备类型. 点位总数 点. 系统总容量 点.");
}else
if(MainCtl.fData.Split.NetworkMode == 2){
TextRender_string24(Lv.Grid.Left[0] + 6, Lv.Grid.Top[0] +8, clNearWhite, "共 种设备类型. 点位总数 点. 本机为区域机 ");
}else{
TextRender_string24(Lv.Grid.Left[0] + 6, Lv.Grid.Top[0] +8, clNearWhite, "共 种设备类型. 点位总数 点. 本机为单机 ");
}
}else{
TextRender_string24(Lv.Caption.Left + 10, Lv.Caption.Top +4, clNearWhite, "Project->Number Of Designe");
if(MainCtl.fData.Split.NetworkMode == 1){
TextRender_string24(Lv.Grid.Left[0] + 6, Lv.Grid.Top[0] +8, clNearWhite, " Types Of Dev; Devices ; Devs On Sys: ");
}else
if(MainCtl.fData.Split.NetworkMode == 2){
TextRender_string24(Lv.Grid.Left[0] + 6, Lv.Grid.Top[0] +8, clNearWhite, " Types Of Dev; Devices ; Regional ");
}else{
TextRender_string24(Lv.Grid.Left[0] + 6, Lv.Grid.Top[0] +8, clNearWhite, " Types Of Dev; Devices ; Stand Alone ");
}
}
}
void TDesignPrmSet::ShowState()
{
if(SaveSta == 0){
TextRender_string24(ResultSavePoint.x, ResultSavePoint.y ,clNearWhite, ItemColor, " ");
}else
if(SaveSta == 1){
if(LanguageEnCn==0) TextRender_string24(ResultSavePoint.x, ResultSavePoint.y ,clNearWhite, ItemColor, "保存成功");
else TextRender_string24(ResultSavePoint.x, ResultSavePoint.y ,clNearWhite, ItemColor, "Saved OK");
}
}
void TDesignPrmSet::ShowState(unsigned int aSta)
{
SaveSta = aSta;
ShowState();
}
void TDesignPrmSet::DrawCaption(void)
{
Caption.Show();
}
void TDesignPrmSet::Show()
{
RenderBackGround();
DrawSelf();
}
void TDesignPrmSet::FullRedraw(int Prm)
{
if(Prm == 0){
RenderBackGround();
DrawSelf();
Analy();
ShowSetting();
ShowState();
}else
if(Prm == 1){
RectFillRender(GuiRedrawDataList[1][0], GuiRedrawDataList[1][1], GuiRedrawDataList[1][2], GuiRedrawDataList[1][3], ContentColor);
DrawSelf();
Analy();
ShowSetting();
ShowState();
if(IsPermission)PmsIntervene4Gui.ReDraw4GuiRecall();
}
}
void TDesignPrmSet::PermissionCmdReturnDraw()
{
RectFillRender(Lv.Grid.Left[1] + 200 -10, Lv.Grid.Top[1] + 12 -10, Lv.Grid.Left[1] + 200 -10 + 400 + 20, Lv.Grid.Top[1] + 12 -10 + 140 + 20, ContentColor);
for(int i=1; i<4; i++)RectFillRender(Lv.Grid.Left[i], Lv.Grid.Top[i], Lv.Grid.Right[i], Lv.Grid.Bottom[i], ItemColor);
ReAligne();
}
void TDesignPrmSet::PermissionCmdGO()
{
ReStorage();
Write2Eep();
ReadData();
ShowState(1);
ReAligne();
}
void TDesignPrmSet::DrawEntryActive(int aInx, int IsENtryActive)
{
if(IsENtryActive)
TRoundSquare::sDrawBySize(16, Lv.Grid.Top[aInx + 1] + 6, dWWidth, dWHeigh, dRoundR, dWdClr, 1);
else
TRoundSquare::sDrawBySize(16, Lv.Grid.Top[aInx + 1] + 6, dWWidth, dWHeigh, dRoundR, dWdDisabelClr , 0);
}
void TDesignPrmSet::DrawEntryTypeString(int aInx)
{
int x, y, dInx;
unsigned char tType;
x = 46;
y = Lv.Grid.Top[aInx + 1] + 6;
dInx = Setting.TopEntry + aInx;
tType = TypeList.dType[dInx];
if(LanguageEnCn==0)
TMyString::sFromStr(StrHwType[tType], TextType);
else
TMyString::sFromStr(StrHwTypeEn[tType], TextType);
TMyString::sFillFixLen(TextType, 32);
TextRender_string24(x,y,clNearWhite,ItemColor, TextType);
}
void TDesignPrmSet::ClearSelected(void)
{
int i;
for(i=0; i<5; i++){
aPanel->Edit[i].Selected = 0;
}
switch(Tag.Inx){
case 0:
TRoundSquare::sSelected(16, Lv.Grid.Top[1] + 6, dWWidth, dWHeigh, 4, ItemColor);
break;
case 1:
aPanel->Edit[0].Show();
break;
case 2:
TRoundSquare::sSelected(16, Lv.Grid.Top[2] + 6, dWWidth, dWHeigh, 4, ItemColor);
break;
case 3:
aPanel->Edit[1].Show();
break;
case 4:
TRoundSquare::sSelected(16, Lv.Grid.Top[3] + 6, dWWidth, dWHeigh, 4, ItemColor);
break;
case 5:
aPanel->Edit[2].Show();
break;
case 6:
TRoundSquare::sSelected(16, Lv.Grid.Top[4] + 6, dWWidth, dWHeigh, 4, ItemColor);
break;
case 7:
aPanel->Edit[3].Show();
break;
}
}
void TDesignPrmSet::Check4Selected(void)
{
int i;
for(i=0; i<5; i++){
aPanel->Edit[i].Selected = 0;
}
switch(Tag.Inx){
case 0:
TRoundSquare::sSelected(16, Lv.Grid.Top[1] + 6, dWWidth, dWHeigh, 4, clNearWhite);
break;
case 1:
aPanel->Edit[0].Selected = 1;
aPanel->Edit[0].Show();
aPanel->Edit[0].ShowCursor();
break;
case 2:
TRoundSquare::sSelected(16, Lv.Grid.Top[2] + 6, dWWidth, dWHeigh, 4, clNearWhite);
break;
case 3:
aPanel->Edit[1].Selected = 1;
aPanel->Edit[1].Show();
aPanel->Edit[1].ShowCursor();
break;
case 4:
TRoundSquare::sSelected(16, Lv.Grid.Top[3] + 6, dWWidth, dWHeigh, 4, clNearWhite);
break;
case 5:
aPanel->Edit[2].Selected = 1;
aPanel->Edit[2].Show();
aPanel->Edit[2].ShowCursor();
break;
case 6:
TRoundSquare::sSelected(16, Lv.Grid.Top[4] + 6, dWWidth, dWHeigh, 4, clNearWhite);
break;
case 7:
aPanel->Edit[3].Selected = 1;
aPanel->Edit[3].Show();
aPanel->Edit[3].ShowCursor();
break;
}
}
void TDesignPrmSet::InitPanel(void)
{
aPanel->Init(100,100,10,10,0,0,clFrmFace, bvRaised);
aPanel->Edit[0].Init(Lv.Grid.Left[1] + 14,Lv.Grid.Top[1] + 36,96,30,0,0,clNearBlack,clNearWhite);
aPanel->Edit[1].Init(Lv.Grid.Left[2] + 14,Lv.Grid.Top[2] + 36,96,30,0,0,clNearBlack,clNearWhite);
aPanel->Edit[2].Init(Lv.Grid.Left[3] + 14,Lv.Grid.Top[3] + 36,96,30,0,0,clNearBlack,clNearWhite);
aPanel->Edit[3].Init(Lv.Grid.Left[4] + 14,Lv.Grid.Top[4] + 36,96,30,0,0,clNearBlack,clNearWhite);
for(int i=0; i<4;i++){
aPanel->Edit[i].Enable = 1;
aPanel->Edit[i].Visible = 1;
aPanel->Edit[i].SetMaxLen(6);
aPanel->Edit[i].SetInputMaskEn();
aPanel->Edit[i].Str.FromStr("0");
aPanel->Edit[i].Selected = 0;
}
ReadData();
Analy();
ShowSetting();
}
void TDesignPrmSet::ShowSetting()
{
for(int i=Setting.TopEntry, Pcnt=0; (i<TypeList.Count) && (Pcnt<4); i++,Pcnt++){
if(Setting.Using[i]){
DrawEntryActive(Pcnt, 1);
DrawEntryTypeString(Pcnt);
}else{
DrawEntryActive(Pcnt, 0);
DrawEntryTypeString(Pcnt);
}
aPanel->Edit[Pcnt].Str.FromUInt6Dg(Setting.Count[i]);
aPanel->Edit[Pcnt].SetPstTail();
aPanel->Edit[Pcnt].Show();
aPanel->Edit[Pcnt].ShowCursor();
}
Check4Selected();
}
void TDesignPrmSet::LoadData()
{
int i;
ReadData();
aPanel->Edit[0].Str.FromUInt(DesigePrmData.Count.Smoke);
aPanel->Edit[1].Str.FromUInt(DesigePrmData.Count.ModuleInOut);
aPanel->Edit[2].Str.FromUInt(DesigePrmData.Count.Tempe);
aPanel->Edit[3].Str.FromUInt(DesigePrmData.Count.ModuleOutput);
for(i=0; i<4; i++){
aPanel->Edit[i].SetPstTail();
aPanel->Edit[i].Show();
}
aPanel->ReDrawItems();
Check4Selected();
}
void TDesignPrmSet::SaveData()
{
}
TGuiMsgReturn TDesignPrmSet::KeyIn(unsigned char aKey)
{
TGuiMsgReturn aMsg = guiMsgNone;
int uKey, iVal;
unsigned char aIndex;
char LastChr;
const char *p;
int i;
TGuiMsgReturn PmsRtnMsg;
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{
switch(aKey){
case VK_DELETE:
case VK_LEFT:
case VK_RIGHT:
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
if(Tag.Inx < 8){
if(Tag.Inx & 0x01){
const int eInx = Tag.Inx /2;
aPanel->Edit[eInx].KeyIn(aKey);
iVal = aPanel->Edit[eInx].Str.ToInteger();
if( (iVal <0) || (iVal>60000) ){
CntError = 1;
aPanel->Edit[eInx].SelectedColor = clRed;
}else{
CntError = 0;
aPanel->Edit[eInx].SelectedColor = clBlue;
}
aPanel->Edit[eInx].CorrectPst();
aPanel->Edit[eInx].Show();
ReStorage();
Analy();
}else{
const int rInx = Tag.Inx /2 + 1;
Setting.Using[Setting.Entry] = Setting.Using[Setting.Entry] ? 0 : 1;
Setting.Using[Setting.Entry] ?
TRoundSquare::sDrawBySize(Lv.Grid.Left[rInx] + 16, Lv.Grid.Top[rInx] + 6, dWWidth, dWHeigh, dRoundR, dWdClr, 1) :
TRoundSquare::sDrawBySize(Lv.Grid.Left[rInx] + 16, Lv.Grid.Top[rInx] + 6, dWWidth, dWHeigh, dRoundR, dWdDisabelClr , 0);
Analy();
}
}
break;
case VK_UP:
if(CntError == 0){
if(Tag.Inx >0){
ClearSelected();
Tag.Inx--;
Setting.Entry = Setting.TopEntry + (Tag.Inx /2);
if(Setting.Entry <0)Setting.Entry = 0;
Check4Selected();
}else{
if(Setting.TopEntry >0){
ReStorage();
ClearSelected();
Tag.Inx = 1;
Setting.TopEntry--;
Setting.Entry = Setting.TopEntry;
ReAligne();
Check4Selected();
}
}
}
break;
case VK_DOWN:
if(CntError == 0){
if(Tag.Inx < 7){
ClearSelected();
Tag.Inx++;
Setting.Entry = Setting.TopEntry + (Tag.Inx /2);
Check4Selected();
}else{
if(Setting.Entry < (TypeList.Count -1)){
ReStorage();
ClearSelected();
Tag.Inx = 6;
Setting.TopEntry++;
Setting.Entry++;
ReAligne();
Check4Selected();
}
}
}
break;
case VK_TAB:
break;
case dfKEY_SETUP:
if( (Tag.Inx & 0x01) == 0){
int rInx = Tag.Inx /2 + 1;
Setting.Using[Setting.Entry] = Setting.Using[Setting.Entry] ? 0 : 1;
Setting.Using[Setting.Entry] ?
TRoundSquare::sDrawBySize(Lv.Grid.Left[rInx] + 16, Lv.Grid.Top[rInx] + 6, dWWidth, dWHeigh, dRoundR, dWdClr, 1) :
TRoundSquare::sDrawBySize(Lv.Grid.Left[rInx] + 16, Lv.Grid.Top[rInx] + 6, dWWidth, dWHeigh, dRoundR, dWdDisabelClr , 0);
Analy();
}
break;
case VK_EXECUTE:
if(CntError == 0){
if(SystemPermission > 2){
PermissionCmdGO();
}else{
IsPermission = 1;
PmsIntervene4Gui.Show4Gui(Lv.Grid.Left[1] + 200, Lv.Grid.Top[1] + 12, 400, 140, 3);
}
}
break;
}
if( (aKey != VK_EXECUTE) && (aKey == VK_RETURN) )ShowState(0);
if(aKey == VK_RETURN){
aMsg = guiMsgReturn;
}
}
return aMsg;
}
void TDesignPrmSet::Write2Eep()
{
unsigned int eAddr;
unsigned int i;
volatile unsigned int aWait, x, wP0, Wait4;
unsigned char Inx;
//Write Using Count
eAddr = dEepAddrDesignPrm;
DelayMs(10);
for(i=0; i<128; i++)ReadWriteData.D8[i] = 0;
ReadWriteData.D8[0] = TypeList.Count;
eeprom_write_byte_via_page(0, eAddr, ReadWriteData.D8, 1);
DelayMs(10);
//Write List 1/2
for(i=0; i<128; i++)ReadWriteData.D8[i] = 0;
for(i=0; i<128; i++){
ReadWriteData.D8[i] = Setting.Using[i];
}
eAddr = dEepAddrDesignPrm + 128;
DelayMs(10);
eeprom_write_byte_via_page(0, eAddr, ReadWriteData.D8, 128);
//Write List 2/2
for(i=0; i<128; i++)ReadWriteData.D8[i] = 0;
for(i=0; i<128; i++){
ReadWriteData.D8[i] = Setting.Using[i +128];
}
eAddr = dEepAddrDesignPrm + 256;
DelayMs(10);
eeprom_write_byte_via_page(0, eAddr, ReadWriteData.D8, 128);
//Write 8 Times(32 Per Time) = 256 Point Count And Type
for(Inx=0; Inx<8; Inx++){
eAddr = dEepAddrDesignPrm + 384 + (Inx*128);
if(TypeList.Count > (Inx*32)){
for(i=0; i<128; i++)ReadWriteData.D8[i] = 0;
x = Inx*32;
for(i=0; i<32; i++){
ReadWriteData.Count[i] = Setting.Count[x+i];
ReadWriteData.Pnt[i].sType = TypeList.dType[x+i];
}
DelayMs(10);
eeprom_write_byte_via_page(0, eAddr, ReadWriteData.D8, 128);
}
}
DelayMs(10);
ReadData();
LoadData2RuntimeData();
}
void TDesignPrmSet::RecoverSetDefault()
{
unsigned int eAddr;
unsigned int i;
volatile unsigned int aWait, x, wP0, Wait4;
unsigned char Inx;
//Write Using Count
SysLoopTick = 0;
eAddr = dEepAddrDesignPrm;
DelayMs(10);
for(i=0; i<128; i++)ReadWriteData.D8[i] = 0;
eeprom_write_byte_via_page(0, eAddr, ReadWriteData.D8, 1);
DelayMs(10);
//Write List 1/2
for(i=0; i<128; i++)ReadWriteData.D8[i] = 0;
eAddr = dEepAddrDesignPrm + 128;
DelayMs(10);
eeprom_write_byte_via_page(0, eAddr, ReadWriteData.D8, 128);
//Write List 2/2
for(i=0; i<128; i++)ReadWriteData.D8[i] = 0;
eAddr = dEepAddrDesignPrm + 256;
DelayMs(10);
eeprom_write_byte_via_page(0, eAddr, ReadWriteData.D8, 128);
//Write 8 Times(32 Per Time) = 256 Point Count And Type
for(i=0; i<128; i++)ReadWriteData.D8[i] = 0;
for(Inx=0; Inx<8; Inx++){
SysLoopTick = 0;
eAddr = dEepAddrDesignPrm + 384 + (Inx*128);
DelayMs(10);
eeprom_write_byte_via_page(0, eAddr, ReadWriteData.D8, 128);
}
}
void TDesignPrmSet::ReadData()
{
unsigned int eAddr;
unsigned int i;
volatile unsigned int x, tCnt;
unsigned char Inx, dType;
//Read ExistTable
eAddr = dEepAddrDesignPrm;
DelayMs(10);
for(i=0; i<128; i++)ReadWriteData.D8[i] = 0;
eeprom_read_byte(0, eAddr, ReadWriteData.D8, 1);
DelayMs(10);
for(i=0; i<128; i++)ReadWriteData.D8[i] = 0;
eAddr = dEepAddrDesignPrm + 128;
eeprom_read_byte(0, eAddr, ReadWriteData.D8, 128);
for(i=0; i<128; i++){
TmpUsing[i] = ReadWriteData.D8[i];
}
for(i=0; i<128; i++)ReadWriteData.D8[i] = 0;
eAddr = dEepAddrDesignPrm + 256;
DelayMs(10);
eeprom_read_byte(0, eAddr, ReadWriteData.D8, 128);
for(i=0; i<128; i++){
TmpUsing[i +128] = ReadWriteData.D8[i];
}
for(Inx=0; Inx<8; Inx++){
eAddr = dEepAddrDesignPrm + 384 + (Inx*128);
if(TypeList.Count > (Inx*32)){
for(i=0; i<128; i++)ReadWriteData.D8[i] = 0;
DelayMs(10);
eeprom_read_byte(0, eAddr, ReadWriteData.D8, 128);
x = Inx*32;
for(i=0; i<32; i++){
tCnt = ReadWriteData.Count[i] & 0x00FFFFFF;
dType = ReadWriteData.Pnt[i].sType;
for(int e=0; e<TypeList.Count; e++){
if(dType == TypeList.dType[e]){
Setting.Using[e] = TmpUsing[e];
Setting.Count[e] = tCnt;
}
}
}
}
}
}
void TDesignPrmSet::LoadData2RuntimeData()
{
int x;
unsigned char dType;
unsigned int tCnt;
DesigePrmData.Count.DisplayPad = 0;
DesigePrmData.Count.HandReport = 0;
DesigePrmData.Count.HydrantKp = 0;
DesigePrmData.Count.ModuleInOut = 0;
DesigePrmData.Count.ModuleInput = 0;
DesigePrmData.Count.ModuleOutput = 0;
DesigePrmData.Count.Smoke = 0;
DesigePrmData.Count.Tempe = 0;
DesigePrmData.Count.Va = 0;
DesigePrmData.Count.LnkPs = 0;
DesigePrmData.Count.Other = 0;
for(int e=0; e<TypeList.Count; e++){
dType = TypeList.dType[e];
tCnt = Setting.Count[e];
if(Setting.Using[e]){
if(dType == dgTYPE_SMOKE_DETECTOR){
DesigePrmData.Count.Smoke = tCnt;
}else
if(dType == dgTYPE_TEMPE_DETECTOR){
DesigePrmData.Count.Tempe = tCnt;
}else
if(dType == dgTYPE_HAND_REPORT){
DesigePrmData.Count.HandReport = tCnt;
}else
if(dType == dgTYPE_FIRE_HydrantKp){
DesigePrmData.Count.HydrantKp = tCnt;
}else
if(dType == dgTYPE_IN_MODULE){
DesigePrmData.Count.ModuleInput = tCnt;
}else
if(dType == dgTYPE_OUT_MODULE){
DesigePrmData.Count.ModuleOutput = tCnt;
}else
if(dType == dgTYPE_INOUT_MODULE_NonSource){
DesigePrmData.Count.ModuleInOut = tCnt;
}else
if(dType == dgType_VAALRAM){
DesigePrmData.Count.Va = tCnt;
}else
if(dType == dgTYPE_DISPLAY_PAD){
DesigePrmData.Count.DisplayPad = tCnt;
}else
if(dType == dgTYPE_LINKAGE_POWERSUPLY){
DesigePrmData.Count.LnkPs = tCnt;
}
}
}
if(DesigePrmData.Count.DisplayPad >= 60000)DesigePrmData.Count.DisplayPad = 0;
if(DesigePrmData.Count.HandReport >= 60000)DesigePrmData.Count.HandReport = 0;
if(DesigePrmData.Count.HydrantKp >= 60000)DesigePrmData.Count.HydrantKp = 0;
if(DesigePrmData.Count.ModuleInOut >= 60000)DesigePrmData.Count.ModuleInOut = 0;
if(DesigePrmData.Count.ModuleInput >= 60000)DesigePrmData.Count.ModuleInput = 0;
if(DesigePrmData.Count.ModuleOutput >= 60000)DesigePrmData.Count.ModuleOutput = 0;
if(DesigePrmData.Count.Smoke >= 60000)DesigePrmData.Count.Smoke = 0;
if(DesigePrmData.Count.Tempe >= 60000)DesigePrmData.Count.Tempe = 0;
if(DesigePrmData.Count.Va >= 60000)DesigePrmData.Count.Va = 0;
if(DesigePrmData.Count.LnkPs >= 60000)DesigePrmData.Count.LnkPs = 0;
if(DesigePrmData.Count.Other >= 60000)DesigePrmData.Count.Other = 0;
}
void TDesignPrmSet::BackEnd_LoadData2RuntimeData()
{
InitBackEnd();
LoadBaseTypeList();
ReadData();
LoadData2RuntimeData();
}
void TDesignPrmSet::LoadBaseTypeList()
{
int i;
unsigned int aAddr;
char *cText;
TypeList.Count = 0;
for(i=0; i<256; i++){
TypeList.dType[i] = 0;
}
//Load Hw Define Type & Manufacturer Define Type
TypeList.Count = 0;
if(LanguageEnCn==0){
cText = "";
for(i=0; i<256; i++){
if( (StrHwType[i][0] != cText[0]) && (StrHwType[i][1] != cText[1]) ){
TypeList.dType[TypeList.Count] = i;
TypeList.Count++;
}
}
}else{
cText = "un";
for(i=0; i<256; i++){
if( (StrHwTypeEn[i][0] != cText[0]) && (StrHwTypeEn[i][1] != cText[1]) ){
TypeList.dType[TypeList.Count] = i;
TypeList.Count++;
}
}
}
//Load User Define Type
for(i=0; i<256; i++){
// if( (StrHwType[i][0] != cText[0]) && (StrHwType[i][1] != cText[1]) ){
// TypeList.dType[TypeList.Count] = i;
// TypeList.Count++;
// }
}
}
void TDesignPrmSet::ReStorage()
{
int tEntry = Setting.TopEntry;
for(int i=0; i<4; i++){
Setting.Count[tEntry] = aPanel->Edit[i].Str.ToInteger();
tEntry++;
if(tEntry >= TypeList.Count)break;
}
}
void TDesignPrmSet::ReAligne()
{
for(int i=Setting.TopEntry, Pcnt=0; (i<TypeList.Count) && (Pcnt<4); i++,Pcnt++){
if(Setting.Using[i]){
DrawEntryActive(Pcnt, 1);
DrawEntryTypeString(Pcnt);
}else{
DrawEntryActive(Pcnt, 0);
DrawEntryTypeString(Pcnt);
}
aPanel->Edit[Pcnt].Str.FromUInt6Dg(Setting.Count[i]);
aPanel->Edit[Pcnt].SetPstTail();
aPanel->Edit[Pcnt].Show();
aPanel->Edit[Pcnt].ShowCursor();
}
}
void TDesignPrmSet::Analy()
{
Setting.UsingTypeCount = 0;
Setting.EpCount =0;
for(int i=0; i<TypeList.Count; i++){
if(Setting.Using[i] != 0){
Setting.UsingTypeCount++;
Setting.EpCount += Setting.Count[i];
}
}
TextDigitRender3Right24(Lv.Grid.Left[0] + 30, Lv.Grid.Top[0] + 8, clNearWhite, ItemColor, Setting.UsingTypeCount);
TextDigitRender6Right24(Lv.Grid.Left[0] + 318, Lv.Grid.Top[0] + 8, clNearWhite, ItemColor, Setting.EpCount);
}
void TDesignPrmSet::ExtLoadData()
{
ExtInf.UsingTypeCount = 0;
ExtInf.EpCount =0;
for(int i=0; i<TypeList.Count; i++){
if(Setting.Using[i] != 0){
ExtInf.UsingTypeCount++;
ExtInf.EpCount += Setting.Count[i];
}
}
}