📄 store.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"
const char*store[]={"存储调用","存储 >>","","","","","",""};
const char*store1[]={"存 储"," 存储1"," 存储2"," 存储3"," 存储4"," 存储5","更多存储>>","返 回"};
const char*store2[]={"更多存储"," 存储6"," 存储7"," 存储8"," 存储9"," 存储10","","返 回"};
//const char*recall1[]={"调 用"," 调用1"," 调用2"," 调用3"," 调用4"," 调用5","更多调用>>","返 回"};
//const char*recall2[]={"更多调用"," 调用6"," 调用7"," 调用8"," 调用9"," 调用10","","返 回"};
extern const char* store_file[];
extern MDAMAP* mda_map;
extern char aflag;
extern void StoreStatus();
extern char chss;
//extern BOOL recall_end;
void store_hardkey()
{
rst_num_mem();
_keyid=STORE;
// if(_lst_strkey[ch_sel]==0)
_softkeyid=-1;
// else
// _softkeyid=_lst_strkey[ch_sel];
disp_menu12((char **)store,7);
draw_smal_border(_softkeyid);
digital_en=0;
curs_flag=0;
_softkeyid1=0;
_softkeyid2=0;
// refr_ln3();
refr_store();
vision();
///add store last status to file
}
void StoreInfo()
{
FILE* fp;
if((fp=fopen("Store.inf","wb"))==NULL){
return;
}
fwrite(&_store,sizeof(_STORE),1,fp);
fclose(fp);
}
void Store(char mem_sel)
{
CLR_LN4;
FILE *fp_store;
if((fp_store=fopen(store_file[mem_sel-1],"wb+"))==NULL)
{
Outchar12(35,462,"打不开此文件!",TEXTDIGITAL);
return;
}
fwrite(&alternative,sizeof(int),1,fp_store);
fwrite(&aflag,sizeof(char),1,fp_store);
fwrite(&ch_sel,sizeof(int),1,fp_store);
fwrite(&_freq,sizeof(_FREQ),2,fp_store);
fwrite(&_power,sizeof(_POWER),2,fp_store);
fwrite(&_sweep,sizeof(_SWEEP),2,fp_store);
fwrite(&_chab,sizeof(_CHAB),2,fp_store);
fwrite(&_scale,sizeof(_SCALE),2,fp_store);
fwrite(&_disp,sizeof(_DISP),1,fp_store);
fwrite(&_format,sizeof(_FORMAT),2,fp_store);
fwrite(&_avg,sizeof(_AVG),2,fp_store);
fwrite(&_marker,sizeof(_MARKER),2,fp_store);
fwrite(&_status,sizeof(_STATUS),2,fp_store);
fwrite(&_sweep,sizeof(_SWEEP),2,fp_store);
fwrite(&_system,sizeof(_SYSTEM),1,fp_store);
fwrite(&_on_off,sizeof(ON_OFF),1,fp_store);
if(alternative==ON){
fwrite(y_a,sizeof(int),_status[0].sweep_points,fp_store);
fwrite(y_b,sizeof(int),_status[1].sweep_points,fp_store);
}
else if(chs==0)
fwrite(y_a,sizeof(int),_status[0].sweep_points+1,fp_store);
else if(chs==1)
fwrite(y_b,sizeof(int),_status[1].sweep_points+1,fp_store);
fclose(fp_store);
_store.mem_info[mem_sel-1] = 1;
StoreInfo();
Outchar12(35,462,"存储调用:",TEXTFURLN);
Outchar12(105,462,"存储结束!",TEXTDIGITAL);
}
/*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(&_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 store_softkey(KEY key)
{
int i;
erase_smal_border(1);
for(i=1;i<=7;i++){
erase_smal_border(i);
}
CLR_LN4;
switch(key){
case F1:
if(_softkeyid1==16)
{
_softkeyid2=17;
_store.mem_sel=6;
Store(_store.mem_sel);
setcolor(TEXTMENU);
outtextxy(B_LX+2,(0+1)*59+8+4,"*");
draw_smal_border(1);
}
/* else if(_softkeyid1==26)
{
_softkeyid2=27;
_store.mem_sel=6;
recall_1();
}
*/
else if(_softkeyid==1)
{
_softkeyid1=11;
_store.mem_sel=1;
Store(_store.mem_sel);
setcolor(TEXTMENU);
outtextxy(B_LX+2,(0+1)*59+8+4,"*");
draw_smal_border(1);
}
/* else if(_softkeyid==2)
{
_softkeyid1=21;
_store.mem_sel=1;
recall_1();
}
*/
else if(_softkeyid1==0){
_softkeyid=1;
disp_menu12((char **)store1,7);
for(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]=1;
}
draw_smal_border(1);
break;
case F2:
if(_softkeyid1==16)
{
_softkeyid2=18;
_store.mem_sel=7;
Store(_store.mem_sel);
setcolor(TEXTMENU);
outtextxy(B_LX+2,(1+1)*59+8+4,"*");
draw_smal_border(2);
}
/* else if(_softkeyid1==26)
{
_softkeyid2=28;
_store.mem_sel=7;
recall_1();
}
*/
else if(_softkeyid==1)
{
_softkeyid1=12;
_store.mem_sel=2;
Store(_store.mem_sel);
setcolor(TEXTMENU);
outtextxy(B_LX+2,(1+1)*59+8+4,"*");
draw_smal_border(2);
}
/* else if(_softkeyid==2)
{
_softkeyid1=22;
_store.mem_sel=2;
recall_1();
}
*/
/* else if(_softkeyid1==0){
_softkeyid=2;
disp_menu12((char **)recall1,7);
for(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;
}
*/
draw_smal_border(2);
break;
case F3:
if(_softkeyid1==16)
{
_softkeyid2=163;
_store.mem_sel=8;
Store(_store.mem_sel);
setcolor(TEXTMENU);
outtextxy(B_LX+2,(2+1)*59+8+4,"*");
draw_smal_border(3);
}
/* else if(_softkeyid1==26)
{
_softkeyid2=29;
_store.mem_sel=8;
recall_1();
draw_smal_border(3);
}
*/
else if(_softkeyid==1)
{
_softkeyid1=13;
_store.mem_sel=3;
Store(_store.mem_sel);
setcolor(TEXTMENU);
outtextxy(B_LX+2,(2+1)*59+8+4,"*");
draw_smal_border(3);
}
/* else if(_softkeyid==2)
{
_softkeyid1=23;
_store.mem_sel=3;
recall_1();
draw_smal_border(3);
}
*/
break;
case F4:
if(_softkeyid1==16)
{
_softkeyid2=164;
_store.mem_sel=9;
Store(_store.mem_sel);
setcolor(TEXTMENU);
outtextxy(B_LX+2,(3+1)*59+8+4,"*");
draw_smal_border(4);
}
/* else if(_softkeyid1==26)
{ _softkeyid2=30;
_store.mem_sel=9;
recall_1();
draw_smal_border(4);
}
*/
else if(_softkeyid==1)
{
_softkeyid1=14;
_store.mem_sel=4;
Store(_store.mem_sel);
setcolor(TEXTMENU);
outtextxy(B_LX+2,(3+1)*59+8+4,"*");
draw_smal_border(4);
}
/* else if(_softkeyid==2)
{
_softkeyid1=24;
_store.mem_sel=4;
recall_1();
draw_smal_border(4);
}
*/
break;
case F5:
if(_softkeyid1==16)
{
_softkeyid2=165;
_store.mem_sel=10;
Store(_store.mem_sel);
setcolor(TEXTMENU);
outtextxy(B_LX+2,(4+1)*59+8+4,"*");
draw_smal_border(5);
}
/* else if(_softkeyid1==26)
{
_softkeyid2=30;
_store.mem_sel=10;
recall_1();
draw_smal_border(5);
}
*/
else if(_softkeyid==1)
{
_softkeyid1=15;
_store.mem_sel=5;
Store(_store.mem_sel);
setcolor(TEXTMENU);
outtextxy(B_LX+2,(4+1)*59+8+4,"*");
draw_smal_border(5);
}
/* else if(_softkeyid==2)
{
_softkeyid1=25;
_store.mem_sel=5;
recall_1();
draw_smal_border(5);
}
*/
break;
case F6:
if(_softkeyid==1)
{
_softkeyid1=16 ;
disp_menu12((char**)store2,7);
for(i=5;i<10;i++)
if(_store.mem_info[i] == 1)
{
setcolor(TEXTMENU);
outtextxy(B_LX+2,(i-4)*59+8+4,"*");
}
}
/* else if(_softkeyid==2)
{
_softkeyid1=26;
disp_menu12((char**)recall2,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;
disp_menu12((char**)store1,7);
for(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==26)
{
_softkeyid2=0;
disp_menu12((char**)recall1,7);
for(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
{
_softkeyid1=0;
disp_menu12((char**)store,7);
draw_smal_border(_softkeyid);
_softkeyid=-1;
}
break;
default:
break;
}
}
void refr_store()
{
CLR_LN4;
switch(_softkeyid){
case 1:
Outchar12(35,462,"存储状态:",TEXTFURLN);
break;
case 2:
Outchar12(35,462,"存储曲线:",TEXTFURLN);
break;
case 3:
Outchar12(35,462,"调用状态:",TEXTFURLN);
break;
case 4:
Outchar12(35,462,"调用曲线:",TEXTFURLN);
break;
}
// refr_str_ln4();
}
/*
void refr_str_ln4()
{
char msg[3];
CLR_DIGITAL;
switch(_softkeyid){
case 1:
sprintf(msg,"%d",_store.str_stt_mem);
Outchar12(105,462,msg,TEXTDIGITAL);
break;
case 2:
sprintf(msg,"%d",_store.str_arc_mem);
Outchar12(105,462,msg,TEXTDIGITAL);
break;
case 3:
sprintf(msg,"%d",_store.ld_stt_mem);
Outchar12(105,462,msg,TEXTDIGITAL);
break;
case 4:
sprintf(msg,"%d",_store.ld_arc_mem);
Outchar12(105,462,msg,TEXTDIGITAL);
break;
}
// init_cur_str();
//printf("%d %d",bit_cnt,cnt);
} */
/*
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;
}
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -