📄 presunit.cpp
字号:
//////////////////////////////////////////////////////////////////////////////
// //
// File : PRESUNIT.CPP //
// Author : Alaster Jones //
// Purpose : Unit conversion table //
// Issue : 1.0 //
// //
// Changes.... //
// Date Iss Prog MCF Details //
// //
//////////////////////////////////////////////////////////////////////////////
//---------------------------------------------------------------------------
#include "stdafx.h"
#include "PresUnit.h"
//---------------------------------------------------------------------------
#define USERDEF_UNITS_OFFSET 24
PressureUnit Units[] =
{ {"mbar", 1.0},
{"bar", 1000.0},
{"kPa", 10.0},
{"MPa", 10000.0},
{"mmHg", 1.333223874},
{"mmH2O", 0.0980665},
{"Pa", 0.01},
{"hPa", 1.0},
{"kg/cm2", 980.665},
{"kg/m2", 0.0980665},
{"cmHg", 13.33223874},
{"mHg", 1333.223874},
{"cmH2O", 0.980665},
{"mH2O", 98.0665},
{"torr", 1.333223684},
{"atm", 1013.25},
{"psi", 68.94757293},
{"lb/ft2", 0.4788025898},
{"inHg", 33.86388640341},
{"inH2O", 2.486413},
{"inH2O4", 2.4908891},
{"ftH2O", 29.836983},
{"ftH2O4", 29.8906692},
{"inH2O60", 2.487641558},
{"", 1}, // User defined 1
{"", 1}, // User defined 2
{"\0", 0}
};
PressureUnit * GetPressureUnit(char * szUnit)
{
PressureUnit * pUnit = NULL;
SHORT sCount = 0;
if (stricmp(szUnit, "User1") == 0)
{
pUnit = &Units[USERDEF_UNITS_OFFSET];
}
else if (stricmp(szUnit, "User2") == 0)
{
pUnit = &Units[USERDEF_UNITS_OFFSET + 1];
}
else
{
while (Units[sCount].szName[0] && !pUnit)
{
if (stricmp(szUnit, Units[sCount].szName) == 0)
{
pUnit = &Units[sCount];
}
sCount++;
}
}
return pUnit;
}
void AddUserDefinedUnit(SHORT sIndex, char * szName, DOUBLE dFactor)
{
// Copy the unit name
strcpy(Units[sIndex + USERDEF_UNITS_OFFSET - 1].szName, szName);
// Copy the unit conversion, accounting for the fact that the factor sent
// represents Pascals per unit, not millibars
Units[sIndex + USERDEF_UNITS_OFFSET - 1].dConversion = dFactor * 0.01;
}
SHORT GetUserDefinedIndex(char * szUnit)
{
SHORT sIndex = 0;
if (stricmp(Units[USERDEF_UNITS_OFFSET].szName, szUnit) == 0)
{
sIndex = 1;
}
else if (stricmp(Units[USERDEF_UNITS_OFFSET + 1].szName, szUnit) == 0)
{
sIndex = 2;
}
return sIndex;
}
void GetUserDefinedUnit(CHAR * strUnit)
{
if(!strcmp(strUnit,"USER1"))
strcpy(strUnit,Units[USERDEF_UNITS_OFFSET].szName);
else if(!strcmp(strUnit,"USER2"))
strcpy(strUnit,Units[USERDEF_UNITS_OFFSET + 1].szName);
}
//////////////////////////////////////////////////////////////////////////////
// //
// End of file : PRESUNIT.CPP //
// //
//////////////////////////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -