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

📄 hdd_gui.c

📁 Sunplus 8202S source code.
💻 C
📖 第 1 页 / 共 2 页
字号:
#endif
#ifndef SUPPORT_HDD_DELETEFILE
      if (CD_FP.name[0] == '<' || CD_FP.name[0] == '/') // FILE MARK COPY'<' DEL'/'
      		return;
#endif     
#ifdef HDD_FILE_MANAGEERUI
        Manageui_SetNewFile(CD_FP.name,(CD_FP.size)/1024);
        fileManageui_Init();
#else 
#ifdef SUPPORT_HDD_DELETEFILE
    if (!IsDelFile)
    {
#endif
	FSGUI_FillFrameBuf(0,236,352,48,BK_GROUNDY,BK_GROUNDCRCB);
      for (i = 0; i < 8; i++)
        {
		name[i]=0x20;
	}
	name[i]=0x0;
      for (i = 0; i < 8; i++)
        {
          if (CD_FP.name[i] == 0x0)
            {
			break;
		}	
		name[i]=CD_FP.name[i];
	}
	psprintf(buf, "COPY [%s] SIZE:%ldK", name, (CD_FP.size)/1024);
	printf("%s\n",buf);
	FSGUI_ShowString(STARTX, LINEONE, buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);

#ifdef SUPPORT_HDD_DELETEFILE
        for (i = 0; i < 5; i++)
        {
            numName[i]=0x20;
        }

#ifdef ADD_NEWFILE_SEQUENCE
#ifdef SUPPORT_HDD_DELETEFILE
        if (!IsDelFile)
#endif
        {
            codeNo =GetNextNullCell();
            if (codeNo)
                printf("new code no is %d\n",codeNo);
            else
            {
                printf("Error:can't find code\n");
                return 0;
            }
        }
        for (i = 5; i > 0; i--)
        {
            numName[i-1]=(codeNo%10)+'0';
            codeNo/=10;
        }
//      print_block(numName,6);
        codeNo =GetNextNullCell();
        
#endif
        numName[5]=0x0;
        psprintf(buf, "  TO [%s]", numName);
#else
	psprintf(buf, "  TO [%s]", name);
#endif
	FSGUI_ShowString(STARTX, LINETWO, buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);
#ifdef SUPPORT_HDD_DELETEFILE
        psprintf(buf, "      _____");
        FSGUI_ShowString(STARTX, LINETWO_UL, buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);
        FSGUI_ReplaceFrameBuf(STARTX + 6*9 , LINETWO ,5*9, 12,BK_GROUNDY,BK_GROUNDCRCB,HL_Y,HL_CRCB);
#else
	FSGUI_ShowString(STARTX, LINETWO_UL, buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);
	FSGUI_ReplaceFrameBuf(STARTX + 6*9 , LINETWO ,8*9, 12,BK_GROUNDY,BK_GROUNDCRCB,HL_Y,HL_CRCB);
#endif  
#ifdef SUPPORT_HDD_DELETEFILE
        }
