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

📄 status.cpp

📁 串口可交换程序
💻 CPP
字号:
#include <graphics.h>
#include <stdio.h>
#include <stdlib.h>
#include "keydef.h"
#include "global.h"
#include "g_func.h"
#include "cursor.h"
#include "marker.h"
#include "display.h"
#include "scale.h"
#include "ch.h"
#include "xms.h"
#include "map.h"
#include "store.h"
#include "status.h"
const char*store1_1[]={"调用","调用 >>","","","","","",""};
const char*recall1_1[]={"调  用"," 调用1"," 调用2"," 调用3"," 调用4"," 调用5","更多调用>>","返  回"};
const char*recall2_1[]={"更多调用"," 调用6"," 调用7"," 调用8"," 调用9"," 调用10","","返  回"};
extern BOOL recall_end;
const char* store_file[]={"store1.dat","store2.dat","store3.dat","store4.dat","store5.dat","store6.dat","store7.dat","store8.dat","store9.dat","store10.dat"};
extern MDAMAP* mda_map;
extern char aflag;
extern void StoreStatus();
extern char chss;


void recall_hardkey()
{
	rst_num_mem();
	_keyid=RECALL;
//	if(_lst_strkey[ch_sel]==0)
		_softkeyid=-1;
//	else
//		_softkeyid=_lst_strkey[ch_sel];
	disp_menu12((char **)store1_1,7);
	draw_smal_border(_softkeyid);
	digital_en=0;
	curs_flag=0;
	_softkeyid1=0;
	_softkeyid2=0;
//	refr_ln3();
	refr_store();
	vision();

}

int Recall(char mem_sel)
{
	if(_store.mem_info[mem_sel-1] == 0){
		CLR_LN4;
		Outchar12(35,462,"存储调用:",TEXTFURLN);
		Outchar12(105,462,"此存储器没有数据!",TEXTDIGITAL);
		return 0;
	}
	FILE *fp_store;
	if((fp_store=fopen(store_file[mem_sel-1],"rb+"))==NULL)
	{
		return -1;
	}
	fread(&alternative,sizeof(int),1,fp_store);
	fread(&aflag,sizeof(char),1,fp_store);
	fread(&ch_sel,sizeof(int),1,fp_store);
	fread(&_freq,sizeof(_FREQ),2,fp_store);
	fread(&_power,sizeof(_POWER),2,fp_store);
	fread(&_sweep,sizeof(_SWEEP),2,fp_store);
	fread(&_chab,sizeof(_CHAB),2,fp_store);
	fread(&_scale,sizeof(_SCALE),2,fp_store);
	fread(&_disp,sizeof(_DISP),1,fp_store);
	fread(&_format,sizeof(_FORMAT),2,fp_store);
	fread(&_avg,sizeof(_AVG),2,fp_store);
	fread(&_marker,sizeof(_MARKER),2,fp_store);
	fread(&_status,sizeof(_STATUS),2,fp_store);
	fread(&_sweep,sizeof(_SWEEP),2,fp_store);
	fread(&_system,sizeof(_SYSTEM),1,fp_store);
	fread(&amp_on_off,sizeof(ON_OFF),1,fp_store);

	if(amp_on_off==OFF)
		outport(0x370,cmd_word&=0xefff);
	else if(amp_on_off==ON)
		outport(0x370,cmd_word|=0x1000);
	if(alternative==ON){
		fread(y_a,sizeof(int),_status[0].sweep_points,fp_store);
		fread(y_b,sizeof(int),_status[1].sweep_points,fp_store);
	}
	else if(ch_sel==0)
		fread(y_a,sizeof(int),_status[0].sweep_points+1,fp_store);
	else if(ch_sel==1)
		fread(y_b,sizeof(int),_status[1].sweep_points+1,fp_store);
//	fread(ymap_array,sizeof(int),500,fp_store);
	fclose(fp_store);
	_chab[0].on_off=OFF;
	_chab[1].on_off=OFF;

	StoreStatus();
	StoreMarker();
	StoreDisp();
	StoreScale();
	StoreInfo();
	StoreData(0);
	StoreData(1);
	recall_end = TRUE;
	refresh_up();
	CLR_LN4;
	Outchar12(35,462,"存储调用:",TEXTFURLN);
	Outchar12(105,462,"调用结束!",TEXTDIGITAL);
	return 1;
}



