亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? channelinfo.cpp

?? 數(shù)據(jù)庫開發(fā)
?? CPP
字號:
#include "stdafx.h"
#include "channelInfo.h"

CChannelInfo::CChannelInfo()
{
	Init();
}

CChannelInfo::~CChannelInfo()
{
	
}

int CChannelInfo::StringToInt(CString s)
{
	int nReturn = 0;
	char cc[10];
	wsprintf(cc, "%s", s);
	nReturn = atoi(cc);
	return nReturn;
}

float CChannelInfo::StringToFloat(CString s)
{
	float fReturn = 0;
	char cc[10];
	wsprintf(cc, "%s", s);
	fReturn = atof(cc);
	return fReturn;
}

int CChannelInfo::Init()
{
	m_nCount = 0;
	
	for(int i = 0; i < TOTAL_CHANNEL_NUM; i++)
	{
		m_sName[i].Format("模擬量%d", i);
		m_sUnit[i].Format("單位%d", i);
		m_nIndex[i] = i;
		m_bCheat[i] = TRUE;
		m_fMaxsj[i] = 20;
		m_fMinsj[i] = 4;
		m_fMaxll[i] = 100;	
		m_fMinll[i] = 0;	
		m_fSlope[i] = 1;		//斜率校正
		m_fOffset[i]= 0;		//偏移量
		m_fBjsx[i]	= 95;		//報警上限
		m_fBjxx[i]	= 5;		//報警下限
		m_fXssx[i]	= 85;		//顯示上限
		m_fXsxx[i]	= 15;		//顯示下限
	}
	
	return 0;
}

BOOL CChannelInfo::LoadFromIniFile(CString sPath)
{
	CString sInfoFile;
	sInfoFile = sPath;// + "\\channel.ini";

    TCHAR buffer[1024];
    CStdioFile File;
    CFileException ex;
	CString ss, sz;
	long l = 0;
	int  nCount;
	
    if (!File.Open(sInfoFile, CFile::modeRead | CFile::typeText))
    {
        ex.ReportError();
        return FALSE;
    }

    // Read Header off file
	File.ReadString(buffer, 1024);
	ss.Format("%s", buffer);
	ss.TrimLeft();
	ss.TrimRight();
	if(ss.CompareNoCase("[Channel]"))
	{
		File.Close();
		return FALSE;
	}
			
	nCount = 0;
	while (File.ReadString(buffer, 1024)&&(nCount < TOTAL_CHANNEL_NUM))
	{
		ss.Format("%s", buffer);
		ss.TrimLeft();
		ss.TrimRight();
	
		//通道配置序號
		l = ss.Find(",", 0);
		sz = ss.Left(l);
		m_nIndex[nCount] = StringToInt(sz);
		ss = ss.Right(ss.GetLength() - l - 1);
		
		//路通道名稱
		l = ss.Find(",", 0);
		sz = ss.Left(l);
		m_sName[nCount] = sz;
		ss = ss.Right(ss.GetLength() - l - 1);
		
		//路工程單位
		l = ss.Find(",", 0);
		sz = ss.Left(l);
		m_sUnit[nCount] = sz;
		ss = ss.Right(ss.GetLength() - l - 1);
		
		//報警上限
		l = ss.Find(",", 0);
		sz = ss.Left(l);
		m_fBjsx[nCount] = StringToFloat(sz);	
		ss = ss.Right(ss.GetLength() - l - 1);

		//報警下限
		l = ss.Find(",", 0);
		sz = ss.Left(l);
		m_fBjxx[nCount] = StringToFloat(sz);	
		ss = ss.Right(ss.GetLength() - l - 1);

		//理論上限
		l = ss.Find(",", 0);
		sz = ss.Left(l);
		m_fMaxll[nCount] = StringToFloat(sz);	
		ss = ss.Right(ss.GetLength() - l - 1);

		//理論下限
		l = ss.Find(",", 0);
		sz = ss.Left(l);
		m_fMinll[nCount] = StringToFloat(sz);	
		ss = ss.Right(ss.GetLength() - l - 1);

		//實際上限
		l = ss.Find(",", 0);
		sz = ss.Left(l);
		m_fMaxll[nCount] = StringToFloat(sz);	
		ss = ss.Right(ss.GetLength() - l - 1);

		//實際下限
		l = ss.Find(",", 0);
		sz = ss.Left(l);
		m_fMinll[nCount] = StringToFloat(sz);	
		ss = ss.Right(ss.GetLength() - l - 1);

		//斜率
		l = ss.Find(",", 0);
		sz = ss.Left(l);
		m_fSlope[nCount] = StringToFloat(sz);	
		ss = ss.Right(ss.GetLength() - l - 1);

		//偏移
		l = ss.Find(",", 0);
		sz = ss.Left(l);
		m_fOffset[nCount] = StringToFloat(sz);	
		ss = ss.Right(ss.GetLength() - l - 1);

		//顯示上限
		l = ss.Find(",", 0);
		sz = ss.Left(l);
		m_fXssx[nCount] = StringToFloat(sz);	
		ss = ss.Right(ss.GetLength() - l - 1);
		
		//顯示下限
		l = ss.Find(",", 0);
		sz = ss.Left(l);
		m_fXsxx[nCount] = StringToFloat(sz);	
		ss = ss.Right(ss.GetLength() - l - 1);

		//作弊模式
		l = ss.Find(",", 0);
		sz = ss.Left(l);
		if(StringToInt(sz) == 0)
			m_bCheat[nCount] = FALSE;	
		else
			m_bCheat[nCount] = TRUE;	
		ss = ss.Right(ss.GetLength() - l - 1);

		//報警模式 啟用/關(guān)閉
		l = ss.Find(",", 0);
		sz = ss.Left(l);
		if(StringToInt(sz) == 0)
			m_bBjOn[nCount] = FALSE;	
		else
			m_bBjOn[nCount] = TRUE;	

		nCount++; 
	}		
	m_nCount = nCount; 
	File.Close();
	
	return TRUE;
}

