视点变换,旋转,加速减速,星空背景太阳,光晕各行星纹理#include#include#include#include#include#include#include#pragmacomment(lib,"winmm.lib")#pragmacomment(lib,"wininet")//纹理图像结构typedefstruct{intimgWidth;//纹理宽度intimgHeight;//纹理高度unsignedcharbyteCount;//每个象素对应的字节数,3:24位图,4:带alpha通道的24位图unsignedchar*data;//纹理数据}TEXTUREIMAGE;//BMP文件头#pragmapack(2)typedefstruct{unsignedshortbfType;//文件类型unsignedlongbfSize;//文件大小unsignedshortbfReserved1;//保留位unsignedshortbfReserved2;//保留位unsignedlongbfOffBits;//数据偏移位置}BMPFILEHEADER;#pragmapack()//BMP信息头typedefstruct{unsignedlongbiSize;//此结构大小longbiWidth;//图像宽度longbiHeight;//图像高度unsignedshortbiPlanes;//调色板数量unsignedshortbiBitCount;//每个象素对应的位数,24:24位图,32:带alpha通道的24位图unsignedlongbiCompression;//压缩unsignedlongbiSizeImage;//图像大小longbiXPelsPerMeter;//横向分辨率longbiYPelsPerMeter;//纵向分辨率unsignedlongbiClrUsed;//颜色使用数unsignedlongbiClrImportant;//重要颜色数}BMPINFOHEADER;//定义窗口的标题、宽度、高度、全屏布尔变量#defineWIN_TITLE"模拟太阳系各星球的转动"constintWIN_WIDTH=800;constintWIN_HEIGHT=600;BOOLisFullScreen=FALSE;//初始不为全屏#defineDEG_TO_RAD0.017453floatangle=0.0;staticGLdoubleviewer[]={0,0,0,0,0};//初始化视角GLUquadricObj*quadric;//建立二次曲面对象GLfloatangle_Z;//星空旋转角度boolg_bOrbitOn=true;//控制转动暂停floatg_fSpeedmodifier=1.0f;//时间控制floatg_fElpasedTime;doubleg_dCurrentTime;doubleg_dLastTime;GLfloatLightAmbient[]={1.0f,1.0f,1.0f,0.0f};//环境光参数GLfloatLightDiffuse[]={1.0f,1.0f,1.0f,0.0f};//漫射光参数GLfloatLightPosition[]={0.0f,0.0f,0.0f,1.0f};//光源的位置//纹理图象TEXTUREIMAGEskyImg;TEXTUREIMAGEsunImg;TEXTUREIMAGErayImg;TEXTUREIMAGEmercuImg;TEXTUREIMAGEvenusImg;TEXTUREIMAGEearthImg;TEXTUREIMAGEmarsImg;TEXTUREIMAGEjupiterImg;TEXTUREIMAGEsaturnImg;TEXTUREIMAGEuranusImg;TEXTUREIMAGEneptuneImg;TEXTUREIMAGEmoonImg;GLuinttexture[12];//纹理数组//星球速度定义staticfloatfSunSpin=0.0f;//太阳自转速度staticfloatfMercuSpin=0.0f;//水星自转速度staticfloatfMercuOrbit=0.0f;//水星公转速度staticfloatfVenusSpin=0.0f;//金星自转速度staticfloatfVenusOrbit=0.0f;//金星公转速度staticfloatfEarthSpin=0.0f;//地球自转速度staticfloatfEarthOrbit=0.0f;//地球公转速度staticfloatfMarsSpin=0.0f;//火星自转速度staticfloatfMarsOrbit=0.0f;//火星公转速度staticfloatfJupiterSpin=0.0f;//木星自转速度staticfloatfJupiterOrbit=0.0f;//木星公转速度staticfloatfSaturnSpin=0.0f;//土星自转速度staticfloatfSaturnOrbit=0.0f;//土星公转速度staticfloatfUranusSpin=0.0f;//天王星自转速度staticfloatfUranusOrbit=0.0f;//天王星公转速度staticfloatfNeptuneSpin=0.0f;//海王星自转速度staticfloatfNeptuneOrbit=0.0f;//海王星公转速度staticfloatfMoonSpin=0.0f;//月亮自转速度staticfloatfMoonOrbit=0.0f;//月亮公转速度voidMakeTexture(TEXTUREIMAGEtextureImg,GLuint*texName)//转换为纹理{glPixelStorei(GL_UNPACK_ALIGNMENT,1);//对齐像素字节函数glGenTextures(1,texName);//第一个参数指定表明获取多少个连续的纹理标识符glBindTexture(GL_TEXTURE_2D,*texName);glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_REPEAT);glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_REPEAT);glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);glTexImage2D(GL_TEXTURE_2D,0,GL_RGB,textureImg.imgWidth,textureImg.imgHeight,0,GL_RGB,GL_UNSIGNED_BYTE,textureImg.data);}//初始化OpenGLvoidInitGL(void){glClearColor(0.0f,0.0f,0.0f,0.5f);//设置黑色背景glClearDepth(2.0f);//设置深度缓存glEnable(GL_DEPTH_TEST);//启动深度测试glDepthFunc(GL_LEQUAL);//深度小或相等的时候渲染glShadeModel(GL_SMOOTH);//启动阴影平滑glEnable(GL_CULL_FACE);//开启剔除操作效果glHint(GL_PERSPECTIVE_CORRECTION_HINT,GL_NICEST);//使用质量最好的模式指定颜色和纹理坐标的插值质量glLightfv(GL_LIGHT1,GL_AMBIENT,LightAmbient);//设置环境光glLightfv(GL_LIGHT1,GL_DIFFUSE,LightDiffuse);//设置漫反射光glEnable(GL_LIGHTING);//打开光照glEnable(GL_LIGHT1);//打开光源1//载入纹理glEnable(GL_TEXTURE_2D);//开启2D纹理映射MakeTexture(skyImg,&texture;[0]);MakeTexture(sunImg,&texture;[1]);MakeTexture(rayImg,&texture;[2]);MakeTexture(mercuImg,&texture;[3]);MakeTexture(venusImg,&texture;[4]);MakeTexture(earthImg,&texture;[5]);MakeTexture(marsImg,&texture;[6]);MakeTexture(jupiterImg,&texture;[7]);MakeTexture(saturnImg,&texture;[8]);MakeTexture(uranusImg,&texture;[9]);MakeTexture(neptuneImg,&texture;[10]);MakeTexture(moonImg,&texture;[11]);quadric=gluNewQuadric();//建立一个曲面对象指针gluQuadricTexture(quadric,GLU_TRUE);//建立纹理坐标gluQuadricDrawStyle(quadric,GLU_FILL);//面填充}voidDisplay(void){glLoadIdentity();//设置观察点的位置和观察的方向gluLookAt(viewer[0],viewer[1],viewer[2],viewer[3],viewer[4],-5,0,1,0);//摄像机x,摄像机y,摄像机z,目标点x,目标点y,目标点z,摄像机顶朝向x,摄像机顶朝向y,摄像机顶朝向z//获得系统时间使太阳系有动态效果g_dCurrentTime=timeGetTime();g_fElpasedTime=(float)((g_dCurrentTime-g_dLastTime)*0.0005);g_dLastTime=g_dCurrentTime;glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);glMatrixMode(GL_MODELVIEW);//指定GL_MODELVIEW是下一个矩阵操作的目标glTranslatef(0.0f,0.0f,-5.0f);//将坐标系移入屏幕5.0fglRotatef(10,1.0f,0.0f,0.0f);//将坐标系绕x轴旋转10度glEnable(GL_LIGHT0);//打开光源0/**********************************绘制背景星空********************************************/glPushMatrix();//当前模型矩阵入栈glTranslatef(-10.0f,3.0f,0.0f);glRotatef(angle_Z,0.0f,0.0f,1.0f);glEnable(GL_TEXTURE_2D);glBindTexture(GL_TEXTURE_2D,texture[0]);//星空纹理glBegin(GL_QUADS);glNormal3f(0.0f,0.0f,1.0f);glTexCoord2f(0.0f,0.0f);glVertex3f(-50.0f,-50.0f,-50.0f);glTexCoord2f(6.0f,0.0f);glVertex3f(50.0f,-50.0f,-50.0f);glTexCoord2f(6.0f,6.0f);glVertex3f(50.0f,50.0f,-50.0f);glTexCoord2f(0.0f,6.0f);glVertex3f(-50.0f,50.0f,-50.0f);glEnd();glBegin(GL_QUADS);glNormal3f(0.0f,0.0f,-1.0f);glTexCoord2f(6.0f,6.0f);glVertex3f(-50.0f,-50.0f,50.0f);glTexCoord2f(0.0f,6.0f);glVertex3f(50.0f,-50.0f,50.0f);glTexCoord2f(0.0f,0.0f);glVertex3f(50.0f,50.0f,50.0f);glTexCoord2f(6.0f,0.0f);glVertex3f(-50.0f,50.0f,50.0f);glEnd();glBegin(GL_QUADS);glNormal3f(0.0f,1.0f,0.0f);glTexCoord2f(0.0f,0.0f);glVertex3f(-50.0f,-50.0f,-50.0f);glTexCoord2f(6.0f,6.0f);glVertex3f(50.0f,-50.0f,50.0f);glTexCoord2f(6.0f,0.0f);glVertex3f(50.0f,-50.0f,-50.0f);glTexCoord2f(0.0f,6.0f);glVertex3f(-50.0f,-50.0f,50.0f);glEnd();glBegin(GL_QUADS);glNormal3f(0.0f,-1.0f,0.0f);glTexCoord2f(6.0f,6.0f);glVertex3f(-50.0f,50.0f,-50.0f);glTexCoord2f(0.0f,0.0f);glVertex3f(50.0f,50.0f,50.0f);glTexCoord2f(0.0f,6.0f);glVertex3f(50.0f,50.0f,-50.0f);glTexCoord2f(6.0f,0.0f);glVertex3f(-50.0f,50.0f,50.0f);glEnd();glBegin(GL_QUADS);glNormal3f(1.0f,0.0f,0.0f);glTexCoord2f(0.0f,0.0f);glVertex3f(-50.0f,-50.0f,-50.0f);glTexCoord2f(6.0f,6.0f);glVertex3f(-50.0f,50.0f,50.0f);glTexCoord2f(0.0f,6.0f);glVertex3f(-50.0f,-50.0f,50.0f);glTexCoord2f(6.0f,0.0f);glVertex3f(-50.0f,50.0f,-50.0f);glEnd();glBegin(GL_QUADS);glNormal3f(-1.0f,0.0f,0.0f);glTexCoord2f(6.0f,6.0f);glVertex3f(50.0f,-50.0f,-50.0f);glTexCoord2f(0.0f,0.0f);glVertex3f(50.0f,50.0f,50.0f);glTexCoord2f(6.0f,0.0f);glVertex3f(50.0f,-50.0f,50.0f);glTexCoord2f(0.0f,6.0f);glVertex3f(50.0f,50.0f,-50.0f);glEnd();glPopMatrix();//当前模型矩阵出栈/**********************************绘制太阳************************************************/glBindTexture(GL_TEXTURE_2D,texture[2]);//光晕纹理glEnable(GL_BLEND);//开启混合glDisable(GL_DEPTH_TEST);//关闭深度测试//绘制太阳光晕glDisable(GL_LIGHTING);//关闭光照glBlendFunc(GL_SRC_ALPHA,GL_ONE);//半透明混合函数glColor4f(1.0f,0.5f,0.0f,0.5f);//设置RGBA值glBegin(GL_QUADS);glNormal3f(0.0f,0.0f,1.0f);glTexCoord2f(0.0f,0.0f);glVertex3f(-1.0f,-1.0f,0.0f);glTexCoord2f(1.0f,0.0f);glVertex3f(1.0f,-1.0f,0.0f);glTexCoord2f(1.0f,1.0f);glVertex3f(1.0f,1.0f,0.0f);glTexCoord2f(0.0f,1.0f);glVertex3f(-1.0f,1.0f,0.0f);glEnd();glDisable(GL_BLEND);//关闭混合glEnable(GL_DEPTH_TEST);glEnable(GL_LIGHTING);//开启光照glLightfv(GL_LIGHT1,GL_POSITION,LightPosition);//设置光源1位置glBindTexture(GL_TEXTURE_2D,texture[1]);//太阳纹理//将坐标系绕Y轴旋转fSunSpin角度,控制太阳自转glRotatef(fSunSpin,0.0,1.0,0.0);gluSphere(quadric,0.3f,32,32);//绘制太阳球体/**********************************绘制水星************************************************/glDisable(GL_LIGHT0);glEnable(GL_TEXTURE_2D);//开启纹理glPushMatrix();//当前模型视图矩阵入栈//将坐标系绕Y轴旋转fMercuOrbit角度,控制水星公转glRotatef(fMercuOrbit,0.0f,1.0f,0.0f);glRotatef(-90.0f,1.0f,0.0f,0.0f);//将坐标系绕X轴旋转-90度glTranslatef(0.5f,0.0f,0.0f);//将坐标系右移0.5fglBindTexture(GL_TEXTURE_2D,texture[3]);//水星纹理//将坐标系绕Z轴旋转fMercuSpin角度控制水星自转glRotatef(fMercuSpin,0.0f,0.0f,1.0f);gluSphere(quadric,0.04f,32,32);//水星球体glPopMatrix();//当前模型视图矩阵出栈//绘制轨道glBegin(GL_LINE_LOOP);for(angle=0;angle=-6.0)viewer[0]-=0.5;break;case'u':case'U':if(viewer[1]=-6.0)viewer[1]-=0.1;break;case'+':case'='://加速,减速,暂停g_fSpeedmodifier+=1.0f;glutPostRedisplay();break;case'':g_bOrbitOn=!g_bOrbitOn;glutPostRedisplay();break;case'-'://按'-'减小运行速度g_fSpeedmodifier-=1.0f;glutPostRedisplay();break;caseVK_ESCAPE://按ESC键时退出exit(0);break;default:break;}}voidspecial_keys(ints_keys,intx,inty){switch(s_keys){caseGLUT_KEY_F1://按F1键时切换窗口/全屏模式if(isFullScreen){glutReshapeWindow(WIN_WIDTH,WIN_HEIGHT);glutPositionWindow(30,30);isFullScreen=FALSE;}else{glutFullScreen();isFullScreen=TRUE;}break;caseGLUT_KEY_RIGHT://视角上下左右旋转if(viewer[3]=-3.0)viewer[3]-=0.1;break;caseGLUT_KEY_UP:if(viewer[4]=-4.5)viewer[4]-=0.1;break;default:break;}}voidmouse(intbtn,intstate,intx,inty)//远近视角{if(btn==GLUT_RIGHT_BUTTON&&state==GLUT_DOWN)viewer[2]+=0.3;if(btn==GLUT_LEFT_BUTTON&&state==GLUT_DOWN&&viewer;[2]>=-3.9)viewer[2]-=0.3;}voidLoadBmp(char*filename,TEXTUREIMAGE*textureImg)//载入图片{inti,j;FILE*file;BMPFILEHEADERbmpFile;BMPINFOHEADERbmpInfo;intpixel_size;//初始化纹理数据textureImg->imgWidth=0;textureImg->imgHeight=0;if(textureImg->data!=NULL){delete[]textureImg->data;}//打开文件file=fopen(filename,"rb");if(file==NULL){return;}//获取文件头rewind(file);fread(&bmpFile;,sizeof(BMPFILEHEADER),1,file);fread(&bmpInfo;,sizeof(BMPINFOHEADER),1,file);//验证文件类型if(bmpFile.bfType!=0x4D42){return;}//获取图像色彩数pixel_size=bmpInfo.biBitCount>>3;//读取文件数据textureImg->data=newunsignedchar[bmpInfo.biWidth*bmpInfo.biHeight*pixel_size];for(i=0;idata+(i*bmpInfo.biWidth+j)*pixel_size+2,sizeof(unsignedchar),1,file);//绿色分量fread(textureImg->data+(i*bmpInfo.biWidth+j)*pixel_size+1,sizeof(unsignedchar),1,file);//蓝色分量fread(textureImg->data+(i*bmpInfo.biWidth+j)*pixel_size+0,sizeof(unsignedchar),1,file);//Alpha分量if(pixel_size==4){fread(textureImg->data+(i*bmpInfo.biWidth+j)*pixel_size+3,sizeof(unsignedchar),1,file);}}}//记录图像相关参数textureImg->imgWidth=bmpInfo.biWidth;textureImg->imgHeight=bmpInfo.biHeight;textureImg->byteCount=pixel_size;fclose(file);}//程序主函数voidmain(intargc,char**argv){//读图片LoadBmp("Picture//Sky.bmp",&skyImg;);LoadBmp("Picture//Sun.bmp",&sunImg;);LoadBmp("Picture//Ray.bmp",&rayImg;);LoadBmp("Picture//Mercu.bmp",&mercuImg;);LoadBmp("Picture//Venus.bmp",&venusImg;);//金星LoadBmp("Picture//Earth.bmp",&earthImg;);LoadBmp("Picture//Mars.bmp",&marsImg;);//火星LoadBmp("Picture//Jupiter.bmp",&jupiterImg;);//木星LoadBmp("Picture//Saturn.bmp",&saturnImg;);//土星LoadBmp("Picture//Uranus.bmp",&uranusImg;);//天王星LoadBmp("Picture//Neptune.bmp",&neptuneImg;);//海王星LoadBmp("Picture//Moon.bmp",&moonImg;);glutInit(&argc;,argv);//初始化GLUT库glutInitDisplayMode(GLUT_RGBA|GLUT_DOUBLE|GLUT_DEPTH);//初始化显示模式glutInitWindowSize(WIN_WIDTH,WIN_HEIGHT);//初始化窗口大小glutInitWindowPosition(20,20);//初始化窗口位置GLuintwindow=glutCreateWindow(WIN_TITLE);//建立窗口InitGL();//初始化OpenGLglutDisplayFunc(Display);glutReshapeFunc(Reshape);glutKeyboardFunc(keyboard);glutSpecialFunc(special_keys);glutMouseFunc(mouse);glutIdleFunc(Display);//设置窗口空闲时的处理函数glutMainLoop();//进入事件处理循环}
2025/6/8 20:47:10 3.53MB 三维动画 模拟太阳系
1
GSM呼叫流程图移动台的呼入接续过程:1、寻呼。
MSC/VLR在数据库中查出用户的资料并向相关的BSC发送寻呼信息。
该信息包含用户所在区域的LAI和用户的IMSI或者TMSI。
2、寻呼命令。
BSC向LA区内的所有BTS发出寻呼命令。
该信息包含IMSI或TMSI。
收发信单元识别码、信道类型和时隙号。
3、寻呼请求。
BTS在PCH上向移动台发送寻呼信息。
该信息包含用户的IMSI或TMSI。
4、信道请求。
被寻呼的移动台在RACH上发送一个短的接入脉冲串至BTS。
BTS接收该寻呼响应信号后记录该突发脉冲串的迟滞值。
(TA动态PWR)5、信道请求。
BTS向BSC发信道请求信息。
该信息还包含移动台接入系统的迟滞值(TA.PWR)。
6、信道激活。
BSC选择一条空闲的SDCCH并指示BTS激活该信道。
7、信道激活证实。
BTS激活SDCCH后向BSC发信道激活证实信息。
8、立即分配。
BSC透过BTS经由AGCH向移动台发出允许接入系统信息。
该信息包含频率、时隙号、SDCCH信道号和移动台将要使用的时间提前值TA等。
9、寻呼响应。
移动台通过SDCCH向BSC发寻呼响应信息。
该信息包含移动台的IMSI或TMSI和移动台的等级标记,BSC加入CGI后把信息送往MSC/VLR。
10、鉴权请求。
MSC/VLR透过BSC、BTS向移动台发鉴权请求,其中包含随机数RAND,用移动台的鉴权运算。
11、鉴权响应。
移动台经鉴权计算后向MSC/VLR发回鉴权响应信息,MSC/VLR检查用户全法性,如用户全法,则开始启动加密程序。
12、加密模式命令。
MSC/VLR通过BSC、BTS向移动用户发加密模式命令。
该命令在SDCCH上传送。
13、加密模式完成。
移动台进行加密运算后向BTS发出已加密的特定信号,BTS解密成功后透过BSC向MSC/VLR发加密模式完成信息。
14、设置呼叫类型。
MSC向移动台发送呼叫类型设置信息。
该信息包含该次呼叫的类型。
如传真、通话或数据通信等类型。
15、呼叫类型证实。
移动台设置好呼叫类型后向MSC发出呼叫类型证实信息。
16、分配请求。
MSC要求BSC选择一条通往移动台的话音信道,同时MSC在一条通往BSC的PCM上选择一个空闲时隙,并把时隙的电路识别码CIC送往BSC。
17、信道激活。
如果BSC发现某小区上有一条空闲的TCH,它将向BTS发送信道激活命令。
18、信道激活证实。
BTS激活TCH后向BSC发回信道激活证实信息。
19、分配命令。
BSC通过SDCCH向移动台发信道切换指令,命令移动台切换至所指定的TCH。
20、分配完成。
移动台切换至所指定的TCH后向BSC发送信道分配完成信息,BSC接收后再送往MSC/VLR。
21、无线频率信道释放/释放证实。
BSC释放SDCCH信道并把它标记为空闲状态。
22、振铃回应。
当移动台开始振铃时移动台要向MSC发送一个通知信息。
23、连接。
当移动台摘机应答时,移动台向MSC发送一个连接信息,MSC把移动台的电路接通,开始通话。
1
mt4DMI指标源码绿线上穿红线买入,红线上穿绿线卖出。
2025/6/8 2:55:20 17KB mt4 Indicators
1
Submail接入-------------submai_demo是我们提供的一个测试代码示列,每个类对应的一个单独的接口,带入参数执行main方法即可请求我们平台接口。
submail_sdk使我们平台提供的sdk代码文档,您可以在项目集成我们的sdk,在配置文件里配置您的appid,appkey,signtype,即可调用,接口调用方法请参考sdk里的demo包。
SDK-MAVEN是通过maven实现管理项目,相比sdk多了一个pom文件,方便您管理jar包。
Subhook1是一个我们平台subhook获取推送状态的示列代码。
Submail-sdk.jar是我们平台提供的对接jar包。
里面集成我们平台的sdk以及其他三方jar包,只需导入我们提供的jar包,即可调用。
调用的示列代码在jar包里的com.submail.demo包里。
2025/6/7 12:44:09 9.31MB SDK 短信接口 邮件接口 语音接口
1
详细通俗的介绍NDIS中间层驱动过滤驱动开发过程中遇到的问题入解决办法
2025/6/4 22:42:57 3.71MB NDIS 过滤驱动 IMD FILTER
1
课题介绍:本设计为基于MATLAB的车票识别系统。
可以识别车牌的车票号,日期,金额三个字段信息。
带有丰富的人机交互式GUI界面,实现以下功能:当车票的日期不在报销范围内提示“发票报废”;
当多张发票编号是连续的提示“发票连号,不能报销”;
当发票满足报销条件,则将多张发票金额相加。
算法流程:读入图片,利用hough变换进行倾斜矫正,感兴趣区域定位,字符识别,结果输出。
2025/6/4 20:46:40 108.15MB Matlab Matlab车票识别 Matlab发票识别 gui
1
这是一个用MFC写的哈夫曼树代码。
可以实现建树、编码输出到文件夹和从文件读入编码并显示在界面上。
还可以在界面上输出哈夫曼树的树形图。
供借鉴...
2025/6/4 19:57:56 1.92MB 哈夫曼树
1
利用python实现水准测量内业(高程计算内页表)计算,只需要填入数据,自动完成计算任务。
2025/6/3 18:58:10 37KB ce'
1
 能识别本地的MP3歌曲文件,能根据路径添加入播放器中。
 能识别本地的播放列表信息。
 具有播放列表功能,能根据用户的需求随意创建、删除播放列表。
 用户能往指定的播放列表中添加、删除。