#endif
#endif
      while (run)
        {
		if(ir_rx_empty()) // IR EMPTY
			continue;
		ch = ir_getch();
                switch (ch)
                  {
			case IRC_UP:
#ifdef HDD_FILE_MANAGEERUI
                            fileManageui_IrUp();
#endif
				break;
			case IRC_DOWN:
#ifdef HDD_FILE_MANAGEERUI
                        fileManageui_IrDown();
                        break;
#else                        
#ifdef SUPPORT_HDD_DELETEFILE
			if (CD_FP.name[0] == '<' || CD_FP.name[0] == '/') // FILE MARK COPY'<' DEL'/'
				break;
                        if (IsDelFile)
                    {
                            IsDelFile =0;
                            FSGUI_FillFrameBuf(0,236,352,48,BK_GROUNDY,BK_GROUNDCRCB);
                            for (i = 0; i < 8; i++)
                        {
                                name[i]=0x20;
                    }
                            name[i]=0x0;
                            for (i = 0; i < 8; i++)
                    {
                                if (CD_FP.name[i] == 0x0)
                        {
                                    break;
                        }
                                name[i]=CD_FP.name[i];
                            }
                            psprintf(buf, "COPY [%s] SIZE:%ldK", name, (CD_FP.size)/1024);
                            FSGUI_ShowString(STARTX, LINEONE, buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);
                            for (i = 0; i < 5; i++)
                        {
                                numName[i]=0x20;
                        }
                            numName[i]=0x0;
                            psprintf(buf, "  TO [%s]", numName);
                            FSGUI_ShowString(STARTX, LINETWO, buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);
                            psprintf(buf, "      _____");
                            FSGUI_ShowString(STARTX, LINETWO_UL, buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);
                            FSGUI_ReplaceFrameBuf(STARTX + 6*9 , LINETWO ,5*9, 12,BK_GROUNDY,BK_GROUNDCRCB,HL_Y,HL_CRCB);
                    }
                        else
                    {
                            IsDelFile =1;
                            FSGUI_FillFrameBuf(0,236,352,48,BK_GROUNDY,BK_GROUNDCRCB);
                            for (i = 0; i < 5; i++)
                        {
                                numName[i]=0x20;
                        }
                            numName[i]=0x0;
                            psprintf(buf, "    DELETE FILE NO.[%s]", numName);
                            FSGUI_ShowString(STARTX+9, LINETWO, buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);
                            psprintf(buf, "_____");
                            FSGUI_ShowString(STARTX+ 21*9, LINETWO_UL, buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);
                            FSGUI_ReplaceFrameBuf(STARTX + 21*9 , LINETWO ,5*9, 12,BK_GROUNDY,BK_GROUNDCRCB,HL_Y,HL_CRCB);
                    }
                    break;
#endif
#endif
			case IRC_LEFT:
#ifdef HDD_FILE_MANAGEERUI
                        fileManagerui_IrLeft();
                        break;
#endif  
			case IRC_RIGHT:
                            printf("IRC_RIGHT\n");
#ifdef HDD_FILE_MANAGEERUI
                            fileManagerui_IrRight();
#endif
				break;
			case IRC_SELECT:
#ifndef HDD_FILE_MANAGEERUI
                            if (ok == 1)
                            {
#ifdef SUPPORT_HDD_DELETEFILE
                                if (IsDelFile)
                      {
                                    printf("DELETE FILE %d\n",codeNo);
                                    DeleteUserFile(codeNo);
                                    run = 0;
                                    break;
                      }
                                else
                                {
                                    if (SaveIndexFile(UpdataUIindex()))
                      {
                                        printf("stFileInfo.filename %s\n",stFileInfo.filename);
                                        strcpy(name,stFileInfo.filename);
                      }else
                      {
                                        printf("ERROR:Can't save MEGIDX\n");    
                                        run = 0;
				break;
                                    }
                                }
#endif
                                run=0;
                                FSGUI_FillFrameBuf(STARTX + 16 * 9, LINETWO, 4 * 9, 12,
                                    BK_GROUNDY, BK_GROUNDCRCB);
                                do_copy(name);
                                delay_1ms(1000);
                                break;
                            } 
#endif                            
#ifdef SUPPORT_HDD_DELETEFILE
#ifdef ADD_NEWFILE_SEQUENCE
#ifdef HDD_FILE_MANAGEERUI
                            retflag =fileManageui_IrSelect();
                            codeNo =fileManageui_GetSongCode();
                            printf("irselect return word %d  codeNo %d\n",retflag,codeNo);
                            
                            k = 0;
                            for (i = 0; i <5; i++)
                            {
                                numName[i]=0x20;
                            }
                            numName[i] =0;
                            if (retflag ==2)
                      {
                                printf("del code is %d\n",codeNo);
                                if (IsfailCode(codeNo) ==ERROR_REPEAT_CODE)
                          {
                                    printf("DELETE FILE %d\n",codeNo);
                                    DeleteUserFile(codeNo);
                                    fileManageui_IrReturn();
                                    break;
                                }
                            }
#else
                            if (IsDelFile)
                            {
                                if (IsfailCode(codeNo) ==ERROR_REPEAT_CODE)
                                {
                                    printf("name %s\n",numName);
                                    psprintf(buf, "    DELETE FILE NO.[%s] OK", numName);
                                    FSGUI_FillFrameBuf(STARTX + 21* 9, LINETWO, 5 * 9, 12, BK_GROUNDY,
                                                       BK_GROUNDCRCB);
                                    FSGUI_ShowString(STARTX+9, LINETWO, buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);
                                    FSGUI_ReplaceFrameBuf(STARTX +  28* 9, LINETWO, 2 * 9, 12,
                                                          BK_GROUNDY, BK_GROUNDCRCB, HL_Y, HL_CRCB);
                          }  
                                break;
                          }
#endif
                            else
#ifdef HDD_FILE_MANAGEERUI
                            if (retflag ==1)
#endif
                            {
					run=0;
                                if ((!IsfailCode(codeNo))&&(codeNo))
                                {
                                    SetDefaultFileInfo(codeNo);
                                }else
                                {
                                    printf("WARiNG:Overlap with exist fileCode\n");    
#ifdef HDD_FILE_MANAGEERUI
                                    fileManageui_close();
#endif
                                    break;
                                }
                                if (SaveIndexFile(UpdataUIindex()))
                                {
                                    printf("stFileInfo.filename %s\n",stFileInfo.filename);
                                    strcpy(name,stFileInfo.filename);
                                }else
                                {
                                    printf("ERROR:Can't save MEGIDX\n");    
#ifdef HDD_FILE_MANAGEERUI
                                    fileManageui_close();
#endif 
                                    break;
                                }
#ifndef HDD_FILE_MANAGEERUI
                                FSGUI_FillFrameBuf(0,236,352,48,BK_GROUNDY,BK_GROUNDCRCB);
                                psprintf(buf, "COPY [%s] SIZE:%ldK", name, (CD_FP.size)/1024);
                                printf("%s\n",buf);
                                FSGUI_ShowString(STARTX, LINEONE, buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);
                                psprintf(buf, "  TO [%05d]  OK",codeNo );
                                FSGUI_FillFrameBuf(STARTX + 6 * 9, LINETWO, 5 * 9, 12, BK_GROUNDY,
                                                   BK_GROUNDCRCB);
                                FSGUI_ShowString(STARTX, LINETWO, buf, FS_FONTCOLOR_FILE_Y,
                                                 FS_FONTCOLOR_FILE_CrCb);
                                FSGUI_ReplaceFrameBuf(STARTX + 12 * 9, LINETWO, 4 * 9, 12,
                                                      BK_GROUNDY, BK_GROUNDCRCB, HL_Y, HL_CRCB);
                        FSGUI_FillFrameBuf(STARTX + 16 * 9, LINETWO, 4 * 9, 12,
                                           BK_GROUNDY, BK_GROUNDCRCB);
#endif        
                        do_copy(name);
                        delay_1ms(1000);
#ifndef HDD_FILE_MANAGEERUI
                                fileManageui_close();
#endif        
                        break;
                      } 
#ifdef HDD_FILE_MANAGEERUI
                            else if(retflag ==3)
                            {
                                fileManageui_close();
                                run = 0;
                            }
                            break;
#endif
#else
                            if (k<5) {
                                    printf("input Num less than 5\n");
                                    break;
                    }
                            for (i=0;i<5;i++)
                                  {
                                codeNo*=10;
                                if (numName[i]!=0x20)
                                      {
                                    codeNo+=numName[i]-'0';
                                      } 
                                  }
                            printf("codeNo is %d k is %d\n",codeNo,k);
                            if (IsDelFile)
                                {
                                if (IsfailCode(codeNo) ==ERROR_REPEAT_CODE)
                                {
                                    printf("name %s\n",numName);
                                    psprintf(buf, "    DELETE FILE NO.[%s] OK", numName);
                                    FSGUI_FillFrameBuf(STARTX + 21* 9, LINETWO, 5 * 9, 12, BK_GROUNDY,
                                                       BK_GROUNDCRCB);
                                    FSGUI_ShowString(STARTX+9, LINETWO, buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);
                                    FSGUI_ReplaceFrameBuf(STARTX +  28* 9, LINETWO, 2 * 9, 12,
                                                          BK_GROUNDY, BK_GROUNDCRCB, HL_Y, HL_CRCB);

                            }
                        }
                            else
                            {
                                if ((!IsfailCode(codeNo))&&(codeNo))
                                {
                                    SetDefaultFileInfo(codeNo);
                                }else
                                {
                                    printf("WARiNG:Overlap with exist fileCode\n");    
                        run = 0;
					break;
				}	
                                printf("name %s\n",name);
                                psprintf(buf, "  TO [%s]  OK", numName);
                                FSGUI_FillFrameBuf(STARTX + 6 * 9, LINETWO, 5 * 9, 12, BK_GROUNDY,
                                                   BK_GROUNDCRCB);
                                FSGUI_ShowString(STARTX, LINETWO, buf, FS_FONTCOLOR_FILE_Y,
                                                 FS_FONTCOLOR_FILE_CrCb);
                                FSGUI_ReplaceFrameBuf(STARTX + 12 * 9, LINETWO, 4 * 9, 12,
                                                      BK_GROUNDY, BK_GROUNDCRCB, HL_Y, HL_CRCB);
                            }
#endif
#else
				printf("COPY IR[%x]->[%s]",ch, "IRC_SELECT");
				psprintf(buf, "  TO [%s]  OK", name);
                    FSGUI_FillFrameBuf(STARTX + 6 * 9, LINETWO, 8 * 9, 12, BK_GROUNDY,
                                       BK_GROUNDCRCB);
                    FSGUI_ShowString(STARTX, LINETWO, buf, FS_FONTCOLOR_FILE_Y,
                                     FS_FONTCOLOR_FILE_CrCb);
                    FSGUI_ReplaceFrameBuf(STARTX + 16 * 9, LINETWO, 4 * 9, 12,
                                          BK_GROUNDY, BK_GROUNDCRCB, HL_Y, HL_CRCB);
#endif
				k=0;
				ok=1;
				break;
			case IRC_GOTO:
				break;
			case IRC_REPEAT:
				printf("COPY IR[%x]->[%s]",ch, "IRC_REPEAT");
				fsgui_cdcopy();
				run=0;
				break;
			case IRC_0:
			case IRC_1:
			case IRC_2:
			case IRC_3:
			case IRC_4:
			case IRC_5:
			case IRC_6:
			case IRC_7:
			case IRC_8:
			case IRC_9:
#ifdef ADD_NEWFILE_SEQUENCE
                            break;
#else
				if(ok==1)
					break;
#ifdef  SUPPORT_HDD_DELETEFILE            
                            if (k == 0)
                                  {
                                for (i = 0; i <5; i++)
						{
                                    numName[i]=0x20;
						}
                                numName[i] =0;
						 }				
                            if(k>=5)
                                        break;
                            numName[k]=ch+0x30;
                            k++;
                          
                            printf(" numName %s\n",numName);
                            if (IsDelFile)
						{
                                psprintf(buf, "    DELETE FILE NO.[%s]", numName);
                                FSGUI_FillFrameBuf(STARTX + 21*9 , LINETWO ,5*9, 12,HL_Y,HL_CRCB);
                                FSGUI_ShowString(STARTX+9, LINETWO, buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);
						}
					  else
					  	{			  	
                                psprintf(buf, "  TO [%s]", numName);
                                FSGUI_FillFrameBuf(STARTX + 6*9 , LINETWO ,5*9, 12,HL_Y,HL_CRCB);
                                FSGUI_ShowString(STARTX, LINETWO, buf, FS_FONTCOLOR_FILE_Y,
                                                 FS_FONTCOLOR_FILE_CrCb);
                          }
#else
                    if (k == 0)
                    {
                        for (i = 0; i < 8; i++)
                        {
						name[i]=0x20;
					}
				}	
				if(k>=8)
					break;
				name[k]=ch+0x30;
				k++;
				psprintf(buf, "  TO [%s]", name);
				FSGUI_FillFrameBuf(STARTX + 6*9 , LINETWO ,8*9, 12,HL_Y,HL_CRCB);
                    FSGUI_ShowString(STARTX, LINETWO, buf, FS_FONTCOLOR_FILE_Y,
                                     FS_FONTCOLOR_FILE_CrCb);
#endif
				break;
#endif
			case IRC_3D:
				break;
			case IRC_RETURN:
#ifdef HDD_FILE_MANAGEERUI
                        if (!fileManageui_IrReturn())
                            {
                                run =0;
                            }
#endif
                    break;
			case IRC_STOP:
#ifdef  HDD_FILE_MANAGEERUI              
#endif
				run=0;
				break;
			case IRC_NULL:
				break;
			default:
				printf("COPY IR[%x]",ch);
			break;
		}
            }
#ifdef  HDD_FILE_MANAGEERUI              
        fileManageui_close();
#endif      
	FSGUI_FillFrameBuf(0,236,352,48,BK_GROUNDY,BK_GROUNDCRCB);
	FSGUI_Menu();
	FSGUI_Refresh();
	return 0;
}


#endif //#ifdef SUPPORT_HDD_ACCESS

⌨️ 快捷键说明

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