📄 ch.cpp
字号:
#include <graphics.h>
#include <stdio.h>
#include <string.h>
#include "freqkey.h"
#include "keydef.h"
#include "g_func.h"
#include "global.h"
#include "ch.h"
const char *cha[]={"踪迹 A","幅频特性","功率测量","","","","",""};
const char *v_width[]={"视频带宽","自动","10Hz","100Hz","1KHz","","","返 回"};
const char *chb[]={"踪迹 B","幅频特性","功率测量","","","","",""};
void StoreData(int i);
void chab_hardkey(KEY key)
{ _softkeyid1=0;
digital_en=0;
curs_flag=0;
if(key=='a')
{ _keyid=CHA;
ch_sel=0;
if(alternative==OFF){
_chab[0].on_off=ON;
_chab[1].on_off=OFF;
}
disp_menu12((char **)cha,7);
}
else if(key=='b')
{ _keyid=CHB;
ch_sel=1;
if(alternative==OFF){
_chab[1].on_off=ON;
_chab[0].on_off=OFF;
}
disp_menu12((char **)chb,7);
}
if(_lst_chkey[ch_sel][0]==0)
{
_softkeyid=4;
refresh_updown_chab();
if(_chab[ch_sel].on_off==OFF)
Outchar12(105,462,"关",TEXTDIGITAL);
else if(_chab[ch_sel].on_off==ON)
Outchar12(105,462,"开",TEXTDIGITAL);
}
else
{
_softkeyid=_lst_chkey[ch_sel][0];
if(_softkeyid!=4)
{ refresh_updown_chab();
show();
}
else if(_softkeyid==4)
{ refresh_updown_chab();
//show();
if(_chab[ch_sel].on_off==OFF)
Outchar12(105,462,"关",TEXTFURLN);
else if(_chab[ch_sel].on_off==ON)
Outchar12(105,462,"开",TEXTFURLN);
}
}
refresh_up(); //上边的显示
//右边和下边的处理显示
vision();
border_ch();
stat_xch=1;
_softkeyid=0; //the left side
}
void chab_softkey(KEY key)
{switch (key)
{
case F1:
if(_softkeyid==6)
{
/* _softkeyid1=61;
_lst_chkey[ch_sel][1]=1;
_chab[ch_sel].bandwidth=0;
cmd_word&=0xffe7;
// cmd_word|=0x
outport(0x370,cmd_word);*/
}
else{
_softkeyid=1;
_lst_chkey[ch_sel][0]=1;
_chab[ch_sel].flag = 0;
stat_xch = TRUE;
}
refresh_updown_chab();border_ch();
break;
case F2:
if(_softkeyid==6)
{
/* _softkeyid1=62;
_lst_chkey[ch_sel][1]=2;
_chab[ch_sel].bandwidth=10;
cmd_word&=0xffe7;
// cmd_word|=0x
outport(0x370,cmd_word);*/
}
else{
_softkeyid=2;
_lst_chkey[ch_sel][0]=2;
_chab[ch_sel].flag = 1;
stat_xch = TRUE;
}refresh_updown_chab();border_ch();
break;
case F3:
if(_softkeyid==6)
{
/* _softkeyid1=63;
_lst_chkey[ch_sel][1]=3;
_chab[ch_sel].bandwidth=100;
cmd_word&=0xffe7;
cmd_word|=0x08;
outport(0x370,cmd_word);
refresh_updown_chab();
border_ch();*/
}
//else{
// _softkeyid=3;
// _lst_chkey[ch_sel][0]=3;
//}
break;
case F4:
if(_softkeyid==6)
{
/* _softkeyid1=64;
_lst_chkey[ch_sel][1]=4;
_chab[ch_sel].bandwidth=1000;
cmd_word&=0xffe7;
cmd_word|=0x10;
outport(0x370,cmd_word);
refresh_updown_chab();*/
}
else
{_softkeyid=4;
_lst_chkey[ch_sel][0]=4;
if(_chab[ch_sel].on_off==ON){
_chab[ch_sel].on_off=OFF;
if(alternative)
StoreData(ch_sel);
}
else
_chab[ch_sel].on_off=ON;
stat_xch = TRUE;
refresh_updown_chab();
if(_chab[ch_sel].on_off==OFF)
Outchar12(105,462,"关",TEXTFURLN);
else if(_chab[ch_sel].on_off==ON)
Outchar12(105,462,"开",TEXTFURLN);
}
border_ch();
break;
case F6:
/* if(_softkeyid==6)
break;
_softkeyid=6;
_lst_chkey[ch_sel][0]=6;
if(_lst_chkey[ch_sel][1]==0){
if(_chab[ch_sel].bandwidth==0)
_softkeyid1=61;
if(_chab[ch_sel].bandwidth==10)
_softkeyid1=62;
if(_chab[ch_sel].bandwidth==100)
_softkeyid1=63;
if(_chab[ch_sel].bandwidth==1000)
_softkeyid1=64;
}
else
_softkeyid1=60+_lst_chkey[ch_sel][1];
refresh_updown_chab();
disp_menu12((char**)v_width,7); border_ch();*/
break;
case F7:
if(_softkeyid==6)
{
_softkeyid1=67;
refresh_updown_chab();
_softkeyid1=0;
disp_menu12((char **)cha,7);
border_ch();
_softkeyid=0;
show();
}
break;
}
}
void refresh_updown_chab()
{ char msg[20];
int i;
CLR_LN4;
refr_ln3();
if(_softkeyid==0)
Outchar12(35,462,"踪 迹:",TEXTFURLN);
if(_softkeyid==1)
{ clear_rect(35,3,499,29);
// _chab[ch_sel].flag=0; ///这里的flag用来存按下的是哪个键,以便refresh_up使用并显示
Outchar12(35,462,"幅频特性",TEXTFURLN);
refresh_up();
}
else if(_softkeyid==2)
{ clear_rect(35,3,499,29);
// _chab[ch_sel].flag=1;
Outchar12(35,462,"功率测量",TEXTFURLN);
refresh_up();
}
else if(_softkeyid==3)
{ clear_rect(35,3,499,29);
// _chab[ch_sel].flag=2;
Outchar12(35,462,"转换损耗",TEXTFURLN);
refresh_up();
}
else if(_softkeyid==4)
{ clear_rect(35,3,499,29);
Outchar12(35,462,"踪 迹:",TEXTFURLN);
show();
refresh_up();
}
else if((_softkeyid==6)||(_softkeyid1==61)||(_softkeyid1==62)||(_softkeyid1==63)||(_softkeyid1==64)||(_softkeyid1==67))
{
Outchar12(35,462,"视频带宽:",TEXTFURLN);
if(_softkeyid1==61)
{
if(_chab[ch_sel].bandwidth==0)
Outchar12(105,462,"自动",TEXTFURLN);
}
else if((_softkeyid1==62)||(_softkeyid1==63)||(_softkeyid1==64))
{
for(i=1;i++;i<5)
{ if(_softkeyid1==60+i)
{
sprintf(msg,"%d",_chab[ch_sel].bandwidth);
strcat(msg,"Hz");
Outchar12(105,462,msg,TEXTDIGITAL );
}
}
}
else if(_softkeyid1==67||_softkeyid==6)
{ clear_rect(105,462,540,475);
clear_rect(105,462,540,475);
//Outchar12(35,462,"视频带宽:",TEXTFURLN);
if(_chab[ch_sel].bandwidth==0)
Outchar12(105,462,"自动",TEXTFURLN);
else if(_chab[ch_sel].bandwidth==10)
{ sprintf(msg,"%d",_chab[ch_sel].bandwidth);
strcat(msg,"Hz");
Outchar12(105,462,msg,TEXTDIGITAL);
}
else if(_chab[ch_sel].bandwidth==100)
{ sprintf(msg,"%d",_chab[ch_sel].bandwidth);
strcat(msg,"Hz");
Outchar12(105,462,msg,TEXTDIGITAL);
}
else if(_chab[ch_sel].bandwidth==1000)
{ sprintf(msg,"%d",_chab[ch_sel].bandwidth);
strcat(msg,"Hz");
Outchar12(105,462,msg,TEXTDIGITAL);
}
}
refresh_up();
}
}
void show()
{
clear_rect(B_LX+2,4*59+8,B_RX-2,4*59+28);
if(_chab[ch_sel].on_off==OFF)
{
// disable();
// setfillstyle(SOLID_FILL,TEXTMENUBK);
// bar(B_LX,4*59+8-5,B_RX-3,4*59+8-5+20);
draw_small_menu(4,1,"踪迹 关");
// Outchar45(B_LX+10,4*59+8-5+3,"踪迹 ",TEXTMENU);
// Outchar12(B_LX+60,4*59+8-5+3,"关",TEXTDIGITAL);
//Outchar12(105,462,"关",TEXTFURLN);
}
else if(_chab[ch_sel].on_off==ON)
{
// clear_rect(B_LX,4*59+8-5,B_RX-3,4*59+8-5+20);
// disable();
// setfillstyle(SOLID_FILL,TEXTMENUBK);
// bar(B_LX,4*59+8-5,B_RX-3,4*59+8-5+20);
// Outchar45(B_LX+10,4*59+8-5+3,"踪迹 ",TEXTMENU);
// Outchar12(B_LX+60,4*59+8-5+3,"开",TEXTDIGITAL);
//Outchar12(105,462,"开",TEXTFURLN);
draw_small_menu(4,1,"踪迹 开");
}
}
void border_ch()
{static int ch1_4;
static int ch6;
int i;
if((_softkeyid==1)||(_softkeyid==2)||(_softkeyid==3)||(_softkeyid==4))
{ erase_smal_border(ch1_4);
for(i=1;i<5;i++)
{if(_softkeyid==i)
{
draw_smal_border(i);
ch1_4=i;
}
}
}
else if(_softkeyid==6&&_softkeyid1==0)
{ erase_smal_border(ch1_4);
draw_smal_border(6);
ch1_4=6;
}
else if(_softkeyid==6&&_softkeyid1!=0)
{ erase_smal_border(ch6);
for(i=1;i<5;i++)
{ if(_softkeyid1==60+i)
{setcolor(2);
draw_smal_border(i);
ch6=i;
}
}
}
}
void StoreData(int i)
{
FILE *fp;
if(i==0) {
if((fp = fopen("chadata.dat","wb+"))==NULL){
return;
}
fwrite(y_a,sizeof(int),_status[0].sweep_points,fp);
fclose(fp);
}
else if(i==1) {
if((fp = fopen("chbdata.dat","wb+"))==NULL){
return;
}
fwrite(y_b,sizeof(int),_status[1].sweep_points,fp);
fclose(fp);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -