设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 39150|回复: 243
打印 上一主题 下一主题

[模块/函数] 【原创 / 源码】数据图片读写器(DataImage)(最后更新2005-09-28 15:38)

[复制链接]
跳转到指定楼层
1#
发表于 2005-9-25 07:30:00 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
名称:数据图片读写器(DataImage)
介绍:
  无聊的时候顺手写着玩的,一个使用图片来保存数据的小程序,你可以使用这个工具读取程序自带的数据图片,也可以编辑、新建数据图片。功能完整。
  程序使用440×330像素,256色BMP图片格式,能够保存的最大字符数量为(440×330-12)÷2=72594(默认设定),图形数据前1064位不变更(40位BMP信息头,1024位调色板),从第1065位开始,先是存储一个文件格式标记(以判别是否程序所创建的数据图片),格式标记可以在窗体的常量中自行定义,以做到和别人的数据图片格式不兼容,接着是4位的数据长度,然后是全部的数据。
  由于数据全部存储在BMP像素段,因此BMP结构完好,可以用任何图形编辑/浏览软件正常打开,而且由于BMP的扫描行从下到上,BMP图形本身就是一个最好的容量显示器。

  附件包含:

1、数据图片读写器。
2、独立的数据图片读取模块,你可以在自己的程序中读取使用读写器制作的数据图片的公共模块DataImageAccess。只需导入这个独立模块,并调用biRead函数,即可读出你隐藏在窗体图片中的数据。
3、数据图片读取模块使用范例。

4、小说《风云》第一部《惊世少年》和第二部《搜神记》的全部章节,可用读写器来打开阅读。




下载:(最后更新2005年9月28日15:38)

游客,如果您要查看本帖隐藏内容请回复



更新:
1、2005年9月28日,修正了Access 2000下文件后缀名大小写导致的无法打开文件问题。



游客,如果您要查看本帖隐藏内容请回复




[此贴子已经被作者于2006-7-13 9:12:59编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2005-9-26 06:09:00 | 显示全部楼层
以下是引用qxqjdy在2005-9-25 22:04:00的发言:

如图

多谢反馈,我立即检查。
3#
 楼主| 发表于 2005-9-26 06:29:00 | 显示全部楼层
请问是什么情况、操作下引起这个错误的?

如果你打开了图片,文本框不可能还是灰色的,应该是可以编辑的白色。

还是你改动过什么了?

[此贴子已经被作者于2005-9-25 22:32:28编辑过]

4#
 楼主| 发表于 2005-9-26 08:02:00 | 显示全部楼层
以下是引用qxqjdy在2005-9-25 23:14:00的发言:

打开窗体后,点击按扭全部提示错误,

上面截的图是点击第二个按扭(打开数据图片),在选定你提供的图片后出现的提示。

至于文本框的小说内容在我在点击提示内的“结束”后的结果。



你的Access什么版本?

我更改了代码的几个地方,重新上传了附件,你再看看。

另外,如果还出错,每个按钮的错误信息麻烦告诉我,谢谢。

[此贴子已经被作者于2005-9-26 0:09:56编辑过]

5#
 楼主| 发表于 2005-9-26 10:30:00 | 显示全部楼层
以下是引用qxqjdy在2005-9-26 1:14:00的发言:

我用的是2000

可以打开你预定的图片。但新建图片数据后再打开提示“文件不是合法的数据图片格式”



应该是版本问题,我是用2003做的,可能需要做些改动。



新建了保存,然后打开你自己保存的文件?还是新建后直接打开自带的图片?

如果新建了以后保存,但是无法打开,把保存的图片附件上来,我看一下。

另外打开一张自带图片,然后另存试试,看看另存的图片能不能再次打开。

我在程序里面加了一些错误信息提示,你用这个程序来重复一下你遇到的这个错误,然后把对话框里面的信息告诉我。





[此贴子已经被作者于2005-9-26 3:16:40编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
6#
 楼主| 发表于 2005-9-26 21:49:00 | 显示全部楼层
以下是引用CHENZHIRONG在2005-9-26 13:37:00的发言:

可用于保存一些敏感的数据。

可以自己修改一下窗体中的全局标记变量,用自己的标记来替代默认标记,这样别人用这个程序就无法打开你的数据图片了。

当然,防君子不防小人的,别指望有太高的安全性,匆匆完成,没使用任何的加密技术,对于高手还是很容易破解的。
7#
 楼主| 发表于 2005-9-26 22:48:00 | 显示全部楼层
以下是引用CHENZHIRONG在2005-9-26 14:01:00的发言:



当然,我只是说保存敏感的数据,并不是保密的数据。如果要保密,直接加密好了。

好像少个在自己程序中读取数据图片数据的公共模块,我这就补上。
8#
 楼主| 发表于 2005-9-26 22:58:00 | 显示全部楼层
再次更新了发布的文件,更改如下:1、修正了若干个BUG。

2、新增了一个独立的数据图片读取模块DataImageAccess,你可以在自己的程序中单独导入这个模块,并调用biRead函数,来读取你嵌入在自己窗体中的、使用读写器创建的数据图片中的数据。
9#
 楼主| 发表于 2005-9-27 19:34:00 | 显示全部楼层
以下是引用qxqjdy在2005-9-26 22:35:00的发言:

1、点击“打开数据图片”,修改文本内容“保存数据图片”可以正常再打开。

如作“另存”则无法打开。(以上均是对自带图片的操作)

2、新建数据图片也会出现同样的错误。

附图

不知描述清没有?






能不能麻烦你附一张无法打开的数据图片上来,我分析一下图片数据,找找原因。

另外,我又修正了几个BUG,你可以试试最后发布的版本。

[此贴子已经被作者于2005-9-27 11:37:48编辑过]

10#
 楼主| 发表于 2005-9-28 06:21:00 | 显示全部楼层
以下是引用qxqjdy在2005-9-27 21:56:00的发言:





最新版也是这个情况。(是不是因2000版的原因?)

另外还有一件事麻烦楼主。

能不能再讲讲APICopyMemory



应该是的,可能我代码中有些部分使用了2003的特性,和2000不兼容,等我看看图片分析一下。

CopyMemory其实是个很简单的函数,但是功能非常强大。三个参数分别是目标内存地址,来源内存地址,复制长度,功能就是成段复制数据。速度极快。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-3 13:08 , Processed in 0.095220 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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