📄 mmiunitconversion.c
字号:
break;
}
switch(data->unit2.unit)
{
case GRAM:
data->unit2.value=t*1000;
break;
case KILOGRAM:
data->unit2.value=t;
break;
case TON:
data->unit2.value=t/1000;
break;
case OUNCE:
data->unit2.value=t*1000/31.03;
break;
case POUND:
data->unit2.value=t/0.373;
break;
}
break;
} */
memset(data->stringbuffer,0,sizeof(data->stringbuffer));
data->index=0;
data->unit1.value=0;
data->unit2.value=0;
data->index=0;
afterpointflag=FALSE;
afterpointcount1=0;
if((data->unit1.value>MAX_CHANGE_VALUE)||(data->unit2.value>MAX_CHANGE_VALUE))
{
dialog_info_init(&display_info);//gdy add
display_info.KeyEvents = KEY_OK | KEY_RIGHT | KEY_LEFT;
display_info.LeftSoftKey = '\0';
display_info.RightSoftKey = '\0';
display_info.TextString = '\0';
display_info.TextString2 = '\0';
display_info.TextId2 =TxtOverflow;
display_info.TextId = '\0';
display_info.Time = ONE_SECS;
display_info.Callback = (T_VOID_FUNC)NULL;
/*
* Call Info Screen
*/
info_dialog (win, &display_info);
data->unit1.value=0;
data->unit2.value=0;
memset(data->stringbuffer,0,sizeof(data->stringbuffer));
data->index=0;
}
//RightKeyFlag=FALSE;
winShow(win);
break;
case KCD_MNURIGHT:
switch(data->unit_type)
{
case LENGTH:
if(!data->position)
{
if(data->unit1.unit<YARD)
data->unit1.unit++;
else data->unit1.unit=METER;
}
else
{
if(data->unit2.unit<YARD)
data->unit2.unit++;
else data->unit2.unit=METER;
}
break;
case AREA:
if(!data->position)
{
if(data->unit1.unit<SQ_INCH)
data->unit1.unit++;
else data->unit1.unit=SQ_METER;
}
else
{
if(data->unit2.unit<SQ_INCH)
data->unit2.unit++;
else data->unit2.unit=SQ_METER;
}
break;
case VOLUME:
if(!data->position)
{
if(data->unit1.unit<QT)
data->unit1.unit++;
else data->unit1.unit=ML;
}
else
{
if(data->unit2.unit<QT)
data->unit2.unit++;
else data->unit2.unit=ML;
}
break;
case WEIGHT:
if(!data->position)
{
if(data->unit1.unit<POUND)
data->unit1.unit++;
else data->unit1.unit=GRAM;
}
else
{
if(data->unit2.unit<POUND)
data->unit2.unit++;
else data->unit2.unit=GRAM;
}
break;
}
/*
data->unit1.value=change((char*)data->stringbuffer);
switch(data->unit_type)
{
case LENGTH:
switch(data->unit1.unit)
{
case METER:
t=data->unit1.value;
break;
case DECIMETER:
t=data->unit1.value/10;
break;
case CENTIMETER:
t=data->unit1.value/100;
break;
case MILLIMETER:
t=data->unit1.value/1000;
break;
case INCH:
t=data->unit1.value*2.45/100;
break;
case FOOT:
t=data->unit1.value*30.48/100;
break;
case MILE:
t=data->unit1.value*1609;
break;
case YARD:
t=data->unit1.value*0.914;
break;
case NAUTICAL_MILE:
t=data->unit1.value*1852;
break;
}
switch(data->unit2.unit)
{
case METER:
data->unit2.value=t;
break;
case DECIMETER:
data->unit2.value=t*10;
break;
case CENTIMETER:
data->unit2.value=t*100;
break;
case MILLIMETER:
data->unit1.value=t*1000;
break;
case INCH:
data->unit2.value=t*100/2.45;
break;
case FOOT:
data->unit2.value=t*100/30.48;
break;
case MILE:
data->unit2.value=t/1609;
break;
case YARD:
data->unit2.value=t/0.914;
break;
case NAUTICAL_MILE:
data->unit2.value/1852;
break;
}
break;
case AREA:
switch(data->unit1.unit)
{
case SQ_METER:
t=data->unit1.value;
break;
case HECTARE:
t=data->unit1.value*10000;
break;
case MU:
t=data->unit1.value/0.0015;
break;
case SQ_FOOT:
t=data->unit1.value*929/10000;
break;
case SQ_YARD:
t=data->unit1.value*0.836;
break;
case ACRE:
t=data->unit1.value*4047;
break;
case SQ_INCH:
t=data->unit1.value*6.451/10000;
break;
}
switch(data->unit2.unit)
{
case SQ_METER:
data->unit2.value=t;
break;
case HECTARE:
data->unit2.value=t/10000;
break;
case MU:
data->unit2.value=t/0.0015;
break;
case SQ_FOOT:
data->unit2.value=t*10000/929;
break;
case SQ_YARD:
data->unit2.value=t/0.836;
break;
case ACRE:
data->unit2.value=t/4047;
break;
case SQ_INCH:
data->unit2.value=t*10000/6.451;
break;
}
break;
case VOLUME:
switch(data->unit1.unit)
{
case LITRE:
t=data->unit1.value;
break;
case ML:
t=data->unit1.value/1000;
break;
case GAL:
t=data->unit1.value*4.546;
break;
case QT:
t=data->unit1.value*1.136;
break;
}
switch(data->unit2.unit)
{
case LITRE:
data->unit2.value=t;
break;
case ML:
data->unit2.value=t*1000;
break;
case GAL:
data->unit2.value=t/4.546;
break;
case QT:
data->unit2.value=t/1.136;
break;
}
break;
case WEIGHT:
switch(data->unit1.unit)
{
case GRAM:
t=data->unit1.value/1000;
break;
case KILOGRAM:
t=data->unit1.value;
break;
case TON:
t=data->unit1.value*1000;
break;
case OUNCE:
t=data->unit1.value*31.03/1000;
break;
case POUND:
t=data->unit1.value*0.373;
break;
}
switch(data->unit2.unit)
{
case GRAM:
data->unit2.value=t*1000;
break;
case KILOGRAM:
data->unit2.value=t;
break;
case TON:
data->unit2.value=t/1000;
break;
case OUNCE:
data->unit2.value=t*1000/31.03;
break;
case POUND:
data->unit2.value=t/0.373;
break;
}
break;
}*/
memset(data->stringbuffer,0,sizeof(data->stringbuffer));
data->index=0;
data->unit1.value=0;
data->unit2.value=0;
data->index=0;
afterpointflag=FALSE;
afterpointcount1=0;
if((data->unit1.value>MAX_CHANGE_VALUE)||(data->unit2.value>MAX_CHANGE_VALUE))
{
dialog_info_init(&display_info);//gdy add
display_info.KeyEvents = KEY_OK | KEY_RIGHT | KEY_LEFT;
display_info.LeftSoftKey = '\0';
display_info.RightSoftKey = '\0';
display_info.TextString = '\0';
display_info.TextString2 = '\0';
display_info.TextId2 =TxtOverflow;
display_info.TextId = '\0';
display_info.Time = ONE_SECS;
display_info.Callback = (T_VOID_FUNC)NULL;
/*
* Call Info Screen
*/
info_dialog (win, &display_info);
data->unit1.value=0;
data->unit2.value=0;
memset(data->stringbuffer,0,sizeof(data->stringbuffer));
data->index=0;
}
//RightKeyFlag=FALSE;
winShow(win);
break;
case KCD_RIGHT:
if(strlen(data->stringbuffer))
{
pointflag=TRUE;
if(data->stringbuffer[strlen(data->stringbuffer)-1]=='.')
{
afterpointcount1=0;
afterpointflag=FALSE;
pointflag=FALSE;
}
data->stringbuffer[strlen(data->stringbuffer)-1]='\0';
data->index--;
data->unit1.value=change((char*)data->stringbuffer);
switch(data->unit_type)
{
case LENGTH:
switch(data->unit1.unit)
{
case METER:
t=data->unit1.value;
break;
case DECIMETER:
t=data->unit1.value/10;
break;
case CENTIMETER:
t=data->unit1.value/100;
break;
case MILLIMETER:
t=data->unit1.value/1000;
break;
case INCH:
t=data->unit1.value*2.45/100;
break;
case FOOT:
t=data->unit1.value*30.48/100;
break;
case MILE:
t=data->unit1.value*1609;
break;
case YARD:
t=data->unit1.value*0.914;
break;
}
switch(data->unit2.unit)
{
case METER:
data->unit2.value=t;
break;
case DECIMETER:
data->unit2.value=t*10;
break;
case CENTIMETER:
data->unit2.value=t*100;
break;
case MILLIMETER:
data->unit1.value=t*1000;
break;
case INCH:
data->unit2.value=t*100/2.45;
break;
case FOOT:
data->unit2.value=t*100/30.48;
break;
case MILE:
data->unit2.va
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -