初级会员

- 积分
- 162
- 金钱
- 162
- 注册时间
- 2020-3-13
- 在线时间
- 32 小时
|
发表于 2020-4-8 20:59:58
|
显示全部楼层
//拷贝用于显示更新进度 //*pname:更新文件名字 //pct:百分比 //mode:模式 //[0]:更新文件名 //[1]:更新百分比pct //[2]:更新文件夹 //[3~7]:保留 //返回值:0,正常; // 1,结束复制 u8 user_cp_showInf(u8*pname,u8 pct,u8 mode) { if(mode&0X01) { //LCD_Fill(cpdmsg_x+9*(cpdmsg_fsize/2),cpdmsg_y,cpdmsg_x+(9+16)*(cpdmsg_fsize/2),cpdmsg_y+cpdmsg_fsize,BLACK); //填充底色 //LCD_ShowString(cpdmsg_x+9*(cpdmsg_fsize/2),cpdmsg_y,16*(cpdmsg_fsize/2),cpdmsg_fsize,cpdmsg_fsize,pname); //显示文件名,最长16个字符宽度 printf("\r\nCopy File:%s\r\n",pname); } if(mode&0X04)printf("Copy Folder:%s\r\n",pname); if(mode&0X02)//更新百分比 { //LCD_ShowString(cpdmsg_x+(9+16+1+3)*(cpdmsg_fsize/2),cpdmsg_y,lcddev.width,lcddev.height,cpdmsg_fsize,"%"); //LCD_ShowNum(cpdmsg_x+(9+16+1)*(cpdmsg_fsize/2),cpdmsg_y,pct,3,cpdmsg_fsize);//显示数值 printf("File Copyed:%d\r\n",pct); } return 0; } u8*const APP_SYSTEM_APPPATH="/yaakov"; //APP文件夹路径 u8*const APP_SYSTEM_DSTPATH="1:/SYSTEM"; u32 totsize=0; u8 user_cp_folder(void) { u32 cpdsize=0; u8 res=0; u8 *p_app; u8 rval; p_app = mymalloc(100); if(p_app==NULL) { return 1;//内存申请失败 } sprintf((char*)p_app,"%s%s","0:",APP_SYSTEM_APPPATH); totsize+=exf_fdsize(p_app);//得到三个文件夹的总大小 printf("totsize:%d\r\n",totsize); f_mkdir((const TCHAR *)APP_SYSTEM_DSTPATH);//强制创建目标文件夹 res=exf_fdcopy(user_cp_showInf,p_app,(u8*)APP_SYSTEM_DSTPATH,&totsize,&cpdsize,1); if(res) { if(res!=0xff) rval=1; //第一阶段复制出错 else rval=0XFF; //强制退出 } else { rval=0;//整个过程无错误,无强制退出 } myfree(p_app); return rval; } |
|