BOOL CChannelInfo::SaveToIniFile(CString sPath)
{
	CString sInfoFile;
	sInfoFile = sPath;// + _T("\\channel.ini");

    CStdioFile File;
    CFileException ex;
	CString ss;
	
    if (!File.Open(sInfoFile, CFile::modeWrite | CFile::modeCreate| CFile::typeText, &ex))
    {
        ex.ReportError();
        return FALSE;
    }

    // Write Header off file
	ss = _T("[Channel]");
	File.WriteString(ss);
	File.WriteString("\n");
	
	for(int i = 0; i < TOTAL_CHANNEL_NUM; i++)
	{
		//通道配置序號
		ss.Format("%d,%s,%s,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,", m_nIndex[i], m_sName[i], m_sUnit[i], m_fBjsx, m_fBjxx, m_fMaxll, m_fMinll, m_fMaxsj, m_fMinsj, m_fSlope[i], m_fOffset[i], m_fXssx[i], m_fXsxx[i]);
		File.WriteString(ss);
				
		if(m_bCheat[i])
			ss.Format("%d,", 1);
		else
			ss.Format("%d,", 0);
		File.WriteString(ss);
		
		if(m_bBjOn[i])
			ss.Format("%d,", 1);
		else
			ss.Format("%d,", 0);
		File.WriteString(ss);
		
		File.WriteString("\n");
	}		
	File.Close();
	
	return TRUE;
}
/*
void CChannelInfo::Clone(CChannelInfo *pData)
{
	for(int i = 0; i < TOTAL_CHANNEL_NUM; i++)
	{
		m_fX[i]		= pData->m_fX[i];
		m_fY[i]		= pData->m_fY[i];
		m_fZ[i]		= pData->m_fZ[i];
		m_fGain[i]  = pData->m_fGain[i];
		m_sName[i]	= pData->m_sName[i];
		m_nIndex[i] = pData->m_nIndex[i];
		m_fSlope[i] = pData->m_fSlope[i];
		m_fMaxmVol[i] = pData->m_fMaxmVol[i];
		m_fOrgmVol[i] = pData->m_fOrgmVol[i];
	}
}
*/

BOOL CChannelInfo::SjToLl(int nChan, float f_sj, float& f_ll)
{
	float fRet;
	int nIndex = nChan - 1;
	if(nChan <= MAX_CHANNEL1_NUM) 
	{
		if(f_sj >= m_fMaxsj[nIndex])
			fRet = m_fMaxsj[nIndex];
		if(f_sj <= m_fMinsj[nIndex])
			fRet = m_fMinsj[nIndex];
		if(m_fMaxsj[nIndex] <= m_fMinsj[nIndex])
		{
			f_ll = m_fMinll[nIndex];
			return TRUE;
		}
		if(m_fMaxll[nIndex] <= m_fMinll[nIndex])
		{
			f_ll = m_fMinll[nIndex];
			return TRUE;
		}
		float f = (f_sj - m_fMinsj[nIndex])/(m_fMaxsj[nIndex] - m_fMinsj[nIndex]); 

		if(m_bCheat[nIndex])
			f_ll = m_fXsxx[nIndex] + f * (m_fXssx[nIndex] - m_fXsxx[nIndex]);
		else
			f_ll = m_fMinll[nIndex] + f * (m_fMaxll[nIndex] - m_fMinll[nIndex]);
		f_ll = f_ll * m_fSlope[nIndex] + m_fOffset[nIndex];
		if((f_ll > m_fBjsx[nIndex]) || (f_ll < m_fBjxx[nIndex]))
			return TRUE;
		else
			return FALSE;
	}else{
		f_ll = 0;
		return TRUE;
	}	
}

