📄 飞翔理科ii-new.txt
字号:
//定义按键
#define UP_KEY 20
#define DOWN_KEY 21
#define LEFT_KEY 23
#define RIGHT_KEY 22
#define PGUP_KEY 19
#define PGDOWN_KEY 14
#define ENTER_KEY 13
#define HELP_KEY 25
#define ESC_KEY 27
#define SHIFT_KEY 26
#define LINE_LENTH 26
#define CHAR_HEIGHT 13
#define len_SubDir 22
//定义图片
//图标
char tu[]={0xf0,0xfc,0xfc,0x3c,0xff,0x1c,0xff,0x1c,0x1c,0x3c,0xc4,0x4c,0xf0,0x14,0xe0,0x0,0xc8,0x3c,0x1e,0x1c,0xfe,0x1c,0xf0,0x3c,0x0,0xfc};
//根号
char gen[]={0x3e,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0xb0,0x70,0x30,0x10};
//组合数
char paic[]={0x1d,0x78,0x23,0x54,0x41,0x54,0x80,0x54,0x80,0x54,0x80,0x0,0x80,0x0,0x80,0x0,0x80,0x78,0x81,0x24,0x41,0x24,0x42,0x24,0x3c,0x76};
//排列数
char paia[]={0x10,0x78,0x10,0x54,0x18,0x54,0x28,0x54,0x28,0x54,0x24,0x0,0x3c,0x78,0x44,0x24,0x42,0x24,0x42,0x24,0xe7,0x76};
//坐标系 箭头 坐标
char jiantou[]={0x80,0x40,0xe0,0x40,0x80};
char jiantou1[]={0x20,0x70,0xa8};
char xtu[]={0x90,0x60,0x60,0x90};
char ytu[]={0x90,0x60,0x20,0xc0};
char otu[]={0x60,0x90,0x90,0x60};
//保存图片
char pic[1600];
char muout[9];
char mulu1[20],mulu2[20],mulu3[20];
//菜单项
char mu1[100]={" 初等代数初等几何方程速解三角函数排列组合数 列解析几何函数图像位置关系统计初步数学资料"};
char mu2[100]={" 仿真实验物理计算物理资料"};
char mu3[100]={" 无机化学有机化学化学资料"};
char mu4[100]={" 遗传变异生命活动生物环境物质基础生物资料"};
char mu5[100]={" 关于作者版本信息特别感谢开发小组"};
int ii,yy,e;
//Ebk内置变量
int subject=0;
char FileType;
char KEY;
char cmd;
char filedata[205];
char fp;
long thispage_begin;
long thispage_end;
long nextpage_begin;
long nextpage_end;
long nextline_begin;
long nextline_end;
long lastpage_begin;
long lastpage_end;
long lastline_begin;
long lastline_end;
char pathpoint;
char filestr[15];
char SHIFTaBYTE;
char Auto_ByHand;
int ms=4000;
long parentdir;//此变量基本没用,可删
long SubDir_add[5];//
long SubDir_name[5];//
char Num_of_SubDir;//
long CurrentSubDir_Name_p;//
long dataBegin; //EBK_only_for_mark_begin-8
long dataEnd;
char EBK_only_for_mark_begin[2];
char dir_p;
long dir[10];
long BlockOffset;
char CurrentSubDir_p[10];
char CurrentSubDir;
char fromSubDir;
long dir_add;
long VTorId_maxID;
long VTorId_minID;
long VTorId_i;
long VTorId_add;
long BlockID;
char EBK_only_for_mark_end[2];//EBK_only_for_mark_end
int ebk_v_BEGIN;
int ebk_v_END;
char DatFileIsOK;
char textfilename[50];
//帮助 17行
char help_info[][26]={
" 我,一个飞翔的男孩,一",
"个梦想的男孩,一个阳光的",
"男孩。 ",
" 我坚信,只要有梦想,我",
"就能飞翔。 ",
"========================",
"姓名:宋飞 ",
"性格:开朗外向、好交朋友",
"生日:1988-01-16 ",
"Email:songfei_1@sina.com",
"QQ:306698780 ",
"星座:摩羯座 ",
"就读学校:内蒙古一机一中",
"所在班级:高二(6)班 ",
"邮政编码:014030 ",
"格言:只要我高兴就行! ",
"=========[END]=========="};
char help_info1[][26]={
"键盘操作: ",
"<M><空格>键控制类别菜单 ",
"<税> <M->键控制科目菜单 ",
"↑↓←→ 键控制项目菜单 ",
"<A> 键显示作者简介 ",
"<T> 键显示特别感谢 ",
"<输入> 键进入工具 ",
"<跳出> 键退出程序 "};
char help_info2[][26]={
"感谢以下星迷的参与和支持",
"是你们的帮助让程序更完善",
"更感谢所有星迷的长久支持",
"[人员排名不分先后] ",
"========================",
"Lee |苍狼绝地 ",
"YMJR/卿 |末浪LeeStorm",
"星星abc |谷虫&黑人类 ",
"EPC DIY | ",
"=========[END]=========="};
//画窗口
void WriteWin(int a)
{
if(a!=4)ClearScreen();
Block(1,1,160,13,1);
if(a==1)TextOut(20,1,"飞翔理科工具集II 正式版",9);
if(a==2)TextOut(20,1,"飞翔理科II 热线帮助",9);
if(a==3)TextOut(20,1,"飞翔理科II 作者简介",9);
if(a==4)TextOut(20,1,"飞翔理科II 资料浏览",9);
if(a==5)TextOut(20,1,"飞翔理科II",9);
if(a==6)TextOut(20,1,"飞翔理科II 谢谢使用",9);
if(a==7)TextOut(20,1,"飞翔理科II 预留选项",9);
WriteBlock(4,1,14,12,1,tu);
Rectangle(1,0,160,80,1);
}
//画图片
void WritePic(int i)
{
char fpp;
if ((fpp=fopen("/FLY/FLY_pic1.dat","r"))==0)
{
WriteWin(1);
TextOut(3,20,"没有图片数据,请重新下载!",1);
TextOut(3,35,"程序设计:宋飞 (BOYFLY) ",1);
TextOut(3,50,"如有任何疑问请联系我!",1);
TextOut(3,65,"Email:songfei2006@Gmail.com",1);
Refresh();
getchar();
fclose(fpp);
exit(0);
}
else
{
fseek(fpp,i*1600,0);
fread(pic,1,1600,fpp);
WriteBlock(0,0,160,80,1,pic);
Refresh();
fclose(fpp);
}
}
//画菜单项
void WriteMenu(int i)
{
char fpp;
if ((fpp=fopen("/FLY/FLY_pic1.dat","r"))==0)
{
WriteWin(1);
TextOut(3,20,"没有图片数据,请重新下载!",1);
TextOut(3,35,"程序设计:宋飞 (BOYFLY) ",1);
TextOut(3,50,"如有任何疑问请联系我!",1);
TextOut(3,65,"Email:songfei2006@Gmail.com",1);
Refresh();
getchar();
fclose(fpp);
exit(0);
}
else
{
fseek(fpp,(i-1)*320,0);
fread(pic,1,320,fpp);
WriteBlock(0,15,160,16,1,pic);
fclose(fpp);
}
}
//退出
void Quit()
{
WriteWin(6);
TextOut(30,35,"宋飞制造 谢谢使用",1);
TextOut(30,50," www.wqxshow.com ",1);
Refresh();
getchar();
exit(0);
}
void NullChoose()
{
WriteWin(7);
TextOut(30,35,"预留空间 没有选项",1);
TextOut(30,50," www.wqxshow.com ",1);
Refresh();
getchar();
}
void caidan()
{
printf("CaiDan");
getchar();
}
//开始屏幕
void start()
{
char k;
WritePic(1);
Refresh();
k=getchar();
if(k=='s')
{
Beep();
k=getchar();
if(k=='o')
{
Beep();
k=getchar();
if(k=='n')
{
Beep();
k=getchar();
if(k=='g')
{
Beep();
k=getchar();
if(k=='f')
{
Beep();
k=getchar();
if(k=='e')
{
Beep();
k=getchar();
if(k=='i')
{
Beep();
caidan();
}
}
}
}
}
}
}
}
//显示预留空间
void WriteErr()
{
WriteWin(1);
WriteMenu(subject+1);
TextOut(20,50,"预留空间,没有选项!",1);
Refresh();
getchar();
}
//显示说明
void WriteHelp(int a,int text,int line_count)
{
char txt_line[LINE_LENTH+1];
char key;
char temp[1600];
int this_line,i;
this_line=0;
for(;;)
{
ClearScreen();
WriteWin(a);
for(i=0;i<5;i++)
{
if(this_line+i<line_count)
{
memcpy(txt_line,text+(this_line+i)*LINE_LENTH,LINE_LENTH);
TextOut(8,15+i*CHAR_HEIGHT,txt_line,1);
}
else break;
}
Refresh();
key=getchar();
if(key==UP_KEY) this_line--;
if(key==DOWN_KEY) this_line++;
if(key==PGUP_KEY) this_line=this_line-5;
if(key==PGDOWN_KEY) this_line=this_line+5;
if(this_line<0)
{
this_line=0;
Beep();
}
if(this_line+5>line_count)
{
this_line=line_count-5;
Beep();
}
if(key==ESC_KEY) {break;}
}
}
//开根号
long sqrt(long M)
{
int N, i;
long tmp, ttp;
if(M==0)
return 0;
N=0;
tmp =(M>>30);
M=M<<2;
if(tmp > 1)
{
N++;
tmp=tmp-N;
}
for(i=15;i>0;i--)
{
N=N<<1;
tmp=tmp<<2;
tmp=tmp+(-(M<0))*2+((M&0x7fffffff)>>30);
ttp=N;
ttp=(ttp<<1)+1;
M=M<<2;
if(tmp>=ttp)
{
tmp=tmp-ttp;
N++;
}
}
return N;
}
//输入数字
int InputNum(char x,char y,char len)
{
int i;
int n,sign;
char ch;
long value;
char numberc[11];
char string[12];
char string1[13];
if(len>9)len=9;
strcpy(numberc,"0bnmghjtyu");
memset(string,0,12);
sign=1;
n=0;
value=0;
for(;;)
{
n=strlen(string);
Block(x,y,x+6*(n+2),y+12,0);
strcpy(string1,string);
strcat(string1,"_");
TextOut(x,y,string1,1);
Refresh();
ch=getchar();
for(i=0;i<10;i++)
if(ch==numberc[i]){ch=i+'0';break;}
else if(ch==20)ch='-';
if(isdigit(ch)&&n<len)string[n]=ch;
else if (ch=='-')
{
if(sign==1)
{
memmove(string+1,string,10);
string[0]=ch;
}
else if(sign==-1){memmove(string,string+1,10);string[n-1]=0;}
sign=-sign;
}
else if(ch==LEFT_KEY&n)string[n-1]=0;
else if (ch==ENTER_KEY&&n) {string[n]=0;break;}
}
if(sign==1)i=0;else i=1;
for(;i<n;i++)
{
ch=string[i];
value=value*10+(ch&0xf);
}
return sign*value;
}
void WriteNum(int x,int y,long num)
{
char temp[27];
sprintf(temp,"%d",num);
TextOut(x,y,temp,1);
}
//Ebk文件内置 strcpy(textfilename,"/FLY/WL_1.dat");Text(); 调用
char EXITorNOT()
{
return 1;
}
long fsize(char fsize_fp)
{
fseek(fsize_fp,0,SEEK_END);
return ftell(fsize_fp);
}
char fopen_fp()
{
//===================================================
strcpy(filestr,textfilename);
if ((fp=fopen(filestr,"r"))==0) return 0;
return 1;
}
char TYPEofFILE()
{
char type_flag[5];
rewind(fp);
fread(type_flag,1,5,fp);
rewind(fp);
if((!type_flag[0])&&(!type_flag[1])&&(!type_flag[2]))
{
if((!type_flag[3])&&(!type_flag[4]))return 1;//TXT
else return 2;//EBK
}
else if((type_flag[0]=='B')&&(type_flag[1]=='1')&&(type_flag[2]=='6'))return 3;//B16
else if((type_flag[0]=='B')&&(type_flag[1]=='M'))return 4;//BMP
else if((type_flag[0]=='F')&&(type_flag[1]=='L')&&(type_flag[2]=='M'))return 5;//FLM
else if(type_flag[0]&&type_flag[1]&&type_flag[2]&&type_flag[3]&&type_flag[4])return 1;
else return 0;
}
void progress()
{
char y1;
char y2;
y1=(79*(thispage_begin-dataBegin))/(dataEnd-dataBegin);
y2=1+(79*(thispage_end-dataBegin))/(dataEnd-dataBegin);
Line(159,0,159,79,1);
Line(159,y1,159,y2,0);
}
long EBK_changeNextDir()
{
long add;
char c;
long dir_return;
long dir_unknow;
while(1)
{
if(CurrentSubDir+1<Num_of_SubDir)//下一个
{
CurrentSubDir++;
CurrentSubDir_p[dir_p]=CurrentSubDir;
fseek(fp,dir_add+3+2*CurrentSubDir,0);
dir_unknow=getc(fp)+getc(fp)*256;
fseek(fp,dir[dir_p],0);
while(getc(fp)!=0xff);
dir[dir_p]=ftell(fp);
break;
}
else //回上一层
{
if(!dir_p) {return(-1);}
fseek(fp,dir_add+1,0);parentdir=getc(fp)+getc(fp)*256;
fseek(fp,parentdir,0);
Num_of_SubDir=getc(fp);
dir_add=parentdir;parentdir=getc(fp)+getc(fp)*256;
CurrentSubDir_p[dir_p]=0;
CurrentSubDir=CurrentSubDir_p[--dir_p];//if(CurrentSubDir+1<Num_of_SubDir)则上边;
}
}
while(1)//进目录
{
fseek(fp,dir_unknow,0);
c=getc(fp);
if((!c)||(dir_p>9))break;//(dir_p>9)防止意外
else
{
CurrentSubDir=0;CurrentSubDir_p[++dir_p]=0;
Num_of_SubDir=c;parentdir=dir_add;dir_add=dir_unknow;
fseek(fp,dir_add+3,0);dir_unknow=getc(fp)+getc(fp)*256;
dir[dir_p]=dir_add+3+2*Num_of_SubDir;
}
}
thispage_begin=-1;//重要!EBK_find_inBlock()中有作用
return(dir_unknow);
}
void set_nextpage()
{
char i;
char space_rest;
char tempchar;
char CanRead;
nextpage_begin=thispage_end+1;
if(nextpage_begin<dataEnd)fseek(fp,nextpage_begin,0);
else {cmd=254;return;}
CanRead=fread(filedata,1,200,fp);
if(ftell(fp)>dataEnd)CanRead=CanRead-(ftell(fp)-dataEnd);
space_rest=26*6;
for(i=0;i<CanRead;i++)
{
tempchar=filedata[i];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -