当前位置: 首页 > news >正文

企业网站托管价格怎么做交易网站

企业网站托管价格,怎么做交易网站,公众号开发商城前景如何,python做网站有优势多年前一个项目主要做一台机器#xff0c;读取文件数据并解释执行#xff0c;吸合电磁阀或点亮相应的LED#xff0c;提示工人操作 文件格式 A 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 8 8 8 9 9 9 10 10 10 11 11 …多年前一个项目主要做一台机器读取文件数据并解释执行吸合电磁阀或点亮相应的LED提示工人操作 文件格式 A 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 8 8 8 9 9 9 10 10 10 11 11 11 12 12 12 13 13 13 14 14 14 15 15 15 16 16 16 17 17 17 18 18 18 19 19 19 20 20 20 23 23 23 63 23 23 62 22 22 60 20 20 58 18 18 57 17 17 56 16 16 55 15 15 54 14 14 53 13 13 52 12 12 51 11 11 50 10 10 49 9 9 47 7 7 第一列表示按键序号第二列表示LED序号第三列表示电磁阀序号 读取第一行点亮相应的LED吸合电磁等待相应的按键按下接着执行第二行以此类推 解释字符串并转换成相应的工序数据 #include file.h #include znFAT.h #include io.h #include LCD1602.h#include string.h #include stdlib.hstruct FileInfo FileInfo; //文件信息结构体实体FILE_T File; STRING_T String;void FileInit( void ) {memset(File,0,sizeof(FILE_T));File.Name[0] \\; }u8 ValidChar( u8 chr ) {if( (chr0chr9) || (chrAchrE)|| chrX || chr || chr,|| chr0x09 || chr0x0a || chr0x0d )return 1;elsereturn 0; }//获取文件中各个工人的起始结束地址 void InitFileInfo( void ) {UINT8 step0,wks0;UINT16 i0; memset( File.ReadPtr,0,MAX_WORKERS );memset( File.End,0,MAX_WORKERS );while( iFile.Len ){switch( step ){case 0:switch( File.Buf[i] ){case A:WorkerFlow.Flow[A].Beep 0;while( File.Buf[i]!\n ){if( File.Buf[i]X )WorkerFlow.Flow[A].Beep X;i;}File.ReadPtr[A] i1;step 1;wks;break;case B:WorkerFlow.Flow[B].Beep 0;while( File.Buf[i]!\n ){if( File.Buf[i]X )WorkerFlow.Flow[B].Beep X;i;}File.ReadPtr[B] i1;step 2;wks;break;case C:WorkerFlow.Flow[C].Beep 0;while( File.Buf[i]!\n ){if( File.Buf[i]X )WorkerFlow.Flow[C].Beep X;i;}File.ReadPtr[C] i1;step 3;wks;break;case D:WorkerFlow.Flow[D].Beep 0;while( File.Buf[i]!\n ){if( File.Buf[i]X )WorkerFlow.Flow[D].Beep X;i;}File.ReadPtr[D] i1;step 4;wks;break;case E:WorkerFlow.Flow[E].Beep 0;while( File.Buf[i]!\n ){if( File.Buf[i]X )WorkerFlow.Flow[E].Beep X;i;}File.ReadPtr[E] i1;step 5;wks;break;default:break;}break;case 1:if( File.Buf[i]B ){File.End[A] i-1;i--;step 0;}else if( iFile.Len-1 )File.End[A] i1;else if( !ValidChar(File.Buf[i]) )File.End[A] i-1;break;case 2:if( File.Buf[i]C ){File.End[B] i-1;i--;step 0;}else if( iFile.Len-1 )File.End[B] i1;else if( !ValidChar(File.Buf[i]) )File.End[B] i-1;break;case 3:if( File.Buf[i]D ){File.End[C] i-1;i--;step 0;}else if( iFile.Len-1 )File.End[C] i1;else if( !ValidChar(File.Buf[i]) )File.End[C] i-1;break;case 4:if( File.Buf[i]E ){File.End[D] i-1;i--;step 0;}else if( iFile.Len-1 )File.End[D] i1;else if( !ValidChar(File.Buf[i]) )File.End[D] i-1;break;case 5:if( iFile.Len-1 )File.End[E] i1;else if( !ValidChar(File.Buf[i]) )File.End[E] i-1;break;default:break;}i;}//保存工人人数WorkerFlow.Workers wks; }INT32 ReadLine( UINT8 worker ) {UINT16 size;UINT8 *src,*dst;src File.Buf[File.ReadPtr[worker]];dst String.Buf[0];if( NULLdst )return -1;if( NULLsrc || \0*src )return -1;if( File.ReadPtr[worker]File.End[worker] )return -1; size STRING_SIZE;String.Len 0;while( *src!\n size--0 File.ReadPtr[worker]File.Len ){*dst *src;File.ReadPtr[worker];String.Len;}*dst *src;File.ReadPtr[worker];String.Len;return 0; } UINT8 ReadFile( INT8 *filepath ) { if( !znFAT_Open_File(FileInfo,filepath,0,1) ) //FileInfo是文件信息结构体用来记录打开的文件的重要参数信息{File.LenznFAT_ReadData(FileInfo,0,FILE_SIZE,File.Buf); //读取打开的当前文件0表示从0位置开始读45表示读取45个字节file_buf是数据缓冲区znFAT_Close_File(FileInfo); //关闭文件if( FILE_SIZE File.Len )return 2;InitFileInfo();return 0;}return 1; }void DecodeString( UINT8 Worker ) {UINT16 i,k,seg,word;BOOL segFlag,wordFlag;char str[5];//填充其它字符为空格for( k0; kString.Len; k ){if( String.Buf[k]0String.Buf[k]9 || String.Buf[k], || (String.Buf[k]A String.Buf[k]E) || String.Buf[k]X ){continue;}String.Buf[k] ;}i 0;seg word 0;segFlagwordFlag0;memset( WorkerFlow.Flow[Worker].Sign, 0, 3*MAX_ITEMS );for( k0; kString.Len; k ){if( String.Buf[k]0String.Buf[k]9){str[i] String.Buf[k];segFlag 1;wordFlag 1;}//else if(String.Buf[k]A String.Buf[k]E )//{ //}if( (String.Buf[k] ||String.Buf[k],) wordFlag ){wordFlag 0;str[i]\n;if( segMAX_SEGS wordMAX_ITEMS )WorkerFlow.Flow[Worker].Sign[seg][word] (UINT8)atoi(str);if( wordMAX_ITEMS-1 )word ;i 0;}if( String.Buf[k] segFlag ){segFlag 0;seg ;word 0;}} } /* BOOL SearchIndex( u8 *str,u8 *filename ) {u16 i,j,k;if( FAT32_Open_File(FileInfo,index.txt,0) ){File.LenFAT32_Read_File(FileInfo,0,FILE_SIZE,File.Buf);FAT32_File_Close(FileInfo);while( iFile.Len ){if( strncmp((char*)str,(char*)File.Buf[i],10)0 ){while( (File.Buf[i]!) (iFile.Len) );j i;while( (File.Buf[i]!0x0d) (iFile.Len) );k i-j;strncpy((char*)filename,(char*)File.Buf[i],k);return 0;}while( (File.Buf[i] ! 0x0a) (iFile.Len) );}}return 1; }*/ 看回去10多年前的程序很稚嫩还不会用太多的字符操作函数直接字节比较周期长不止还容易出错调试困难后面学习不断累积新技术解决旧的问题开发也是更加的轻而易举。 for( k0; kString.Len; k ){if( String.Buf[k]0String.Buf[k]9){str[i] String.Buf[k];segFlag 1;wordFlag 1;}//else if(String.Buf[k]A String.Buf[k]E )//{ //}if( (String.Buf[k] ||String.Buf[k],) wordFlag ){wordFlag 0;str[i]\n;if( segMAX_SEGS wordMAX_ITEMS )WorkerFlow.Flow[Worker].Sign[seg][word] (UINT8)atoi(str);if( wordMAX_ITEMS-1 )word ;i 0;}if( String.Buf[k] segFlag ){segFlag 0;seg ;word 0;}} }
http://www.sadfv.cn/news/56659/