void CChannelInfo::SjToLlEx(float* f_sj, float* f_ll, BOOL* bWarn)
{
	
	for(int i = 0; i < MAX_CHANNEL2_NUM; i++)
	{
		f_ll[i] = m_fMaxll[MAX_CHANNEL1_NUM + i] * f_sj[i] * f_sj[i] * f_sj[i];
		f_ll[i] = f_ll[i] + m_fMinll[MAX_CHANNEL1_NUM + i] * f_sj[i] * f_sj[i];
		f_ll[i] = f_ll[i] + m_fMaxsj[MAX_CHANNEL1_NUM + i] * f_sj[i];
		f_ll[i] = f_ll[i] + m_fMinsj[MAX_CHANNEL1_NUM + i];	
		f_ll[i] = f_ll[i] * m_fSlope[MAX_CHANNEL1_NUM + i] + m_fOffset[MAX_CHANNEL1_NUM + i];
					
		if(m_bCheat[MAX_CHANNEL1_NUM + i])
		{
			srand( (unsigned)time( NULL ) );
			float f = (float)rand();
			f = f/RAND_MAX;
			f_ll[i] = m_fXsxx[MAX_CHANNEL1_NUM + i] + f * (m_fXssx[MAX_CHANNEL1_NUM + i] - m_fXsxx[MAX_CHANNEL1_NUM + i]);
		}
		if((f_ll[i] > m_fBjsx[MAX_CHANNEL1_NUM + i]) || (f_ll[i] < m_fBjxx[MAX_CHANNEL1_NUM + i]))
			bWarn[i] = TRUE;
		else
			bWarn[i] = FALSE;
	}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区日韩视频| 91精品国产色综合久久ai换脸| 国产亚洲制服色| 国产精品66部| 国产精品情趣视频| 欧美性感一类影片在线播放| 爽爽淫人综合网网站| 精品国产乱码久久久久久夜甘婷婷 | 日韩毛片一二三区| 在线欧美日韩国产| 蜜桃免费网站一区二区三区| 久久久国产精品麻豆| 91在线国产观看| 午夜精品久久久久久久久 | 国产亚洲欧美中文| 91免费版在线| 午夜视频一区在线观看| 精品国产一区久久| 99精品视频一区| 日韩精品三区四区| 国产日韩欧美综合在线| 色又黄又爽网站www久久| 日本亚洲三级在线| 136国产福利精品导航| 欧美老人xxxx18| 成人午夜精品在线| 天堂一区二区在线免费观看| 日本一区二区三区视频视频| 欧美在线播放高清精品| 国产一区福利在线| 亚洲国产wwwccc36天堂| 国产清纯美女被跳蛋高潮一区二区久久w| 91麻豆精品在线观看| 极品尤物av久久免费看| 夜夜精品浪潮av一区二区三区| 日韩欧美aaaaaa| 欧美中文字幕一区二区三区 | 精品日韩一区二区| 一本色道久久加勒比精品 | 国产精品久久久久久久久果冻传媒 | 色婷婷综合久久久久中文一区二区 | 狠狠色丁香久久婷婷综合_中| 中文字幕在线观看不卡视频| 日韩视频免费观看高清完整版| 成人av影视在线观看| 久久精品国产色蜜蜜麻豆| 亚洲最大成人网4388xx| 欧美国产精品一区二区三区| 色激情天天射综合网| 日韩亚洲欧美成人一区| 成人av电影在线播放| 免费看日韩精品| 亚洲第四色夜色| 亚洲同性gay激情无套| 国产免费观看久久| 欧美成人精品福利| 欧美日韩成人一区二区| 色婷婷亚洲一区二区三区| 粉嫩嫩av羞羞动漫久久久| 另类中文字幕网| 免费观看91视频大全| 亚洲成a天堂v人片| 亚洲国产精品一区二区尤物区| 国产精品无遮挡| 日本一区二区动态图| 久久久噜噜噜久久人人看| 精品国产a毛片| 欧美一区二区三区色| 777精品伊人久久久久大香线蕉| 91极品美女在线| 青青草国产成人av片免费| 丝袜诱惑制服诱惑色一区在线观看| 一区二区三区在线免费观看| 亚洲免费观看在线视频| 亚洲色图欧美激情| 又紧又大又爽精品一区二区| 亚洲免费观看视频| 亚洲综合999| 国产成人欧美日韩在线电影| 精品一区二区三区在线观看| 麻豆精品一区二区| 国产乱码精品一区二区三区av| 激情久久五月天| 国产激情一区二区三区| 国产成人丝袜美腿| 99久久久国产精品免费蜜臀| 91小宝寻花一区二区三区| 色婷婷av一区二区三区之一色屋| 91精品办公室少妇高潮对白| 欧美无人高清视频在线观看| 欧美日韩精品久久久| 成人av网站大全| 成人久久视频在线观看| 色综合天天在线| 欧美三级电影网站| 91精品在线麻豆| 久久免费的精品国产v∧| 国产精品短视频| 一级女性全黄久久生活片免费| 午夜视频一区二区| 久久机这里只有精品| 成人免费看黄yyy456| 色婷婷国产精品久久包臀 | 1000部国产精品成人观看| 亚洲午夜久久久| 久久不见久久见中文字幕免费| 成人自拍视频在线观看| 在线观看国产日韩| 日韩免费观看2025年上映的电影| 国产精品视频第一区| 亚洲va在线va天堂| 国产91对白在线观看九色| 欧美图区在线视频| 国产调教视频一区| 国产成人精品三级| 欧美亚洲尤物久久| 久久久久国产一区二区三区四区 | 国模无码大尺度一区二区三区| 成人黄色在线网站| 欧美一区二区三区视频在线观看| 中文字幕不卡的av| 奇米一区二区三区av| 91麻豆免费在线观看| 欧美成va人片在线观看| 一区二区三区成人在线视频| 国产在线观看免费一区| 欧美日韩精品福利| 亚洲人成网站影音先锋播放| 韩国三级在线一区| 欧美巨大另类极品videosbest| 欧美激情在线一区二区| 美女脱光内衣内裤视频久久网站| 99re热这里只有精品视频| 2023国产精品| 日韩成人午夜电影| 欧美性感一类影片在线播放| 久久久久久久久伊人| 日韩在线卡一卡二| 色婷婷av一区| 国产精品久久久久久久久免费樱桃 | 91捆绑美女网站| 久久久精品国产免大香伊| 日本三级韩国三级欧美三级| 91美女片黄在线观看91美女| 久久精品男人天堂av| 麻豆精品一二三| 欧美一区二区视频在线观看2022| 一区二区三区欧美日| 99久久久久久99| 国产精品人妖ts系列视频| 国产成人精品aa毛片| 久久综合国产精品| 久久99国产精品久久99果冻传媒| 欧美日韩精品专区| 亚洲.国产.中文慕字在线| 欧美伊人久久久久久午夜久久久久| 中文字幕一区二区三区视频| 成人免费av在线| 国产精品美女久久久久久久| 国产福利一区二区三区视频 | 国产在线视频精品一区| 欧美一二三在线| 蜜桃久久av一区| 欧美变态tickling挠脚心| 日本女优在线视频一区二区| 欧美日韩成人综合在线一区二区 | 美女诱惑一区二区| 日韩欧美的一区| 久热成人在线视频| 亚洲精品在线观看网站| 国产一区二区三区黄视频| 久久久一区二区三区| 懂色一区二区三区免费观看| 国产精品网站一区| 色综合久久综合| 亚洲综合视频网| 91精品国产入口| 国产一区二区三区四区五区入口 | 亚洲激情在线播放| 欧美三级午夜理伦三级中视频| 图片区小说区区亚洲影院| 4hu四虎永久在线影院成人| 日本va欧美va精品发布| 精品国产3级a| va亚洲va日韩不卡在线观看| 亚洲男人的天堂网| 欧美久久一区二区| 国产在线精品视频| 亚洲男人天堂av| 欧美浪妇xxxx高跟鞋交| 免费成人性网站| 国产欧美精品区一区二区三区| 91天堂素人约啪| 蜜臀久久久99精品久久久久久| 久久久久久久久久看片| 色欲综合视频天天天| 日本亚洲一区二区| 中文字幕日韩av资源站| 欧美日韩一本到| 国产成人在线观看|