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

📄 main.c

📁 想不想自己做一个世界范围的时钟表啊
💻 C
📖 第 1 页 / 共 2 页
字号:
						//ShowBmp(pdc,Nju, 100, 190);
	              	  break;
			  case 2://纽约
				  ShowBmp(pdc,Newyork, 120, 120);
				  k=k-780;
				  if(k<0)
				  	{k=k+1440;}
				   else if(k>=1440)
				   	 {k=k-1440;}
				        else 
							{;}
				  hour_1=(k/60)/10;
				  hour_2=(k/60)%10;
				  minute_1=(k%60)/10;
				  minute_2=(k%60)%10;
 		   	           
						Int2Unicode(hour_1,Temp_hour_unicode1);
						Int2Unicode(hour_2,Temp_hour_unicode2);
						strtime[0]=Temp_hour_unicode1[0];
				  		strtime[1]=Temp_hour_unicode2[0];
										  
						Int2Unicode(minute_1,Temp_minute_unicode1);
						Int2Unicode(minute_2,Temp_minute_unicode2);
						strtime[3]=Temp_minute_unicode1[0]; 
				        strtime[4]=Temp_minute_unicode2[0]; 
				  break;
			  case 3: //德黑兰
			  	ShowBmp(pdc,Tehela, 120, 120); 
				 k=k-270;
				  if(k<0)
				  	{k=k+1440;}
				   else if(k>=1440)
				   	 {k=k-1440;}
				        else 
							{;}
				  hour_1=(k/60)/10;
				  hour_2=(k/60)%10;
				  minute_1=(k%60)/10;
				  minute_2=(k%60)%10;
 		   	           
						Int2Unicode(hour_1,Temp_hour_unicode1);
						Int2Unicode(hour_2,Temp_hour_unicode2);
						strtime[0]=Temp_hour_unicode1[0];
				  		strtime[1]=Temp_hour_unicode2[0];
										  
						Int2Unicode(minute_1,Temp_minute_unicode1);
						Int2Unicode(minute_2,Temp_minute_unicode2);
						strtime[3]=Temp_minute_unicode1[0]; 
				        strtime[4]=Temp_minute_unicode2[0]; 
				  break;
			  case 4:  //巴黎
			  	  ShowBmp(pdc,Paris, 120, 120);
				  k=k-420;
				  if(k<0)
				  	{k=k+1440;}
				   else if(k>=1440)
				   	 {k=k-1440;}
				        else 
							{;}
				  hour_1=(k/60)/10;
				  hour_2=(k/60)%10;
				  minute_1=(k%60)/10;
				  minute_2=(k%60)%10;
 		   	           
						Int2Unicode(hour_1,Temp_hour_unicode1);
						Int2Unicode(hour_2,Temp_hour_unicode2);
						strtime[0]=Temp_hour_unicode1[0];
				  		strtime[1]=Temp_hour_unicode2[0];
										  
						Int2Unicode(minute_1,Temp_minute_unicode1);
						Int2Unicode(minute_2,Temp_minute_unicode2);
						strtime[3]=Temp_minute_unicode1[0]; 
				        strtime[4]=Temp_minute_unicode2[0]; 
				
				  break;
				case 5://东京
			  	  ShowBmp(pdc,Tokyo, 120, 120);
				  k=k+60;
				  if(k<0)
				  	{k=k+1440;}
				   else if(k>=1440)
				   	 {k=k-1440;}
				        else 
							{;}
				  hour_1=(k/60)/10;
				  hour_2=(k/60)%10;
				  minute_1=(k%60)/10;
				  minute_2=(k%60)%10;
 		   	           
						Int2Unicode(hour_1,Temp_hour_unicode1);
						Int2Unicode(hour_2,Temp_hour_unicode2);
						strtime[0]=Temp_hour_unicode1[0];
				  		strtime[1]=Temp_hour_unicode2[0];
										  
						Int2Unicode(minute_1,Temp_minute_unicode1);
						Int2Unicode(minute_2,Temp_minute_unicode2);
						strtime[3]=Temp_minute_unicode1[0]; 
				        strtime[4]=Temp_minute_unicode2[0]; 
				  break;
			 
				}
			ShowBmp(pdc,Nju, 122, 190);
			SetTextCtrlText(pTextCtrl, strtime,TRUE);//设置文本框内容
			OSSemPost(Rtc_Updata_Sem);//发送信号量
			switch(j)
                          ////
	        { case 1: //北京
			//显示秒针
            //Get_Rtc(PstructTime);
			//hour=PstructTime->hour;
			//minute=PstructTime->minute;
			//second=PstructTime->second;
			
			Rtc_Format("%H%I%S",strtime);//格式化时间
			clock=Unicode2Int(strtime);
			hour=clock/10000;
			minute=(clock%10000)/100;
			second=(clock%10000)%100;
			//Uart_Printf("hour=%d minute=%d second=%d\n",hour,minute,second);
			
	     //Temp_second_1[0]=strtime[6];Temp_second_2[0]=strtime[7];
           //    second_1=Unicode2Int(Temp_second_1);
            //   second_2=Unicode2Int(Temp_second_2);
	     //i=(double)(second_1*10+second_2+1)/60.0*2*pi;
           i=(double)second/60.0*2*pi;      
              
              x1=(int)(200+50*sin(i));
	        y1=(int)(60-50*cos(i));
	        MoveTo(pdc,200,60);
	        SetPenColor(pdc,0);
	        SetPenWidth(pdc,1);
	        LineTo(pdc,x1,y1);
		    //显示分针
            // Temp_minute_1[0]=strtime[3];Temp_minute_2[0]=strtime[4];
              // minute_1=Unicode2Int(Temp_minute_1);
               //minute_2=Unicode2Int(Temp_minute_2);

		  //i=(double)(((second_1*10+second_2)/60+1+(minute_1*10+minute_2))/60.0*2*pi);
			i=(double)((second/60.0+minute)/60.0*2*pi);
			x1=(int)(200+40*sin(i));
	        y1=(int)(60-40*cos(i));
			//Uart_Printf("mini=%f minx=%d miny=%d\n",i,x1,y1);
	        MoveTo(pdc,200,60);
	        SetPenColor(pdc,0);
	        SetPenWidth(pdc,2);
	        LineTo(pdc,x1,y1);
			
		    //显示时针
    	    //Temp_hour_1[0]=strtime[0];Temp_hour_2[0]=strtime[1];
              // hour_1=Unicode2Int(Temp_hour_1);
               //hour_2=Unicode2Int(Temp_hour_2);
			k=hour;
 		   //k=hour_1*10+hour_2;
	    	if(k>=12)
		   {k=k-12;
		    hour_1=k/10;
		    hour_2=k%10;}	   
            i=(double)((second/3600.0+minute/60.0+k)/12.0*2*pi);
            
			x1=(int)(200+30*sin(i));
	        y1=(int)(60-30*cos(i));
			//Uart_Printf("houri=%f hourx=%d houry=%d\n",i,x1,y1);
	        MoveTo(pdc,200,60);
	        SetPenColor(pdc,0);
	        SetPenWidth(pdc,3);
	        LineTo(pdc,x1,y1);

			  	  break;
			  case 2://纽约

			  //显示秒针

			Rtc_Format("%H%I%S",strtime);//格式化时间
			clock=Unicode2Int(strtime);
			
			hour=clock/10000-13;
			if(hour<0)
				hour=hour+24;
			minute=(clock%10000)/100;
			second=(clock%10000)%100;

			
	     //Temp_second_1[0]=strtime[6];Temp_second_2[0]=strtime[7];
           //    second_1=Unicode2Int(Temp_second_1);
            //   second_2=Unicode2Int(Temp_second_2);
	     //i=(double)(second_1*10+second_2+1)/60.0*2*pi;
           i=(double)second/60.0*2*pi;      
              
              x1=(int)(200+50*sin(i));
	        y1=(int)(60-50*cos(i));
	        MoveTo(pdc,200,60);
	        SetPenColor(pdc,0);
	        SetPenWidth(pdc,1);
	        LineTo(pdc,x1,y1);
		    //显示分针
            // Temp_minute_1[0]=strtime[3];Temp_minute_2[0]=strtime[4];
              // minute_1=Unicode2Int(Temp_minute_1);
               //minute_2=Unicode2Int(Temp_minute_2);

		  //i=(double)(((second_1*10+second_2)/60+1+(minute_1*10+minute_2))/60.0*2*pi);
			i=(double)((second/60.0+minute)/60.0*2*pi);
			x1=(int)(200+40*sin(i));
	        y1=(int)(60-40*cos(i));
	        MoveTo(pdc,200,60);
	        SetPenColor(pdc,0);
	        SetPenWidth(pdc,2);
	        LineTo(pdc,x1,y1);
			
		    //显示时针
    	    //Temp_hour_1[0]=strtime[0];Temp_hour_2[0]=strtime[1];
              // hour_1=Unicode2Int(Temp_hour_1);
               //hour_2=Unicode2Int(Temp_hour_2);
			k=hour;
 		   //k=hour_1*10+hour_2;
	    	if(k>=12)
		   {k=k-12;
		    hour_1=k/10;
		    hour_2=k%10;}	   
            i=(double)((second/3600.0+minute/60.0+k)/12.0*2*pi);
            
			x1=(int)(200+30*sin(i));
	        y1=(int)(60-30*cos(i));
	        MoveTo(pdc,200,60);
	        SetPenColor(pdc,0);
	        SetPenWidth(pdc,3);
	        LineTo(pdc,x1,y1);

			  	  break;

			case 3: //德黑兰
			
			  //显示秒针

			Rtc_Format("%H%I%S",strtime);//格式化时间
			clock=Unicode2Int(strtime);
			//Uart_Printf("clock = %d\n",clock);
			hour=clock/10000;
			minute=(clock%10000)/100;
			second=(clock%10000)%100;
			//Uart_Printf("minutebefore = %d\n",minute);
			clock=hour*60+minute;
			clock=clock-270;
			if(clock<0)
				clock=clock+1440;
			 hour=clock/60;
			minute=clock%60;

			//Uart_Printf("Dhour=%d minute=%d second=%d\n",hour,minute,second);
			
	     //Temp_second_1[0]=strtime[6];Temp_second_2[0]=strtime[7];
           //    second_1=Unicode2Int(Temp_second_1);
            //   second_2=Unicode2Int(Temp_second_2);
	     //i=(double)(second_1*10+second_2+1)/60.0*2*pi;
           i=(double)second/60.0*2*pi;      
              
              x1=(int)(200+50*sin(i));
	        y1=(int)(60-50*cos(i));
	        MoveTo(pdc,200,60);
	        SetPenColor(pdc,0);
	        SetPenWidth(pdc,1);
	        LineTo(pdc,x1,y1);
		    //显示分针
            // Temp_minute_1[0]=strtime[3];Temp_minute_2[0]=strtime[4];
              // minute_1=Unicode2Int(Temp_minute_1);
               //minute_2=Unicode2Int(Temp_minute_2);

		  //i=(double)(((second_1*10+second_2)/60+1+(minute_1*10+minute_2))/60.0*2*pi);
			i=(double)((second/60.0+minute)/60.0*2*pi);
			x1=(int)(200+40*sin(i));
	        y1=(int)(60-40*cos(i));
	        MoveTo(pdc,200,60);
	        SetPenColor(pdc,0);
	        SetPenWidth(pdc,2);
	        LineTo(pdc,x1,y1);
			
		    //显示时针
    	    //Temp_hour_1[0]=strtime[0];Temp_hour_2[0]=strtime[1];
              // hour_1=Unicode2Int(Temp_hour_1);
               //hour_2=Unicode2Int(Temp_hour_2);
			k=hour;
 		   //k=hour_1*10+hour_2;
	    	if(k>=12)
		   {k=k-12;
		    hour_1=k/10;
		    hour_2=k%10;}	   
            i=(double)((second/3600.0+minute/60.0+k)/12.0*2*pi);
            
			x1=(int)(200+30*sin(i));
	        y1=(int)(60-30*cos(i));
			//Uart_Printf("Dhouri=%f hourx=%d houry=%d k=%d\n",i,x1,y1,k);
	        MoveTo(pdc,200,60);
	        SetPenColor(pdc,0);
	        SetPenWidth(pdc,3);
	        LineTo(pdc,x1,y1);

			  	  break;
			case 4:  //巴黎
				
			  //显示秒针

			Rtc_Format("%H%I%S",strtime);//格式化时间
			clock=Unicode2Int(strtime);
			
			hour=clock/10000-7;
			if(hour<0)
				hour=hour+24;
			minute=(clock%10000)/100;
			second=(clock%10000)%100;

			
	     //Temp_second_1[0]=strtime[6];Temp_second_2[0]=strtime[7];
           //    second_1=Unicode2Int(Temp_second_1);
            //   second_2=Unicode2Int(Temp_second_2);
	     //i=(double)(second_1*10+second_2+1)/60.0*2*pi;
           i=(double)(second/60.0*2*pi);      
              
              x1=(int)(200+50*sin(i));
	        y1=(int)(60-50*cos(i));
	        MoveTo(pdc,200,60);
	        SetPenColor(pdc,0);
	        SetPenWidth(pdc,1);
	        LineTo(pdc,x1,y1);
		    //显示分针
            // Temp_minute_1[0]=strtime[3];Temp_minute_2[0]=strtime[4];
              // minute_1=Unicode2Int(Temp_minute_1);
               //minute_2=Unicode2Int(Temp_minute_2);

		  //i=(double)(((second_1*10+second_2)/60+1+(minute_1*10+minute_2))/60.0*2*pi);
			i=(double)((second/60.0+minute)/60.0*2*pi);
			x1=(int)(200+40*sin(i));
	        y1=(int)(60-40*cos(i));
	        MoveTo(pdc,200,60);
	        SetPenColor(pdc,0);
	        SetPenWidth(pdc,2);
	        LineTo(pdc,x1,y1);
			
		    //显示时针
    	    //Temp_hour_1[0]=strtime[0];Temp_hour_2[0]=strtime[1];
              // hour_1=Unicode2Int(Temp_hour_1);
               //hour_2=Unicode2Int(Temp_hour_2);
			k=hour;
 		   //k=hour_1*10+hour_2;
	    	if(k>=12)
		   {k=k-12;
		    hour_1=k/10;
		    hour_2=k%10;}	   
            i=(double)((second/3600.0+minute/60.0+k)/12.0*2*pi);
            
			x1=(int)(200+30*sin(i));
	        y1=(int)(60-30*cos(i));
	        MoveTo(pdc,200,60);
	        SetPenColor(pdc,0);
	        SetPenWidth(pdc,3);
	        LineTo(pdc,x1,y1);

			  	  break;
				case 5://东京
				
			  //显示秒针

			Rtc_Format("%H%I%S",strtime);//格式化时间
			clock=Unicode2Int(strtime);
			hour=clock/10000+1;
			if(hour>1440)
				hour=hour-24;
			minute=(clock%10000)/100;
			second=(clock%10000)%100;

			
	     //Temp_second_1[0]=strtime[6];Temp_second_2[0]=strtime[7];
           //    second_1=Unicode2Int(Temp_second_1);
            //   second_2=Unicode2Int(Temp_second_2);
	     //i=(double)(second_1*10+second_2+1)/60.0*2*pi;
           i=(double)second/60.0*2*pi;      
              
              x1=(int)(200+50*sin(i));
	        y1=(int)(60-50*cos(i));
	        MoveTo(pdc,200,60);
	        SetPenColor(pdc,0);
	        SetPenWidth(pdc,1);
	        LineTo(pdc,x1,y1);
		    //显示分针
            // Temp_minute_1[0]=strtime[3];Temp_minute_2[0]=strtime[4];
              // minute_1=Unicode2Int(Temp_minute_1);
               //minute_2=Unicode2Int(Temp_minute_2);

		  //i=(double)(((second_1*10+second_2)/60+1+(minute_1*10+minute_2))/60.0*2*pi);
			i=(double)((second/60.0+minute)/60.0*2*pi);
			x1=(int)(200+40*sin(i));
	        y1=(int)(60-40*cos(i));
	        MoveTo(pdc,200,60);
	        SetPenColor(pdc,0);
	        SetPenWidth(pdc,2);
	        LineTo(pdc,x1,y1);
			
		    //显示时针
    	    //Temp_hour_1[0]=strtime[0];Temp_hour_2[0]=strtime[1];
              // hour_1=Unicode2Int(Temp_hour_1);
               //hour_2=Unicode2Int(Temp_hour_2);
			k=hour;
 		   //k=hour_1*10+hour_2;
	    	if(k>=12)
		   {k=k-12;
		    hour_1=k/10;
		    hour_2=k%10;}	   
            i=(double)((second/3600.0+minute/60.0+k)/12.0*2*pi);
            
			x1=(int)(200+30*sin(i));
	        y1=(int)(60-30*cos(i));
	        MoveTo(pdc,200,60);
	        SetPenColor(pdc,0);
	        SetPenWidth(pdc,3);
	        LineTo(pdc,x1,y1);

			  	  break;
				}
			//刷新
            OSTimeDly(250);
	        MoveTo(pdc,0,0);
	        FillRect(pdc,140,5,250,110,GRAPH_MODE_NORMAL, RGB(255, 255, 255));

		EXIO_8255A_PORTA=led[listnumber];
		EXIO_8255A_PORTB=0x77;
			} //endif
	 
	DestoryDC(pdc);}
}


⌨️ 快捷键说明

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