⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 numkeyp.cpp

📁 串口可交换程序
💻 CPP
📖 第 1 页 / 共 2 页
字号:
		ii=i_dot;
		j=0;
		set_v=0;
		while(--ii>=0)  //calculate the value of integer
			set_v+=number_keys[ii]*pow(10,j++);
		if(set_v<_freq[ch_sel].start_freq)
			set_v=_freq[ch_sel].start_freq;
		else if(set_v>_freq[ch_sel].end_freq)
			set_v=_freq[ch_sel].end_freq;
		if(set_v>=_freq[ch_sel].start_freq&&set_v<=_freq[ch_sel].end_freq)
			switch(_softkeyid)
			{
			case 1:
			case 2:
			case 3:
				_marker[ch_sel].mark[_softkeyid-1].freq=set_v;
				mkr_xch = TRUE;
				//marker_show1(_softkeyid);
				//mkr_show_mark_all(_softkeyid-1);
				refr_menu_mkr_all(_softkeyid-1);
				break;
			case 4:
				_marker[ch_sel].mark[_softkeyid1-38].freq=set_v;
				mkr_xch = TRUE;
				//marker_show2(_softkeyid1-40);
				//mkr_show_mark_all(_softkeyid1-40-1+3);
				refr_menu_mkr_all(_softkeyid1-38);
			default:
				break;
			}
			init_cur_frq(set_v);refresh_down_mark();

	}
	else if(_softkeyid==6)
	{
		if(index==0)
			return;

		while(i_dot<index){             //search the position of dot
			if(number_keys[i_dot] == NDOT)
				break;
			i_dot++;
		}
		ii=i_dot;       //calculate the value of numbers in number_keys[]
		j=0;
		set_v=0;
		while(--ii>=0)  //calculate the value of integer
			set_v+=number_keys[ii]*pow(10,j++);
		ii=i_dot;
		j=0;
		while(ii++<index)
			set_v+=number_keys[ii]*pow(10,-(++j));
		if(num_unit==MV)
			set_v=10*log10(pow(set_v,2)*2*0.00001);
		if(sign==0){
			set_v=0-set_v;
//			max_min = max(Min(_freq[ch_sel].start_freq,_marker[ch_sel].cen_mkr.freq,ch_sel),
//				Min(_marker[ch_sel].cen_mkr.freq,_freq[ch_sel].end_freq,ch_sel));
//			if(_chab[ch_sel].flag==0){
//				if(set_v<(max_min-_power[ch_sel].output_power-_marker[ch_sel].max_mkr.power))
//					set_v=max_min-_power[ch_sel].output_power-_marker[ch_sel].max_mkr.power+0.1;
//			}
//			else if(_chab[ch_sel].flag==1){
//				if(set_v<(max_min-_marker[ch_sel].max_mkr.power))
//					set_v=max_min-_marker[ch_sel].max_mkr.power+0.1;
//			}
			if(set_v < 0){
				if(_softkeyid1==61)
					_marker[ch_sel].marker_fun[0].power=set_v;
				if(_softkeyid1==62)
					_marker[ch_sel].marker_fun[1].power=set_v;
				if(_softkeyid1==63)
					_marker[ch_sel].marker_fun[2].power=set_v;
			}
			init_cur_pwr(set_v);
			mkr_xch = TRUE;
		}
		else{
			if(_softkeyid1==61)
				init_cur_pwr(_marker[ch_sel].marker_fun[0].power);
			if(_softkeyid1==62)
				init_cur_pwr(_marker[ch_sel].marker_fun[1].power);
			if(_softkeyid1==63)
				init_cur_pwr(_marker[ch_sel].marker_fun[2].power);
			init_cur_pwr(set_v);
			mkr_xch = TRUE;
		}
	}
	else if(_softkeyid==7&&_softkeyid1==73&&_softkeyid2==731){
		if(index==0)
			return;

		while(i_dot<index){             //search the position of dot
			if(number_keys[i_dot] == NDOT)
				break;
			i_dot++;
		}
		ii=i_dot;       //calculate the value of numbers in number_keys[]
		j=0;
		set_v=0;
		while(--ii>=0)  //calculate the value of integer
			set_v+=number_keys[ii]*pow(10,j++);
		ii=i_dot;
		j=0;
		while(ii++<index)
			set_v+=number_keys[ii]*pow(10,-(++j));
		if(num_unit==MV)
			set_v=10*log10(pow(set_v,2)*2*0.00001);
		if(sign==0)
			set_v=0-set_v;
		if(set_v<0)
			_marker[ch_sel].cen_mkr.set_attenuate=set_v;

//              marker_show4(_softkeyid1-60);
			mkr_xch = TRUE;
			refresh_down_mark();
			_softkeyid2=0;

			disp_menu12((char **)marker_7,7);
//			for(int i=1;i<5;i++){
//				setfillstyle(SOLID_FILL,TEXTMENUBK);
//				bar(B_LX,i*59+8-5+18,B_RX-3,i*59+8+20+15);
//			}
			_marker[ch_sel].cen_mkr.on_off=ON;
			for(int j=1;j<4;j++)
				marker_show4(j);
			mff_show();
			border_marker();
		//      _softkeyid1=0;

		init_cur_pwr(set_v);
	}
	curs_flag=1;
	rst_num_mem();
	refresh_up();
	refresh_down_mark();
	cursor();
}

