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

📄 vod.cpp

📁 vod vod vod vod
💻 CPP
📖 第 1 页 / 共 5 页
字号:
wnd->WindowRect(x,y,80,100,fgl::CYELLOW);
delete c;
} 

bool getstar(int type)
{
	 
	 
	 star.removeall();
	 if (type==2)
	 do_query(tds,"select  DISTINCT fhuman from dbsong where fhuman <>'' and fmethod='男生独唱' order by fhuman");
	 
	 if (type==3)
	 do_query(tds,"select  DISTINCT fhuman from dbsong where fhuman <>'' and fmethod='女生独唱' order by fhuman");
	 
	 if (type==4)
	 do_query(tds,"select  DISTINCT fhuman from dbsong where fhuman <>'' and fmethod='合唱' order by fhuman");
	 
	 get_tds_res(tds,&star);
	 star.pagesize=8;
	 MaxStarPage=star.maxpage();
	 MaxStar=star.m_count;
	 printf("listsong nub:%d maxpage:%d\n" ,star.m_count,MaxStarPage);
	
	
}

bool getstarchar(char *tmp)
{
	 char query[256];
	 
	 star.removeall();
	 sprintf(query,"select  DISTINCT fhuman from dbsong where fmanpy='%s' order by fhuman",tmp);
	 do_query(tds,query);
	 
	 get_tds_res(tds,&star);
	 star.pagesize=8;
	 
	 MaxStarPage=star.maxpage();
	 MaxStar=star.m_count;
	 printf("listsong nub:%d maxpage:%d\n" ,star.m_count,MaxStarPage);
	 printf("query:%s\n" ,query);
	 if (MaxStar<1)
	 	return false;
	 else
	 	return true;
	
	
}	 

void ShowPage()
{	 char tmpstr[50];
	 char tmp[20];
	
	 int i;
	 
	 char *pp[5];
	 
	 
			 star.seekpage(CurPage);
	 		 for(i = CurPage*8; i < (CurPage+1)*8; i++)
				{
    				if (!star.mEOF) 
					 {
					 	star.getfield(tmp);
					 	split(tmp,pp);
					  strcpy(tmpstr,pp[0]);
					  ShowPicture(rect[i%8].x,rect[i%8].y,pp[0]);
					  sprintf(tmpstr,"%d.%s",(i%8+1),pp[0]);
					  redrawtext(wnd,b,tmpstr,rct[i%8].x-5,rct[i%8].y+3,120,20,song18);
					 }
					 else
					 {
					 strcpy(tmpstr,"     ");
					 ShowPicture(rect[i%8].x,rect[i%8].y,"FHuman");
					 redrawtext(wnd,b,tmpstr,rct[i%8].x-5,rct[i%8].y+3,120,20,song18);
					 }
					 star.movenext();
				}
             sprintf(tmpstr, "第 %d 页 共 %d 页",CurPage+1,MaxStarPage);
			 redrawtext(wnd,b,tmpstr,250,420,180,25,yao20);
}


