DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 4246|回复: 2
打印 上一主题 下一主题

[UUProg] uuprog开发教程:烧写工程管理1

[复制链接]
跳转到指定楼层
楼主
发表于 2014-11-29 00:48:27 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
       对于一个编程器来说,工程的管理是必须的,这个除了可以提供效率的同时,还有个重要的原因就是:工程保护,方便外包、代工、限制产量等。现在我们就讲解下怎么实现这个功能的。
      在讲解前,先说下文件的操作,这里牵涉到文件的创建、读取、定位、写入以及文件结构的定义等,可以说这篇教程也可以是文件操作的实例教程。文件的操作对于很多人来说,看着就头大,为什么呢,牵涉的知识量非常多,而且非常容易出错,往往读取和写入的东西根本不是自己想要的。为什么会出现这种情况呢?这就是文件结构定义问题了,而操作时定义数据结构长度又不对引起。所以这里还要用到vc++的调试功能,可以说调试是工程开发的精华,要想做个好的程序员必须掌握的技能之一。(对这个生疏的赶紧吃补药了)
    programm project file简称ppf,这就是我们工程文件的后缀名,工程文件结构怎么定义呢?这就要取决于你要保存的信息,主要决定与设计者和需求者了。下面就是个简单工程的属性:

       需求和设计有必然的联系,而隐含的属性在需求上是无法显现的,这个就需要设计者有非常缜密的思维。这里我们可以延伸出烧写文件保存,保密,校验,必须有安全权限才能修改以及工程计数等等。

其实工程操作的功能只有几个,无非打开,保存,设置等,关闭只是不保存就行。
要实现工程文件的保存,必须定义好文件结构,这样才好操作,下面就是文件头定义:
  1. //Project File head
  2. typedef struct tagProjectFileHeadStruct
  3. {
  4.         char Appname[20];
  5.        char ProjectFileVer[8];
  6.            DWORD ProjectFileCRC;
  7. }ProjectFileHeadStruct,*LPProjectFileHeadStruct;
复制代码
每个文件都会有相应的文件头,便于查询管理,才能直到后面的文件体的内容。这里我们要用到上位机名,工程文件版本,工程文件crc。
文件体结构如下:
  1. //Project File Struct
  2. typedef struct tagProjectFileStruct
  3. {
  4.        char ProjectName[20];
  5.        char DeviceName[20];
  6.        char ProjectNote[40];
  7.            DWORD BuffCheckCRC;
  8.        char CreateDate[11];
  9.        char EditDate[11];
  10.        char AccessPassword[17];
  11.        char SecurityPassword[17];
  12.            DWORD BuffSize;
  13.        char UUProgSN[17];
  14. }ProjectFileStruct,*LPProjectFileStruct;
复制代码
这里就比较复杂了,项目比较多,基本就是工程属性窗口的内容以及一些隐含的项目。
然后后面就是实际数据了,数据位置就靠这个结构体来定位,这个需要大家慢慢理解。
下面是uedit打开工程文件,可以看到文件的结构

下一节将继续讲解该部分的读写代码操作,欢迎继续关注。有兴趣的可以先下载源代码查看。



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
板凳
发表于 2015-1-12 09:25:01 | 只看该作者
学习vc的朋友可以跟着liyf学习了。
沙发
发表于 2014-11-30 09:17:54 | 只看该作者
uuprog开发教程:烧写工程管理2
http://www.diybcq.com/thread-134349-1-1.html
(出处: DIY编程器网)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-23 08:48 , 耗时 0.219492 秒, 25 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表