extern void refresh_down_system();      //this function is modified in 04-05-31
void set_system()
{
/*	int i_dot=0;
	int ii;
	int j;
	unsigned int set_val;
	getdate(&_system.d);
	gettime(&_system.t);
	if(index==0)
		return;

	while(i_dot<index){             //search the position of dot
		if(number_keys[i_dot] == NDOT)
			break;
			i_dot++;
		}
	ii=i_dot;
	j=0;
	set_val=0;
	while(--ii>=0)  //calculate the value of integer
		set_val+=number_keys[ii]*pow(10,j++);
	if(_softkeyid==1){
		_system.gpib_addr=set_val;

	}
	else if(_softkeyid1==21){
		if(set_val<=9999&&set_val>=1000)
			_system.d.da_year=set_val;
		init_cur_sys(_system.d.da_year);
	}
	else if(_softkeyid1==22){
		if(set_val<=12&&set_val>0)
			_system.d.da_mon=set_val;
//                      _system.sys_time.month=set_val;
		init_cur_sys(_system.d.da_mon);
	}
	else if(_softkeyid1==23){
		if(set_val<=29||
			((_system.d.da_mon==4||_system.d.da_mon==6||
			  _system.d.da_mon==9||_system.d.da_mon==11)&&set_val<=30)||
			((_system.d.da_mon==1||_system.d.da_mon==3||
			  _system.d.da_mon==5||_system.d.da_mon==7||
			  _system.d.da_mon==8||_system.d.da_mon==10||
			  _system.d.da_mon==12)&&set_val<=31))
//                      _system.sys_time.day=set_val;
			  _system.d.da_day=set_val;
		init_cur_sys(_system.d.da_day);
	}
	else if(_softkeyid1==24){
		if(set_val<=23)
			_system.t.ti_hour=set_val;
		init_cur_sys(_system.t.ti_hour);
	}
	else if(_softkeyid1==25){
		if(set_val<=59)
			_system.t.ti_min=set_val;
		init_cur_sys(_system.t.ti_min);
	}
	setdate(&_system.d);
	settime(&_system.t);
	rst_num_mem();
	x_pos=107;      //reset cursor position;
	curs_flag=1;
	refresh_down_system();
	cursor();
*/
}
extern void refr_aver();
void set_avg_times()
{
	int i_dot=0;
	int ii;
	int j;
	int set_val;
	if(index==0)
		return;

	while(i_dot<index){             //search the position of dot
		if(number_keys[i_dot] == NDOT)
			break;
			i_dot++;
		}
	ii=i_dot;
	j=0;
	set_val=0;
	while(--ii>=0)  //calculate the value of integer
		set_val+=number_keys[ii]*pow(10,j++);
	if(_softkeyid==1&&_avg[ch_sel].on_off==1&&set_val>=2&&set_val<=99){
		_avg[ch_sel].avg_times=set_val;
		stat_xch=1;
	}
	init_cur_avg(_avg[ch_sel].avg_times);
	curs_flag=1;
	rst_num_mem();
	refr_aver();
	cursor();
}
void set_disp()
{
	int i_dot=0;
	int ii;
	int j;
	long set_value;
	float  set_val;
	if(index==0)
		return;
	while(i_dot<index){             //search the position of dot
	if(number_keys[i_dot] == NDOT)
			break;
			i_dot++;
	}
	if(_softkeyid==4&&((_softkeyid1==42&&_softkeyid2==421&&_softkeyid3==0)||
					   (_softkeyid1==43&&_softkeyid2==432&&_softkeyid3==0)||
					   (_softkeyid1==44&&_softkeyid2==441&&_softkeyid3==0)||
					   (_softkeyid1==45&&_softkeyid2==451&&_softkeyid3==0)||
					   (_softkeyid1==46&&_softkeyid2==462&&_softkeyid3==0)))
	{
		ii=i_dot;       //calculate the value of numbers in number_keys[]
		j=0;
		set_val=0;
		while(--ii>=0)  //calculate the value of integer
			set_val+=number_keys[ii]*pow(10,j++);
		ii = i_dot;
		j=0;
		while(++ii<index)
			set_val+=number_keys[ii]*pow(10,--j);
//		if(num_unit==MV)
//			set_val=10*log10(pow(set_val,2)*2*0.00001);
		if(sign==0)
			set_val=0-set_val;
//		if(set_val<0)
//			goto exit_disp;
	}
	else if(_softkeyid==4&&((_softkeyid1==41&&_softkeyid2!=0&&_softkeyid3==0)||
							(_softkeyid1==43&&_softkeyid2==431&&_softkeyid3==0)||
							(_softkeyid1==44&&(_softkeyid2==442||_softkeyid2==443||_softkeyid2==444)&&_softkeyid3==0)||
							(_softkeyid1==45&&(_softkeyid2==452||_softkeyid2==453||_softkeyid2==454)&&_softkeyid3==0)||
							(_softkeyid1==46&&_softkeyid2==461&&_softkeyid3==0))){
		if( (num_unit==KHZ)||(num_unit==0&&_freq[ch_sel].resolve==KHZ) )
			for(ii=0;ii<3;ii++){
				number_keys[i_dot]=number_keys[i_dot+1];
				i_dot+=1;
			}
		else if( (num_unit==MHZ)||(num_unit==0&&_freq[ch_sel].resolve==MHZ) )
			for(ii=0;ii<6;ii++){
				number_keys[i_dot]=number_keys[i_dot+1];
				i_dot+=1;
			}
		ii=i_dot;
		j=0;
		set_value=0;
		while(--ii>=0)  //calculate the value of integer
			set_value+=number_keys[ii]*pow(10,j++);
	}
	else
		goto exit_disp;

//	printf("%d %d %d %d,  ",_softkeyid,_softkeyid1,_softkeyid2,_softkeyid3);
	if(_softkeyid1==41&&_softkeyid2==411)
	{
		if(set_value>_freq[0].end_freq||set_value<_freq[0].start_freq)
			goto exit_disp;
		_disp.cen_freq=set_value;
		wri_form(0);
		dsp_xch = TRUE;
	}
	else if(_softkeyid1==41&&_softkeyid2==412)
	{
		if(set_value>0&&set_value<_freq[0].end_freq){
			_disp.freq_diff=set_value;
			wri_form(0);
			dsp_xch = TRUE;
		}
	}
	else if(_softkeyid1==42){
		if(set_val>=0&&set_val<70){
			_disp.loss = set_val;
			wri_form(1);
			dsp_xch = TRUE;
		}
	}
	else if(_softkeyid1==43&&_softkeyid2==431){
		if(_freq[0].center_freq+set_value/2<_freq[0].end_freq&&
		   _freq[0].center_freq-set_value/2>_freq[0].start_freq){
			_disp.ripple_bw = set_value;
			wri_form(2);
			dsp_xch = TRUE;
		}
	}
	else if(_softkeyid1==43&&_softkeyid2==432){
		if(set_val>=0&&set_val<70){
			_disp.ripple = set_val;
			wri_form(3);
			dsp_xch = TRUE;
		}
	}
	else if(_softkeyid1==44&&_softkeyid2==441){
		if(set_val<0&&set_val>-70){
			_disp.db_bw1.attenuation=set_val;
			wri_form(4);
			dsp_xch = TRUE;
		}
	}
	else if(_softkeyid1==44&&_softkeyid2==442){
		if(set_value>_freq[0].end_freq||set_value<_freq[0].start_freq)
			goto exit_disp;
		_disp.db_bw1.freq.freq_l.above_below=AboveBelow;
		_disp.db_bw1.freq.freq_l.freq=set_value;
		wri_form(5);
		dsp_xch = TRUE;
	}
	else if(_softkeyid1==44&&_softkeyid2==443){
		if(set_value>_freq[0].end_freq||set_value<_freq[0].start_freq)
			goto exit_disp;
		_disp.db_bw1.freq.freq_r.above_below=AboveBelow;
		_disp.db_bw1.freq.freq_r.freq=set_value;
		wri_form(6);
		dsp_xch = TRUE;
	}
	else if(_softkeyid1==44&&_softkeyid2==444){
		if(set_value>0&&set_value<=_freq[0].freq_width){
			_disp.db_bw1.bandwidth.above_below = AboveBelow;
			_disp.db_bw1.bandwidth.freq = set_value;
			wri_form(7);
			dsp_xch = TRUE;
		}
	}
	else if(_softkeyid1==45&&_softkeyid2==451){
		if(set_val<0&&set_val>-70){
			_disp.db_bw2.attenuation=set_val;
			wri_form(8);
			dsp_xch = TRUE;
		}
	}
	else if(_softkeyid1==45&&_softkeyid2==452){
		if(set_value>_freq[0].end_freq||set_value<_freq[0].start_freq)
			goto exit_disp;
		_disp.db_bw2.freq.freq_l.above_below=AboveBelow;
		_disp.db_bw2.freq.freq_l.freq=set_value;
		wri_form(9);
		dsp_xch = TRUE;
	}
	else if(_softkeyid1==45&&_softkeyid2==453){
		if(set_value>_freq[0].end_freq||set_value<_freq[0].start_freq)
			goto exit_disp;
		_disp.db_bw2.freq.freq_r.above_below=AboveBelow;
		_disp.db_bw2.freq.freq_r.freq=set_value;
		wri_form(10);
		dsp_xch = TRUE;
	}
	else if(_softkeyid1==45&&_softkeyid2==454){
		if(set_value>0&&set_value<=_freq[0].freq_width){
			_disp.db_bw2.bandwidth.freq = AboveBelow;
			_disp.db_bw2.bandwidth.freq = set_value;
			wri_form(11);
			dsp_xch = TRUE;
		}
	}
	else if(_softkeyid1==46&&_softkeyid2==461)
	{
		if(set_value>0&&set_value<=_freq[0].freq_width/2){
			_disp.sb_att.freq_offset = set_value;
			wri_form(12);
			dsp_xch = TRUE;
		}
	}
	else if(_softkeyid1==46&&_softkeyid2==462){
		if(set_val<0&&set_val>-70){
			_disp.sb_att.attenuation = set_val;
			wri_form(13);
			dsp_xch = TRUE;
		}
	}
exit_disp:
		 rst_num_mem();
		 curs_flag=0;
		 refr_disp();
}