添加时,歌曲必须是已经存在的。
 用户能查看当前播放器中的所有歌曲。
 用户能查看播放器中现有的播放列表信息。
 用户能查看指定播放列表下的歌曲信息。
 能对播放歌曲进行播放、暂停、停止三种操作。
 具有默认、全部循环、单曲循环、随机播放等4中播放模式。
 具有显示播放器当前状态功能,能实时显示播放器当前的播放状态和播放列表的一些基本信息。
 具有同步功能,在用户退出时,能保存当前的状态,在下次播放器打开时,能回到退出去前的状态。
a) 播放文件模块主要功能:在指定目录下搜索所有符合MP3的文件,显示打印所有文件,和文件相关的功能。
b) 播放列表模块主要功能:创建播放列表,添加歌曲至播放播放列表,删除播放列表,和播放列表相关的功能。
c) 控制模块 主要功能:显示一些系统的相关信息,提供命令输入的接口,和命令显示相关的功能。
d) 播放模块 主要功能:播放歌曲,暂停播放,停止播放,播放模式,和播放相关的功能。
2025/6/2 22:17:21 5.39MB C语言 linux MP3播放器
1
C#自动安装IIS,以及创建网站,自动创建站点,只需要填入端口号
2025/6/1 22:12:58 542KB C# 自动安装IIS 以及创建网站
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