//***************
//改变主窗口背景*
//***************
int ReDrawBK(fgl::FGWindow *w,int wname,int n)
{
	char pathstr[256];
  int i;
ln=ln+n;
if (wname!=SONGLIST)
	IFDISCO=false;
if (n<0)
	wname=Layer[ln];
if (n>0)
	Layer[ln]=wname;

if (ln>0)
	printf(":::::::::::::%d  %d \n",Layer[ln],Layer[ln-1]);
	printf("ln:%d \n",ln);


for (i=0;i<=ln;i++)
switch (wname)
	{
		case MENU:
			strcpy(pathstr,"images/menu.jpg");   
		break;
		case SONGLIST:
			strcpy(pathstr,"images/songlist.jpg");   
		break;
		case STAR:
			strcpy(pathstr,"images/star.jpg");   
		break;
		case SONGS:
			strcpy(pathstr,"images/songs.jpg");   
		break;
		case SONG:
			strcpy(pathstr,"images/song.jpg");   
		break;
		case ID:
			{strcpy(pathstr,"images/id.jpg"); 
			 strcpy(str_id,"");  
		  }
		break;
		case LANGUAGE:
			strcpy(pathstr,"images/language.jpg");   
		break;
		case WORDS:
			strcpy(pathstr,"images/word.jpg");   
		break;
		case WORDSLETTER:
			strcpy(pathstr,"images/letter.jpg");   
		break;
		
		case TOP100:
			strcpy(pathstr,"images/top100.jpg"); 
		break;
		case PY:
			strcpy(pathstr,"images/py.jpg"); 
		break;
		case RECSONG:
			strcpy(pathstr,"images/recsong.jpg"); 
		break;
    case RECSONGLIST:  
				 strcpy(pathstr,"images/recsonglist.jpg"); 
		break;
		case MEMBER:  
				 strcpy(pathstr,"images/member.jpg"); 
		break;
		
		case ISMEMBER:  
				 strcpy(pathstr,"images/ismember.jpg"); 
		break;
		
		case STARTYPE:
				 strcpy(pathstr,"images/startype.jpg"); 
		break;
		case STARPY:
				 strcpy(pathstr,"images/starpy.jpg"); 
		break;
		case IFMEMBER:
				 strcpy(pathstr,"images/ifmember.jpg"); 
		break;
		
		case LOGINNAME:
				 strcpy(pathstr,"images/loginname.jpg"); 
		break;
		case LOGINPASS:
				 strcpy(pathstr,"images/loginpass.jpg"); 
		break;
		
		case REGNAME:
				 strcpy(pathstr,"images/registername.jpg"); 
		break;
		case REGPASS:
				 strcpy(pathstr,"images/registerpass.jpg"); 
		break;
		case CHANGEPASS:
				 strcpy(pathstr,"images/changepass.jpg"); 
		break;
		
		case EXITMEMBER:
				 strcpy(pathstr,"images/exitmember.jpg"); 
		break;
		
		case LETTER:
				 strcpy(pathstr,"images/letter.jpg"); 
		break;
		
		case TIMEOUTUP:
				 strcpy(pathstr,"images/timeup.jpg"); 
		break;
		case POWEROFF:
				 strcpy(pathstr,"images/poweroff.jpg"); 
		break;
		
			
	}
    
	
	win_name=wname;
	if (wname==ISMEMBER)
		MEMBERADDSONG=false;
	if (wname==AD) 
		  return 0;
	if (wname==SONGLIST) 	
  {
	   delete	bmpsong;
	   bmpsong = new fgl::FGBitmap(pathstr);   
	   w->bitblit(0,0,0,0,640,480,bmpsong,fgl::BITBLIT_COPY);
  }
  else
  {
		delete b;
		b = new fgl::FGBitmap(pathstr);   
	  w->bitblit(0,0,0,0,640,480,b,fgl::BITBLIT_COPY);
  }
	if(MEMBERLOGINED)
		{
		delete vip;
		vip = new fgl::FGBitmap("images/abcd.gif"); 
		w->bitblit(0,0,0,0,vip->GetW(),vip->GetH(),vip,fgl::BITBLIT_COPY);
	  }
	
	w->WindowRepaintUser(0,0,640,480); 
	
	GetSQLTime();
}

void Jump(int wname)
{
	if (wname==MENU)
		{
				ln=-1;
				ReDrawBK(wnd,wname,1);
				return ;
		}
	
	if (wname==IFMEMBER)
		{
				
				Layer[0]=MENU;
				ln=0;
				ReDrawBK(wnd,wname,1);
				return ;
		}
		
	if (MEMBERLOGINED)
		{
		Layer[0]=MENU;
		Layer[1]=ISMEMBER;
		Layer[2]=SONG;
		ln=2;
		}
	else
		{
			Layer[0]=MENU;
			Layer[1]=SONG;
			ln=1;
		}
	ReDrawBK(wnd,wname,1);
	
}
int MessagePic(char PicPath[256])
{
	 fgl::FGBitmap *c;  

	if (access(PicPath,F_OK)!=0)  //无此头像
		{return false;}
	else
		{
			c = new fgl::FGBitmap(PicPath);
			wnd->WindowPutBitmap(0, 0, 0,0,300, 100, c); 
			delete c;
		}
	}
    
	
char lang[20];

bool GetLanguage(int key)
{
				switch (key-48)
					{ case 1:
						sprintf(lang,"%s","国语");	
					  break;
					  case 2:
						sprintf(lang,"%s","粤语");		
					  break;
					  case 3:
						sprintf(lang,"%s","闽南语");		
					  break;
					  case 4:
						sprintf(lang,"%s","英语");	
					  break;
					  case 5:
						sprintf(lang,"%s","日语");	
					  break;
					  case 6:
						sprintf(lang,"%s","儿歌");	
					  break;
					  case 7:
						sprintf(lang,"%s","民歌");	
					  break;
					  case 8:
						sprintf(lang,"%s","戏曲");	
					  break;
					  case 9:
						sprintf(lang,"%s","韩语");	
					  break;
					}			
		
	
	}