相关文章:

  • 电商广告推广友情链接seo
  • 企业网站模板包含什么品牌推广策略ppt
  • 长沙网站设计培训南山的网站建设公司
  • 网站建设厂家昆明发布最新通告
  • 东莞 企业网站建设广东品牌网站建设平台
  • 合肥霍山路网站建设北京网站建设课程培训
  • 中国城乡建设部网站房贴文件免费ppt模版网站
  • 如何将自己做的网站传到网上怎么给网站做spm
  • 哪里可以做网站php网站模板源码
  • 北京网站建设找华网天下wdcp wordpress伪静态
  • 帮人做钓鱼网站以及维护想开一家公司需要多少钱
  • 视频一页网站怎么做公司中英文网站建设
  • 网站返回首页按钮h5商城网站建设是什么
  • 站长号定制网络接口报警灯生产厂商
  • 做网站吗公司主页设计案例
  • 郑州网站技术顾问怎么联系做网站公司
  • dw怎么做网站教程网站设计详细设计
  • 做网站模板的海报尺寸多少钱学做ps的软件的网站有哪些内容
  • 网站建设伍金手指下拉2邯郸微信推广平台
  • 做网站的公司叫什么名字呼市做网站公司
  • 网站建设电话销售技巧和话术嘉兴网站建设一薇
  • 珠海做网站需要多少钱赶集招聘网
  • wordpress获取分类文章标题列表南昌做网站优化的公司
  • 天津高端网站建设公司房地产销售段子
  • 昆山设计网站的公司2016年网站推广方法
  • 网站开发 环境制作公司网页要注意什么问题
  • 网站后台怎么网站相似度检测 站长
  • 好看网电影网站模板免费下载东莞 企业网站建设
  • 牙科网站模板抖音小程序怎么删除
  • 爱用建站dede后台网站主页