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

📄 book.c

📁 用C语言编写实现VCD功能
💻 C
📖 第 1 页 / 共 2 页
字号:
    for(i=0;i<8;i++)
    {
        startdate[i]&=DIG;
        enddate[i]&=DIG;
    }
    for(i=0;i<2;i++)
    {
        channel[i]&=DIG;
    }
}

void printBook()
{
    int i,x=length;
    if(!bmflag) x=length-Button[6];
    textattr(YELLOW+(BLACK<<4));
    ChtoNum();
    for(i=0;i<8;i++)
    {
        int j=0;
        gotoxy(39+i,5);
        cprintf("%c",name[i]);
        if(i>5) j=2;
        else if(i>3) j=1;
        gotoxy(j+41+i,13);
        cprintf("%d",startdate[i]);
        gotoxy(j+54+i,13);
        cprintf("%d",enddate[i]);

    }
    for(i=0;i<2;i++)
    {
        gotoxy(39+i,9);
        cprintf("%d",channel[i]);/*显示频道信息*/
    }
    for(i=0;i<4;i++)              /*显示初始时间*/
    {
        int j=0;
        if(i>1) j=1;
        gotoxy(j+41+i,17);
        cprintf("%d",starttime[i]);
    }
    for(i=0;i<4;i++)            /*显示终了时间*/
    {
        int j=0;
        if(i>3)      j=0;
        else if(i>1) j=15;
        else j=14;
        gotoxy(j+41+i,17);
        cprintf("%d",endtime[i]);
    }

}
void errorselect()
{
 switch(key)
 {
       case VK_ENTER:
                 {if(!bmflag)
                   {
                   BSC_Draw((item[length-Button[6]]).scflag,Button[Menu]);
                   Menu=4+(item[length-Button[6]]).scflag;
                   }
                 else
                   {
                   BSC_Draw(item[length].scflag,Button[Menu]);
                   Menu=4+item[length].scflag;
                   }
                 printBook();
                 errortype=0;
                 break;}
   }
 }
