在使用Microsoftvisualstudio2017开发串口调试工具时,使用的是mscomm控件,这个控件默认支持的串口号范围1-16,如果串口号超过16会出现Invalidportnumber。
解决这个问题是修改MSCOMM32.OCX中的一个字节(可用编辑软件与之前的进行比对)。
附加还有一个bat批处理文件(需要将注释的语句开启-_-),使用方法:1、将MSCOMM32.OCX文件与此批处理文件放置同一个文件夹中。
2、右键以管理员身份允许此批处理文件,会自动将MSCOMM32.OCX进行安装,如果安装成功,会出现组件安装成功提示。
2025/6/28 12:34:37 48KB 串口 vs mscomm
1

UTF-8 中文字符集16进制对照表UTF:UCS Transformation Format.考虑到unicode编码不兼容iso8859-1编码,而且容易占用更多的空间:因为对于英文字母,unicode也需要两个字节来表示。
所以unicode不便于传输和存储。
因此而产生了utf编码,utf编码兼容iso8859-1编码,同时也可以用来表示所有语言的字符,不过,utf编码是不定长编码,每一个字符的长度从1-6个字节不等。
另外,utf编码自带简单的校验功能。
一般来讲,英文字母都是用一个字节表示,而汉字使用三个字节。
2025/6/19 16:46:42 1KB
1