//***************************************
//按不同的点歌方式从数据库中取出歌曲记录*
//***************************************
void initSongsSQL(int wname, int key)  
{ char query[256];
	int i;
	char tmp[20];
  char *pp[5];
  char L1[2];
  char L2[2];
  char L3[2];
  
 switch (wname)
	{
		
		case DISCO:
			strcpy(query,"select  fname,fhuman,fcode from dbsong where fhuman='A舞曲' order by fname");
			IFDISCO=true;
		break;	
		case STAR:
				star.seekpage(CurPage);
				for(i=0;i<(key-49);i++)
				   star.movenext();
						star.getfield(tmp);
					 	split(tmp,pp);
					  printf(" %s ",pp[0]);

					sprintf(query,"select  fname,fhuman,fcode from dbsong where fhuman='%s' order by fname",pp[0]);
		break;
		case LANGUAGE:
				switch (key-48)
					{ case 1:
						sprintf(query,"select  fname,fhuman,fcode from dbsong where flanguage='%s' order by fname","国语");	
					  break;
					  case 2:
						sprintf(query,"select  fname,fhuman,fcode from dbsong where flanguage='%s' order by fname","日语");		
					  break;
					  case 3:
						sprintf(query,"select  fname,fhuman,fcode from dbsong where flanguage='%s' order by fname","粤语");		
					  break;
					  case 4:
						sprintf(query,"select  fname,fhuman,fcode from dbsong where flanguage='%s' order by fname","儿歌");	
					  break;
					  case 5:
						sprintf(query,"select  fname,fhuman,fcode from dbsong where flanguage='%s' order by fname","闽南语");	
					  break;
					  case 6:
						sprintf(query,"select  fname,fhuman,fcode from dbsong where flanguage='%s' order by fname","民歌");	
					  break;
					  case 7:
						sprintf(query,"select  fname,fhuman,fcode from dbsong where flanguage='%s' order by fname","英语");	
					  break;
					  case 8:
						sprintf(query,"select  fname,fhuman,fcode from dbsong where flanguage='%s' order by fname","戏曲");	
					  break;
					  case 9:
						sprintf(query,"select  fname,fhuman,fcode from dbsong where flanguage='%s' order by fname","韩语");	
					  break;
					}			
		break;
		case LETTER:
			    
					sprintf(query,"select  fname,fhuman,fcode from dbsong where flanguage='%s' and fchar='%c'  order by fname",lang,toascii(key));	
					printf("%s\n",query);
					
					
		break;
		
		case WORDSLETTER:
			if (key==57)
				sprintf(query,"select  fname,fhuman,fcode from dbsong where len(fname)>=%d and fchar='%c' order by fname",wordlen,toascii(key));
			else
				sprintf(query,"select  fname,fhuman,fcode from dbsong where len(fname)=%d and fchar='%c' order by fname",wordlen,toascii(key));
					printf("%s\n",query);
		break;
		
		
		case TOP100:
			  if (key==49)
			  	sprintf(query,"select  fname,fhuman,fcode from tbl_top100w");
			  if (key==50)
			  	sprintf(query,"select  fname,fhuman,fcode from tbl_top100m");
		break;
		
		case DEFSQL:	  	
			memcpy(query,str_defsql,strlen(str_defsql));
			query[strlen(str_defsql)]=0;
			printf("query:%s \n",query);
			
		break;
		case CHORUS:
			sprintf(query,"select  fname,fhuman,fcode from dbsong where fmethod='%s' order by fname","合唱");
		break;
		case ISMEMBER:
			sprintf(query,"select  songname,songer,songcode,id from membersong where membername='%s' order by songname",mem_name);
		break;
		case PY:
			sprintf(query,"select  fname,fhuman,fcode from dbsong where py like '%s%c' order by len(fname),fname",pystr,toascii(37));
		break;
	}

							
									
	do_query(tds,query);
	get_tds_res(tds,&songs);
	MaxSongs=songs.m_count;
	songs.pagesize=MaxSongPerPage;
	MaxSongsPage=songs.maxpage();

 CurSongsPage=0;
 CurSelectSong=0;
 printf("Maxsong:%d MaxSongsPage:%d",MaxSongs,MaxSongsPage);
printf("%s\n",query);

}



int cleanrecsong()
{
while(LS_recsong.count()>0)
   {
   	printf("remove:%d\n",LS_recsong.count());
   	LS_recsong.remove(0);
   	}
}

int getrecsong(char *wavpath) //得到录音目录下的wav文件
{
	char tmp[20];
	DIR * dir;
	struct dirent * ptr;
	char *delim=".";
	dir =opendir(wavpath);
 	
   
while((ptr = readdir(dir))!=NULL)
{
	if (ptr->d_type==0)
		{ 
    LS_recsong.insert(ptr->d_name);    
		}
}
	closedir(dir);
	LS_recsong.show();
	printf("wav count:%d\n",LS_recsong.count());
}

int GetAD() //得到录音目录下的wav文件
{
	
	DIR * dir;
	struct dirent * ptr;
	
	strcpy(wavpath,"/AD");
	dir =opendir(wavpath);
 	char *p;
 
 
 LS_AD.removeall();
while((ptr = readdir(dir))!=NULL)
{
 
    p= strstr(ptr->d_name,".jpg");
		if (p!=0 )
			{printf("type: %d  pic :%s \n",ptr->d_type,ptr->d_name);
      LS_AD.insert(ptr->d_name); 
      } 
}
	closedir(dir);
	//LS_AD.show();
	printf("ADs count:%d\n",LS_AD.count());
	LS_AD.seekpage(0);
}

int ShowAD()
{
	char pathstr[80];
	 char tmp[30];
	 if (LS_AD.count()<=0 )
	 		return -1;
	 
	 printf("row:%d \n",LS_AD.GetCurPageRow());
	 LS_AD.getpagefield(tmp);
		sprintf(pathstr,"/AD/%s",tmp);
		//printf("show ad:%s\n",pathstr);
		//LS_AD.show();
		delete b;
		b = new fgl::FGBitmap(pathstr);   
	  wnd->bitblit(0,0,0,0,640,480,b,fgl::BITBLIT_COPY);
	  wnd->WindowRepaintUser(0,0,640,480); 
	  sprintf(pathstr, "第%d项 :共%d项   按‘上一页’ ‘下一页’ 翻阅活动内容",LS_AD.GetCurPageRow()+1, LS_AD.count());
		redrawtext(wnd,b,pathstr,20,20,600,25,yao20);
	}

int Show_RecSongs()
{
	 char strname[20];
	 int i;
	 char tmp[80];
	 char *pp[5];

			if (LS_recsong.m_count>0)
					LS_recsong.seekpage(CurSongsPage);
			else
					{
						for(i = 0; i < MaxSongPerPage; i++)
								{ wnd->bitblit(80,i%MaxSongPerPage*20+LEFTTOP,80,i%MaxSongPerPage*20+LEFTTOP,520,20,b,fgl::BITBLIT_COPY);	
  								wnd->WindowRepaintUser(80,i%MaxSongPerPage*20+LEFTTOP,520,20); 
								}
				  	return -1;
					}
	    CurSelectSong=LS_recsong.row;
		  LastSelectSong=LS_recsong.oldrow;
		  
			 for(i = 0; i < MaxSongPerPage; i++)
				{
    					if (i<=LS_recsong.pagerows)
							 {
		      		 	LS_recsong.getfield(tmp);
							 	split(tmp,pp);
								 redrawtext(wnd,b,pp[0],80,i%MaxSongPerPage*20+LEFTTOP,420,20,song18);	
								 wnd->WindowRect(80,CurSelectSong*20+LEFTTOP,520,20,fgl::CYELLOW);		
								 LS_recsong.movenext();
							 }
							 
							 else
							 { 
								 wnd->bitblit(80,i%MaxSongPerPage*20+LEFTTOP,80,i%MaxSongPerPage*20+LEFTTOP,520,20,b,fgl::BITBLIT_COPY);	
								 wnd->WindowRepaintUser(80,i%MaxSongPerPage*20+LEFTTOP,520,20); 
							 }
				}
			 
			 sprintf(strname, "第 %d 页  共 %d 页",(CurSongsPage+1), MaxSongsPage);
			 redrawtext(wnd,b,strname,250,420,180,25,yao20);
			 LS_recsong.pp=LS_recsong.pagehead;//当前指针移到页首	
			 
}

//删除wav歌曲
int DelRecSong()
{

⌨️ 快捷键说明

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