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

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

?? editst.cpp

?? 視頻芯片管理系統(tǒng)
?? CPP
字號(hào):
// editst.cpp : implementation file
//

#include "stdafx.h"
#include "EditST.h"
#include "..\\DogMgt_Core\\DogMgt_Base.h"
#include "..\\DogMgt_Core\\GlobalFunc.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CEditST

CEditST::CEditST()
{
	m_InputFlag = INPUT_STR;
	m_strMaxLength = 40;
}

CEditST::~CEditST()
{
}


BEGIN_MESSAGE_MAP(CEditST, CEdit)
	//{{AFX_MSG_MAP(CEditST)
	ON_WM_CHAR()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CEditST message handlers

///設(shè)成字符串輸入格式
/**
  * MaxLength : 字符串允許輸入的最大長(zhǎng)度 \n
  */
void CEditST::SetStrFormat(unsigned int MaxLength)
{
	m_InputFlag = INPUT_STR;
	m_strMaxLength = MaxLength;
	SetLimitText(m_strMaxLength);
	m_strInput.Empty();
}

///設(shè)成整數(shù)輸入格式,默認(rèn)最小值0,最大值FFFFFF
/**
  * MinInt : 允許輸入的最小整數(shù),默認(rèn)0 \n
  * MaxInt : 允許輸入的最大整數(shù),默認(rèn)0xFFFFFFFF \n
  */
void CEditST::SetIntFormat(unsigned int MinInt, unsigned int MaxInt)
{
	m_InputFlag = INPUT_INT;
	m_intMinInt = MinInt;
	m_intMaxInt = MaxInt;

	int length = 0;
	while(MaxInt){
		MaxInt /= 10;
		length ++;
	}
	SetLimitText(length);
	m_strInput.Empty();
}

///設(shè)成BCD輸入格式
/**
  * BcdLength : 待輸入的BCD串的字節(jié)數(shù) \n
  */
void CEditST::SetBcdFormat(unsigned int BcdLength)
{
	m_InputFlag = INPUT_BCD;
	m_bcdLength = BcdLength;
	SetLimitText(BcdLength * 2);
	m_strInput.Empty();
}

///設(shè)成十六進(jìn)制數(shù)輸入格式
/**
  * HexLength : 待輸入的HEX串的字節(jié)數(shù),0表示長(zhǎng)度任意 \n
  */
void CEditST::SetHexFormat(unsigned int HexLength)
{
	m_InputFlag = INPUT_HEX;
	m_hexLength = HexLength;
	if(HexLength>0){
		SetLimitText(HexLength * 2);
	}
	this->ModifyStyle(0, ES_UPPERCASE);
	m_strInput.Empty();
}

///設(shè)成金額輸入格式
void CEditST::SetAmountFormat()
{
	m_InputFlag = INPUT_AMOUNT;
	SetLimitText(11);
	m_strInput.Empty();
}

///設(shè)成總參數(shù)量輸入格式
void CEditST::SetFltNumFormat()
{
	m_InputFlag = INPUT_FLTNUM;
	SetLimitText(10);
	m_strInput.Empty();
}

///設(shè)成日期輸入格式
void CEditST::SetDateFormat()
{
	m_InputFlag = INPUT_DATE;
	memset(m_dateMin, 0, 4);
	memset(m_dateMax, 0xFF, 4);
	SetLimitText(8);
	m_strInput.Empty();
}

///設(shè)置輸入日期的最小值
/**
  * MinDate : 最小日期,BCD \n
  */
void CEditST::SetMinDate(const unsigned char *MinDate)
{
	if(MinDate==NULL){
		memset(m_dateMin, 0, 4);
	}
	else{
		memcpy(m_dateMin, MinDate, 4);
	}
}

///設(shè)置輸入日期的最大值
/**
  * MaxDate : 最大日期,BCD \n
  */
void CEditST::SetMaxDate(const unsigned char *MaxDate)
{
	if(MaxDate==NULL){
		memset(m_dateMax, 0xFF, 4);
	}
	else{
		memcpy(m_dateMax, MaxDate, 4);
	}
}

///設(shè)成時(shí)間輸入格式
void CEditST::SetTimeFormat()
{
	m_InputFlag = INPUT_TIME;
	SetLimitText(8);
	m_strInput.Empty();
}