void recall_softkey(KEY key)
{
	switch(key){
	case F1:
		if(_softkeyid1==16)
		{
			_softkeyid2=17;
			_store.mem_sel=6;
			recall_1();

		}
		else if(_softkeyid==1){
			_softkeyid1=11;
			_store.mem_sel=1;
			recall_1();
		}

		else if(_softkeyid1==0){
			_softkeyid=1;
			disp_menu12((char **)recall1_1,7);
			for(int i=0;i<5;i++){
				if(_store.mem_info[i] == 1)
				{
					setcolor(TEXTMENU);
					outtextxy(B_LX+2,(i+1)*59+8+4,"*");
				}
			}
			_lst_strkey[ch_sel]=2;
		}
		break;
	
	case F2:
		 if(_softkeyid1==16)
		 {
			_softkeyid2=18;
			_store.mem_sel=7;
			recall_1();
		 }
		 else if(_softkeyid==1)
		 {
			_softkeyid1=12;
			_store.mem_sel=2;
			recall_1();
		 }
		break;
	case F3:
		 if(_softkeyid1==16)
		 {
			_softkeyid2=19;
			_store.mem_sel=8;
			recall_1();
			draw_smal_border(3);
		 }
		 else if(_softkeyid==1)
		 {
			_softkeyid1=13;
			_store.mem_sel=3;
			recall_1();
			draw_smal_border(3);
		 }
		 break;
	case F4:
		 if(_softkeyid1==16)
		{	_softkeyid2=20;
			_store.mem_sel=9;
			recall_1();
			draw_smal_border(4);
		}
		else if(_softkeyid==1)
		{
			_softkeyid1=14;
			_store.mem_sel=4;
			recall_1();
			draw_smal_border(4);
		}
		break;
	case F5:

		if(_softkeyid1==16)
		{
			_softkeyid2=21;
			_store.mem_sel=10;
			recall_1();
			draw_smal_border(5);
		}
		else if(_softkeyid==1)
		{
			_softkeyid1=15;
			_store.mem_sel=5;
			recall_1();
			draw_smal_border(5);

		}
		break;
	case F6:
		if(_softkeyid==1&&_softkeyid2==0){

			_softkeyid1=16;
			_softkeyid2=15;
			disp_menu12((char**)recall2_1,7);
			for(int i=5;i<10;i++)
				if(_store.mem_info[i] == 1)
				{
					setcolor(TEXTMENU);
					outtextxy(B_LX+2,(i-4)*59+8+4,"*");
				}



		}
		break;
	case F7:
		if(_softkeyid1==16&&_softkeyid2!=0)
		{
			_softkeyid2=0;
			disp_menu12((char**)recall1_1,7);
			for(int i=0;i<5;i++)
				if(_store.mem_info[i] == 1)
				{
					setcolor(TEXTMENU);
					outtextxy(B_LX+2,(i+1)*59+8+4,"*");
				}

//			draw_smal_border(6);
//			_softkeyid1=0;
		}
		else if(_softkeyid1==16&&_softkeyid2==0)
		{
			_softkeyid1=0;
			disp_menu12((char**)store1_1,7);
			draw_smal_border(_softkeyid);
			_softkeyid=-1;
		}
		break;
	default:
		break;

	} recall_border();
}
void recall_1()
{
	if(Recall(_store.mem_sel)==2){
			int save_chs=chs;
			mda_map->ScreenClear();
			mda_map->Line(0,0,0,0,(chs==0?_system.colora:_system.colorb));
			mda_map->ScreenMove();
			chs=1-chs;
			mda_map->ScreenClear();
			mda_map->Line(0,0,0,0,(chs==0?_system.colora:_system.colorb));
			mda_map->ScreenMove();
			chs=1-chs;
//			Recall(_store.mem_sel);
			chs=ch_sel;
			if(chs!=save_chs)
				chss=1-chss;
			aflag=0;
			vision();
			refr_ln3();
			refresh_up();
			StoreStatus();
			mkr_xch = TRUE;
			scl_xch = TRUE;
			dsp_xch = TRUE;
	}
}
void recall_border()
{
for(int i=1;i<8;i++)
	erase_smal_border(i);
if(_softkeyid2!=0)
	draw_smal_border(_softkeyid2-_softkeyid1);
else if(_softkeyid1!=0)
	draw_smal_border(_softkeyid1-_softkeyid*10);
else
	draw_smal_border(_softkeyid);

}

⌨️ 快捷键说明

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