在VB.NET编程环境中,掌握常用函数的使用是提高开发效率的关键。
以下是从“vb.net常用函数wgzn.txt”中提取并详细解释的一些重要知识点,涵盖了数值处理、字符串操作、日期时间管理、文件处理等多个方面。
### 数学函数1. **Abs(number)**:此函数用于获取数字的绝对值。
无论输入的数字是正数还是负数,返回的都是非负数,即去除了数字的符号部分。
2. **Atn(number)**:计算数值的反正切值,返回值为弧度制下的角度,范围在 -π/2 和 π/2 之间。
3. **Cos(number)**:计算数值的余弦值。
输入值应为弧度制的角度,输出为该角度的余弦值。
4. **Exp(number)**:计算 e(自然对数的底)的指数,即 e 的 number 次幂。
这在涉及指数增长或衰减的计算中非常有用。
5. **Log(number)**:计算以 e 为底的自然对数,即 ln(number),对于处理概率和统计问题尤为重要。
6. **Sgn(number)**:返回数字的符号。
如果 number 大于零,则返回 1;
如果等于零,则返回 0;
如果小于零,则返回 -1。
### 字符串转换与处理1. **Asc(String)**:将字符串中的第一个字符转换为其对应的 ASCII 码。
这对于处理文本数据时进行编码转换非常有用。
2. **Chr(charcode)**:将一个 ASCII 码转换为相应的字符。
这是 Asc 函数的逆向操作,常用于构建或修改字符串。
3. **LCase(String)**:将所有大写字母转换为小写。
适用于标准化文本输入,便于比较和排序。
4. **UCase(String)**:将所有小写字母转换为大写。
同样用于文本标准化。
5. **StrConv(expression, conversion)**:可以执行多种字符串转换,如大小写转换、Unicode 转换等,提供更多的灵活性。
### 类型转换1. **CBool(expression)**:将表达式转换为布尔类型(Boolean)。
通常用于逻辑判断中,确保变量或表达式的类型正确。
2. **CDate(expression)**:将表达式转换为日期时间类型(Date)。
这对于处理时间序列数据至关重要。
3. **CInt(expression)**:将表达式转换为整数类型(Integer)。
在需要精确计数或索引时非常有用。
4. **CDbl(expression)**:将表达式转换为双精度浮点数(Double)。
当需要高精度数学运算时,如科学计算,此转换是必需的。
5. **CStr(expression)**:将表达式转换为字符串类型(String)。
在显示或记录数据时,通常需要将数值或其他类型的数据转换为字符串。
### 日期时间函数1. **DateAdd(dateinterval, number, datetime)**:向指定日期添加指定的时间间隔。
这对于日程安排、数据分析等领域非常有用。
2. **DateDiff(dateinterval, date1, date2)**:计算两个日期之间的差异。
可用于计算年龄、项目持续时间等。
3. **DatePart(dateinterval, date)**:从指定日期中提取特定的部分,如年份、月份、天数等。
在数据分析中,根据日期的不同组成部分进行筛选或分组很常见。
### 文件处理1. **FileDateTime(pathname)**:返回文件的创建日期和时间。
在监控文件状态或进行数据备份时很有帮助。
2. **FileLen(pathname)**:返回文件的长度(以字节为单位)。
在进行文件传输或存储空间管理时,了解文件大小是必要的。
3. **Open filename For mode As #filenumber**:用于打开文件,可以指定文件模式(如读取、写入或追加),并分配一个文件编号以便后续操作。
4. **Close filenumberlist**:关闭由 Open 打开的文件。
确保所有数据都已正确保存,并释放系统资源。
这些函数构成了VB.NET编程语言的核心工具集,熟练掌握它们将极大地增强程序员解决问题的能力。
无论是进行数学运算、字符串操作,还是管理日期时间与文件,这些函数都是不可或缺的。
在实际开发中,结合使用这些函数可以实现复杂的功能,提高代码的效率和可读性。
2025/6/15 22:15:44 6KB
1
正则表达式是用于字符串匹配的强大工具,它能够使用一套规则来匹配文本中的字符组合。
在JavaScript中,正则表达式的应用非常广泛,可用于字符串的搜索、替换、提取等操作。
关于正则表达式的基本语法和应用场景:1.字符串长度的计算可以考虑字符的字节大小。
中文字符属于双字节字符,每个字符长度记为2,ASCII字符每个长度计为1。
可以使用正则表达式配合String的扩展方法来实现。
2.匹配中文字符的正则表达式使用Unicode范围来指定,`\u4e00-\u9fa5`包括了绝大多数汉字字符。
3.匹配双字节字符时,可以使用`[^\x00-\xff]`,这可以匹配任何非ASCII字符。
4.匹配空行,可以使用正则表达式`\n[\s|]*\r`,这能够识别连续换行符之间的空白字符。
5.匹配HTML标签通常使用较为复杂的正则表达式,例如`/<(.*)>.*<\/\1>|<(.*)\/>/`,这能够匹配开始标签和自结束标签。
6.去除字符串首尾的空格,可以使用正则表达式`(^\s*)|(\s*$)`,这在JavaScript中通过扩展String原型的方式实现。
7.IP地址的匹配和转换可以通过正则表达式解析IP地址的各部分数字,并将其转换为一个数值,例如`functionIP2V(ip)`,该函数会将IP地址转换为数值形式。
8.正则表达式也可以用于提取URL中的文件名,例如`varip="**.***.**.***"`,之后使用`split`函数处理字符串。
9.去除字符串中重复字符可以使用正则表达式和后向引用的组合,但需要注意到顺序有要求的字符串可能不适用此方法。
10.匹配Email地址和网址URL的正则表达式也是常见的需求,它们通常包含复杂的规则和结构。
11.利用正则表达式限制网页表单中的文本框输入内容,如限制只能输入中文,可以使用`onkeyup`和`onbeforepaste`事件处理函数结合正则表达式。
正则表达式的能力并非无限,它有时可能无法准确匹配某些复杂的字符串模式,尤其是当字符串顺序对结果有影响时,例如在去重字符串中的重复字符时,可能会出现匹配不正确的情况。
在使用正则表达式时,需要注意以下几点:-某些正则表达式操作可以通过非正则表达式的方法简化实现,例如使用`split`函数代替复杂的正则表达式来处理IP地址。
-在应用正则表达式进行匹配时,需要对结果进行验证,尤其是正则表达式自身可能会有匹配不精确的情况。
-在应用正则表达式于生产环境之前,要进行充分的测试,保证其正确性。
通过上述的知识点,可以看出正则表达式在JavaScript编程中发挥着至关重要的作用。
掌握其使用和技巧对于开发人员来说是非常重要的。
无论是在字符串处理、表单验证还是数据提取等场景,合理有效地使用正则表达式可以大大提高编程效率和代码质量。
2025/6/14 23:57:10 74KB
1
在excel中按照IEEE745标准,批量将4字节16进制转浮点数。
不使用宏,就用简单地公式。
2025/6/13 14:38:46 12KB excel 浮点 十六进制 转换
1
顾名思义,它是一个用来编辑字节码的简单的小工具,使用场景:*某些全局控制开关(可能是一个Boolean类型的全局变量),由于没有配置在配置文件,但是急需修改其开关状态;
*由于没有对某段代码进行trycatch,导致运行时异常,程序假死/退出,需要马上捕获异常;
*方法内某段代码逻辑有问题,需要修改;
*急需打印某些对象;
*急需监控某方法/代码的执行时间*其他……
1
视点变换,旋转,加速减速,星空背景太阳,光晕各行星纹理#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
sqljdbc_4.0.2206.100_chs.exe(MicrosoftJDBCDriver4.0forSQLServer)从MS官网上下载的大小:4463720字节MD5:2AE5A0B16EF927B901D6058815CD0188SHA1:182A4BE6F7E43D02597A2DB80B245123ACA40AA5CRC32:D74FEC3E
2025/6/6 22:01:43 4.26MB jdbc4 数据库 driver sqlserver
1
软件下载链接http://a.app.qq.com/o/simple.jsp?pkgname=com.example.bluetoothassist本软件为蓝牙串口通信工具,支持蓝牙从模式和主模式,可进行蓝牙串口通信测试。
能连接单片机及PC的蓝牙串口。
可用于硬件的串口蓝牙模块(TTL)通信。
软件功能:1、搜索蓝牙设备2、接收显示数据与发送数据3、可设置ASCII与HEX的输入输出模式4、自定义接收对齐字节数本工具含三种发送方式:1、定时发送方式:设定发送周期进行定时发送2、按键发送方式:可自定义5个按钮的输出值3、编辑发送方式:可编辑发送文本,支持发送回车键。
2025/6/4 22:17:27 12.75MB 蓝牙 串口助手 Android Studio
1
利用python3标准turtle库制作的图片,参观绘图方式和Pygame有很大不同,Pygame是通过场景与场景的快速变换体现事物的变化,而Turtle更像我们生活中的绘画,每一画依次完成。
假设一个机器人在(0,0),我们对其有各种操作,如前行,后行,变换前进方向等操作,通过各项操作,利用Turtle就可以将其轨迹呈现出来摘要必须大于50个字节!
2025/6/3 1:07:11 7.57MB python
1
共 376 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