/*______________________________________________________________________________________________________________________*/
void book()                        /*0 SingleBook Menu==4*/ /*1 ContinueBook Menu==5*/
{
    int i;
    int x=length;
    switch(key)
    {

        case VK_UP   :
                        --Button[Menu];
                        if(Button[Menu]<0)
                        {
                            Button[Menu]=5;
                            BSC_Draw(newitem.scflag,Button[Menu]);
                        }
                        else BSC_Draw(newitem.scflag,Button[Menu]);
                        printBook();
                        keypos[Button[Menu]]=0;
                        break;

        case VK_DOWN :
                        ++Button[Menu];
                        if(Button[Menu]>5)
                        {
                            Button[Menu]=0;
                            BSC_Draw(newitem.scflag,Button[Menu]);
                        }
                        else BSC_Draw(newitem.scflag,Button[Menu]);
                         printBook();
                        keypos[Button[Menu]]=0;
                        break;
        case VK_RIGHT:
                        if (Button[Menu]==4)
                        BSC_Draw(newitem.scflag,Button[Menu]);
                        printBook();
                        keypos[Button[Menu]]=0;
                        break ;
        case VK_LEFT :
                        if (Button[Menu]==5)
                        BSC_Draw(newitem.scflag,Button[Menu]);
                        printBook();
                        keypos[Button[Menu]]=0;
                        break ;

        case VK_BACKSPACE:
                        switch(Button[Menu])
                        {
                            case 0:
                                    keypos[Button[Menu]]--;
                                    if(keypos[Button[Menu]]<0)
                                        keypos[Button[Menu]]=7;
                                    gotoxy(39+keypos[Button[Menu]],5);
                                    name[keypos[Button[Menu]]]=' ';
                                    cprintf(" ");                               /*输入空格,光标自动后移一位*/
                                    gotoxy(39+keypos[Button[Menu]],5);        /*所以让光标重新回到目标位置*/
                                    break;
                            case 1:
                                    keypos[Button[Menu]]--;
                                    if(keypos[Button[Menu]]<0)
                                         keypos[Button[Menu]]=1;
                                    gotoxy(39+keypos[Button[Menu]],9);
                                    channel[keypos[Button[Menu]]]=0;
                                    cprintf("0");                               /*输入空格,光标自动后移一位*/
                                    gotoxy(39+keypos[Button[Menu]],9);          /*所以让光标重新回到目标位置*/
                                    break;
                            case 2:
                                                       /*判断是0为Single,1为Continue*/
                                    {
                                        int i=0;
                                        keypos[Button[Menu]]--;
                                        switch(keypos[Button[Menu]])
                                        {

                                            case 0:  case 1:case 2:case 3:i=0;break;
                                            case 4:
                                            case 5: i=1;break;
                                            case 6:
                                            case 7: i=2;break;
                                            case 8:
                                            case 9:
                                            case 10:
                                            case 11: i=5; break;
                                            case 12:
                                            case 13: i=6; break;
                                            case 14:
                                            case 15: i=7;break;
                                            case -1: keypos[Button[Menu]]=15;i=7;break;
                                           }


                                          if(keypos[Button[Menu]]<8)
                                          {
                                            startdate[keypos[Button[Menu]]]=0;
                                            if(keypos[Button[Menu]]==7||keypos[Button[Menu]]==5)
                                                startdate[keypos[Button[Menu]]]=1;
                                            gotoxy(i+41+keypos[Button[Menu]],13);
                                            cprintf("%d",startdate[keypos[Button[Menu]]]);
                                            gotoxy(i+41+keypos[Button[Menu]],13);
                                            }
                                          else
                                          {
                                            enddate[keypos[Button[Menu]]-8]=0;
                                            if(keypos[Button[Menu]]==15||keypos[Button[Menu]]==13)
                                                enddate[keypos[Button[Menu]]-8]=1;
                                            gotoxy(i+41+keypos[Button[Menu]],13);
                                            cprintf("%d",enddate[keypos[Button[Menu]]-8]);
                                            gotoxy(i+41+keypos[Button[Menu]],13);
                                          }
                                    }


                                      break;
                                case 3:                                                                     /*starttime*/
                                {
                                    int i=0,j;
                                    keypos[Button[Menu]]--;
                                    if(keypos[Button[Menu]]<0)
                                        keypos[Button[Menu]]=7;
                                    setime[keypos[Button[Menu]]]=0;
                                    if(keypos[Button[Menu]]>5) i=11;
                                    else if(keypos[Button[Menu]]>3) i=10;
                                    else if(keypos[Button[Menu]]>1) i=1;
                                    gotoxy(i+41+keypos[Button[Menu]],17);
                                    cprintf("0");
                                    gotoxy(i+41+keypos[Button[Menu]],17);
                                    break;
                                }



                            }break;
            case VK_ENTER:
                            switch(Button[Menu])
                            {
                                case 5:
                                        Menu=3;                         /*还原静态变量*/
                                        for(i=0;i<MAXNUM;i++)/*Cancel执行按键*/
                                            keypos[i]=0;
                                        Button[Menu]=0;
                                           clrscr();
                                        B_Draw(Button[Menu]);                                /*还原静态变量*/
                                        break;

                                 case 4:
                                        for(i=0;i<MAXNUM;i++)/*OK执行按键*/
                                            keypos[i]=0;
                                        saveItemlist();
                                        if(errortype)
                                        {
                                         Menu=8;
                                         ERROR(errortype);
                                        }
                                        else{
                                        saveFile();
                                        seek(0);
                                        clrscr();
                                        Menu=3;
                                        B_Draw(Button[Menu]);}
                                        break;

                              }break;
            case VK_ESC  :
                            if(!bmflag)
                            {
                                Menu=6;S_Draw(Button[Menu]);
                                printItem();
                            }
                            else
                            {
                                Menu=3;
                                for(i=0;i<MAXNUM;i++)/*Cancel执行按键*/
                                  keypos[i]=0;
                                Button[Menu]=0;
                             clrscr();B_Draw(Button[Menu]);
                             }break;
            default      :  bookInput(); break;



          }
    }

/*______________________________________________________________________________________________________________________*/
#endif

⌨️ 快捷键说明

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