///從文本框中得到字符串
#define GetData() \
	char buf[500];	\
	UpdateData();	\
	memset(buf, 0, sizeof(buf));	\
	GetWindowText(m_strInput);	\
	memcpy(buf, m_strInput.GetBuffer(m_strInput.GetLength()), m_strInput.GetLength());

///獲取字符串的輸入結(jié)果
/**
  * StrBuf : 返回輸入的字符串 \n
  * 返回 : SUCC/FAIL
  */
int CEditST::GetStrResult(char *StrBuf)
{
	if(m_InputFlag!=INPUT_STR){
		return FAIL;
	}

	GetData();

	memset(StrBuf, 0, m_strMaxLength + 1);
	memcpy(StrBuf, buf, strlen(buf));

	return SUCC;
}

///獲取整數(shù)的輸入結(jié)果
/**
  * Result : 返回輸入的整數(shù) \n
  * 返回 : SUCC/FAIL
  */
int CEditST::GetIntResult(unsigned int &Result)
{
	if(m_InputFlag!=INPUT_INT){
		return FAIL;
	}

	GetData();

	if(CheckIntInput(buf, m_intResult)!=SUCC){
		ShowMsg("輸入整數(shù)格式錯(cuò)誤.");
		return FAIL;
	}
	if(m_intResult>m_intMaxInt || m_intResult<m_intMinInt){
		ShowMsg("輸入整數(shù)格式錯(cuò)誤.");
		return FAIL;
	}

	Result = m_intResult;
	return SUCC;
}

///獲取BCD的輸入結(jié)果
/**
  * BcdBuf : 返回輸入的BCD串 \n
  * BcdLength : 返回輸入的BCD串的長(zhǎng)度 \n
  * 返回 : SUCC/FAIL
  */
int CEditST::GetBcdResult(unsigned char *BcdBuf, unsigned int &BcdLength)
{
	if(m_InputFlag!=INPUT_BCD){
		return FAIL;
	}

	GetData();

	if(CheckBcdInput(buf, m_bcdLength, m_bcdResult)!=SUCC){
		ShowMsg("輸入BCD格式錯(cuò)誤.");
		return FAIL;
	}

	BcdLength = m_bcdLength;
	memcpy(BcdBuf, m_bcdResult, BcdLength);
	return SUCC;
}

///獲取十進(jìn)制的輸入結(jié)果
/**
  * HexBuf : 返回十六進(jìn)制串 \n
  * HexLength : 返回十六進(jìn)制串的長(zhǎng)度 \n
  * 返回 : SUCC/FAIL
  */
int CEditST::GetHexResult(unsigned char *HexBuf, unsigned int &HexLength)
{
	if(m_InputFlag!=INPUT_HEX){
		return FAIL;
	}

	GetData();

	if(m_hexLength>0){
		if(CheckHexInput(buf, m_hexLength, m_hexResult)!=SUCC){
			ShowMsg("輸入十六進(jìn)制數(shù)格式錯(cuò)誤.");
			return FAIL;
		}
	}
	else if(strlen(buf)%2 || CheckHexInput(buf, strlen(buf)/2, m_hexResult)!=SUCC){
		ShowMsg("輸入十六進(jìn)制數(shù)格式錯(cuò)誤.");
		return FAIL;
	}

	HexLength = strlen(buf)/2;
	memcpy(HexBuf, m_hexResult, HexLength);
	return SUCC;
}

///獲取金額輸入結(jié)果,以分為單位
/**
  * Amount : 返回輸入的金額,分為單位 \n
  * 返回 : SUCC/FAIL
  */
int CEditST::GetAmountResult(unsigned int &Amount)
{
	if(m_InputFlag!=INPUT_AMOUNT){
		return FAIL;
	}

	GetData();

	if(CheckAmountInput(buf, Amount)!=SUCC){
		ShowMsg("輸入金額格式錯(cuò)誤.");
		return FAIL;
	}

	return SUCC;
}

///獲取總參數(shù)量輸入結(jié)果
/**
  * NumWithoutDot : 返回輸入的去掉小數(shù)的點(diǎn)后整數(shù)值 \n
  * FloatPartOfLength : 返回小數(shù)部分的長(zhǎng)度 \n
  * 返回 : SUCC/FAIL
  */
int CEditST::GetFltNumResult(unsigned int &NumWithoutDot, unsigned char &FloatPartOfLength)
{
	if(m_InputFlag!=INPUT_FLTNUM){
		return FAIL;
	}

	GetData();

	if(CheckFltNumInput(buf, NumWithoutDot, FloatPartOfLength)!=SUCC){
		ShowMsg("輸入數(shù)量格式錯(cuò)誤.");
		return FAIL;
	}

	return SUCC;
}

///獲取日期輸入結(jié)果
/**
  * DateBuf : 返回輸入的日期,BCD \n
  * 返回 : SUCC/FAIL
  */
int CEditST::GetDateResult(unsigned char *DateBuf)
{
	if(m_InputFlag!=INPUT_DATE){
		return FAIL;
	}

	GetData();

	if(CheckStrDateFormat((unsigned char*)buf)!=SUCC){
		ShowMsg("輸入日期格式錯(cuò)誤.");
		return FAIL;
	}
	Str2Bcd(buf, m_dateResult, 8);
	if(CmpBcdDate(m_dateResult, m_dateMin)<0 ||
		CmpBcdDate(m_dateResult, m_dateMax)>0){
		ShowMsg("輸入日期格式錯(cuò)誤.");
		return FAIL;
	}

	memcpy(DateBuf, m_dateResult, 4);
	return SUCC;
}

///獲取日期輸入的結(jié)果
/**
  * Year : 返回輸入的年 \n
  * Month : 返回輸入的月 \n
  * Day : 返回輸入的日 \n
  * 返回 : SUCC/FAIL
  */
int CEditST::GetDateResult(unsigned int &Year, unsigned char &Month, unsigned char &Day)
{
	if(m_InputFlag!=INPUT_DATE){
		return FAIL;
	}

	GetData();

	if(CheckStrDateFormat((unsigned char*)buf)!=SUCC){
		ShowMsg("輸入日期格式錯(cuò)誤.");
		return FAIL;
	}
	Str2Bcd(buf, m_dateResult, 8);
	if(CmpBcdDate(m_dateResult, m_dateMin)<0 ||
		CmpBcdDate(m_dateResult, m_dateMax)>0){
		ShowMsg("輸入日期格式錯(cuò)誤.");
		return FAIL;
	}
	bcd2greg(m_dateResult, (int&)Year, (int&)Month, (int&)Day);

	return SUCC;
}

///獲取時(shí)間輸入結(jié)果
/**
  * Hour : 返回輸入的小時(shí) \n
  * Minute : 返回輸入的分鐘 \n
  * Second : 返回輸入的秒 \n
  * 返回 : SUCC/FAIL
  */
int CEditST::GetTimeResult(unsigned char &Hour, unsigned char &Minute, unsigned char &Second)
{
	if(m_InputFlag!=INPUT_TIME){
		return FAIL;
	}

	GetData();

	if(!(isdigit(buf[0]) &&
		 isdigit(buf[1]) &&
		 buf[2]==':' &&
		 isdigit(buf[3]) &&
		 isdigit(buf[4]) &&
		 buf[5]==':' &&
		 isdigit(buf[6]) &&
		 isdigit(buf[7])) ){
		ShowMsg("輸入時(shí)間格式錯(cuò)誤.");
		return FAIL;
	}

	Hour = (buf[0]-'0') * 10 + (buf[1]-'0');
	Minute = (buf[3]-'0') * 10 + (buf[4]-'0');
	Second = (buf[6]-'0') * 10 + (buf[7]-'0');
	if(Hour>23 || Minute>59 || Second>59){
		ShowMsg("輸入時(shí)間格式錯(cuò)誤.");
		return FAIL;
	}

	return SUCC;
}

///檢查輸入的是否合法,不合法不允許輸入
void CEditST::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) 
{
	// TODO: Add your message handler code here and/or call default

	int start, end;
	GetSel(start, end);
	switch(m_InputFlag){
		case INPUT_STR:
			break;

		case INPUT_INT:
		case INPUT_DATE:
		case INPUT_BCD:
		{
			if(nChar>=0x20 && nChar<128){
				if(nChar<'0' || nChar>'9'){
					return;
				}
			}
			break;
		}
		case INPUT_AMOUNT:
		{
			unsigned int Amount;
			char buf1[100];
			if(nChar>=0x20 && nChar<=0x7F){
				if( (nChar>='0' && nChar<='9') || nChar=='.'){
					GetData();
					memset(buf1, 0, 20);
					memcpy(buf1, buf, start);
					buf1[start] = nChar;
					memcpy(buf1 + start + 1, buf+end, strlen(buf)-end);
					if(CheckAmountInput(buf1, Amount)!=SUCC){
						return;
					}
				}
				else{
					return;
				}
			}
			break;
		}
		case INPUT_FLTNUM:
		{
			unsigned int NumWithoutDot;
			unsigned char FloatPartLength;
			char buf1[100];
			if(nChar>=0x20 && nChar<=0x7F){
				if( (nChar>='0' && nChar<='9') || nChar=='.'){
					GetData();
					memset(buf1, 0, 20);
					memcpy(buf1, buf, start);
					buf1[start] = nChar;
					memcpy(buf1 + start + 1, buf+end, strlen(buf)-end);
					if(CheckFltNumInput(buf1, NumWithoutDot, FloatPartLength)!=SUCC){
						return;
					}
				}
				else{
					return;
				}
			}
			break;
		}
		case INPUT_TIME:
		{
			if(nChar>=0x20 && nChar<128){
				if(!( (nChar>='0' && nChar<='9') || (nChar==':') )){
					return;
				}
			}
			break;
		}
		case INPUT_HEX:
		{
			if(nChar>=0x20 && nChar<128){
				if(!( (nChar>='0' && nChar<='9') ||
					  (nChar>='a' && nChar<='f') ||
					  (nChar>='A' && nChar<='F') )){
					return;
				}
			}
			break;
		}
	}
	
	CEdit::OnChar(nChar, nRepCnt, nFlags);
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久久精| 自拍偷拍亚洲激情| av在线一区二区三区| 亚洲五月六月丁香激情| 欧美第一区第二区| 一本色道久久综合亚洲精品按摩| 日日夜夜精品免费视频| 国产日韩一级二级三级| 欧美日韩国产片| 成人不卡免费av| 精品伊人久久久久7777人| 亚洲自拍偷拍图区| 国产偷国产偷亚洲高清人白洁| 欧美日韩免费一区二区三区 | ...xxx性欧美| 精品入口麻豆88视频| 在线精品观看国产| 成人短视频下载| 国产高清视频一区| 久久国产视频网| 视频一区二区三区中文字幕| |精品福利一区二区三区| 久久久久久夜精品精品免费| 91精品国产综合久久香蕉麻豆| av不卡在线观看| 成人禁用看黄a在线| 激情成人午夜视频| 免费观看30秒视频久久| 五月婷婷久久丁香| 亚洲一二三区在线观看| 亚洲欧美激情视频在线观看一区二区三区| 久久色中文字幕| 精品国产91久久久久久久妲己| 在线91免费看| 5858s免费视频成人| 欧美高清视频不卡网| 欧美色精品在线视频| 在线视频综合导航| 在线免费视频一区二区| 日本韩国一区二区三区| 色偷偷一区二区三区| 色婷婷综合中文久久一本| 99re亚洲国产精品| 色婷婷综合久久久久中文一区二区 | 欧美日韩国产123区| 欧美日韩国产精选| 欧美精品久久久久久久多人混战| 欧美午夜一区二区三区| 在线观看免费亚洲| 欧美日韩一区三区四区| 欧美日韩激情一区二区| 欧美精品第一页| 91精品国产综合久久蜜臀| 91精品婷婷国产综合久久性色| 在线不卡a资源高清| 91精品视频网| 久久综合久久久久88| 国产日韩欧美高清在线| 亚洲视频精选在线| 一区二区三区影院| 婷婷综合另类小说色区| 蜜臀av性久久久久蜜臀aⅴ四虎| 青草国产精品久久久久久| 美女性感视频久久| 国产一区二区三区观看| 成人av电影观看| 91精彩视频在线| 欧美精品在线视频| 久久综合久色欧美综合狠狠| 中文字幕一区二区视频| 一级日本不卡的影视| 男女视频一区二区| 国产不卡免费视频| 在线观看亚洲精品| 欧美一区二区大片| 国产日产亚洲精品系列| 亚洲天堂中文字幕| 日本午夜一本久久久综合| 国产在线播放一区三区四| av在线不卡网| 91精品国产欧美一区二区| 国产亚洲精品资源在线26u| 亚洲激情图片qvod| 精品午夜一区二区三区在线观看| 成人精品视频网站| 欧美日韩另类一区| 国产日本欧美一区二区| 亚洲精品va在线观看| 国产综合久久久久影院| 91色综合久久久久婷婷| 欧美大肚乱孕交hd孕妇| 亚洲四区在线观看| 极品少妇xxxx精品少妇| 91豆麻精品91久久久久久| 久久色视频免费观看| 午夜伊人狠狠久久| 成人国产精品视频| 精品久久一区二区| 亚洲成人精品在线观看| caoporn国产精品| 日韩精品影音先锋| 亚洲午夜久久久久久久久电影网| 国产电影一区二区三区| 欧美一区二视频| 一区二区三区在线影院| 国产一区二区三区免费看 | 欧美电影免费观看高清完整版在线观看| 亚洲欧美综合在线精品| 狠狠色丁香久久婷婷综合丁香| 欧美日韩大陆一区二区| 国产精品三级av| 国产乱码精品一区二区三区av| 欧美日韩国产乱码电影| 亚洲欧洲av一区二区三区久久| 国产乱码精品一区二区三区忘忧草 | 欧美高清激情brazzers| 亚洲品质自拍视频| 国产不卡视频一区二区三区| 精品国偷自产国产一区| 亚洲va国产天堂va久久en| 色综合天天综合色综合av| 国产日韩精品一区二区三区| 久久国内精品视频| 日韩欧美专区在线| 日产国产高清一区二区三区| 欧美在线制服丝袜| 一区二区三区不卡视频在线观看| 高清免费成人av| 久久色成人在线| 国产乱子伦视频一区二区三区| 日韩视频一区在线观看| 污片在线观看一区二区| 国产无人区一区二区三区| 国产最新精品免费| 欧美tickling挠脚心丨vk| 日本欧美一区二区| 日韩一区二区三区电影在线观看 | 日韩一区在线看| 成人激情免费电影网址| 国产人成一区二区三区影院| 国产老肥熟一区二区三区| wwwwxxxxx欧美| 国产一区不卡视频| 久久久99免费| 国产成人在线免费观看| 日本一区二区三区国色天香| 国产成人在线观看| 国产精品免费视频观看| av网站一区二区三区| ●精品国产综合乱码久久久久| 91亚洲国产成人精品一区二区三| 国产精品久久久久久久久久免费看| 成人a区在线观看| 亚洲精品免费在线观看| 欧美三日本三级三级在线播放| 亚洲高清在线精品| 精品少妇一区二区三区| 国产成人免费视频| 1000部国产精品成人观看| 在线亚洲高清视频| 青青青伊人色综合久久| 久久九九久久九九| 97久久精品人人做人人爽 | 蜜乳av一区二区| 26uuu色噜噜精品一区二区| 国产精品一区二区果冻传媒| 国产精品久久久久久久蜜臀| 色综合久久久久综合99| 亚洲成人av一区二区| 精品国产乱子伦一区| 本田岬高潮一区二区三区| 亚洲五码中文字幕| 精品国产一区二区三区忘忧草 | 欧美成人精品二区三区99精品| 国产一区二区三区四| 一区二区三区日韩在线观看| 制服视频三区第一页精品| 国产一区二区三区黄视频 | 国产精品乡下勾搭老头1| 18涩涩午夜精品.www| 欧美日韩精品系列| 国产高清在线观看免费不卡| 亚洲精品高清视频在线观看| 精品欧美久久久| 色综合网站在线| 国产毛片精品国产一区二区三区| 国产精品国产三级国产普通话蜜臀 | 一区在线中文字幕| 欧美日韩国产中文| 国产精品系列在线观看| 午夜欧美视频在线观看| 国产精品网曝门| 欧美一区二区三区在线| av电影在线观看完整版一区二区| 午夜av电影一区| 国产精品你懂的| 欧美刺激脚交jootjob| 日本高清不卡一区| 国产91丝袜在线播放| 久久精品国产77777蜜臀|