/*****************************************************
 * 2004-2-23 12:40  LingYi
 * update_cs_f() calculate freq_width and center_freq
 * according to start_freq and end_freq in _freq
 ****************************************************/
void update_cs_f()
{
	_freq[ch_sel].freq_width = _freq[ch_sel].end_freq - _freq[ch_sel].start_freq;
	_freq[ch_sel].center_freq = (_freq[ch_sel].end_freq + _freq[ch_sel].start_freq)/2;
}

/***************************************************
 * 2004-2-23 12:50  LingYi
 * update_cs_f() calculate start_freq and end_freq
 * according to freq_width and center_freq in _freq
 **************************************************/
void update_ss_f()
{
	_freq[ch_sel].start_freq = _freq[ch_sel].center_freq - _freq[ch_sel].freq_width/2;
	_freq[ch_sel].end_freq = _freq[ch_sel].center_freq + _freq[ch_sel].freq_width/2;
}

/***************************************************
 * 2004-2-23 12:45 LingYi
 * rst_num_mem(), reset number memery, it clear all
 * variables about number keys for next input.
 **************************************************/
void rst_num_mem()
{
	CLR_DIGITAL;
	index=0;
	for(int i=1;i<20;i++)
		number_keys[i]=0;
	num_unit=0;
	sign=1;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -