应该不难不问题,解决后马上给分!! (100分)

X

xzhifei

Unregistered / Unconfirmed
GUEST, unregistred user!
本人做一个软件,有个需要保存‘个人信息’的地方,就像‘通讯溥’
一样,字段很简单,就只有ID,姓名,备注就可以了,用数据库来做比
较浪费资源,所以想自己用自定义类型文件来搞定它,声明如下:
Type
TRec = Record
ID: Integer;
Name:string[20];
Memo: String[255];//突破256个字符的局限
End;

RecFile = File Of TRec;

请问大家,备注字段要怎么样才能突破256个字符的局限。本人用Char型代
替过,但是在处理内码的方面有问题!!

最好能提供源代码。

解决就给分。
 
使用delphi中的clientdataset的cds文件格式就很好解决了.:)
 
能给我一段示范代码吗[?]
 
用数据库吧
 
你觉得用定长记录类型不是也是很浪费吗?假如你的记录的Memo字段的最长的记录是数千个字符怎么办?
如果是我,我会定义如下的数据类型:
Type
TRec = Record
ID: Integer;
Name:String[20];
MemoPos: Integer;
End;

这位说那Memo数据保存在哪里?有两种方法:
1、保存在另外一个文件中,呵呵,先保存Memo字段,并记下每个记录的这个字段的保存位置到MemoPos字段中,
然后在把记录保存在主文件中。
2、保存在主文件基本记录的后面,先把Memo字段保存到一个临时内存流中,记录下偏移位,然后把数据保存到
文件中,最后把整个临时流保存到文件的后面。
建议用内存流或者文件流,至于内存流或者文件流的使用,我的主页上有相关文档和例子,
http://www.aidelphi.com
如果还有什么问题,可以给我来信:aizb@163.com
 
建议用ClientDateset
 
还是用数据库比较好,给你推荐一个免费的数据库引擎,
http://www.soft1st.com/chinese/download/TinyDB28.zip
看看它的介绍,你会喜欢的,里的例程里正好包含一个通信录:
 TinyDB 是什么?

TinyDB是提供给Delphi和BCB程序员的一组Delphi组件,目前包含 TTinyTable 和 TTinyDB。

·完全兼容Delphi和BCB中所有的Data Controls
·无须BDE的支持,无须附带任何DLL或OCX,开发绿色软件的最佳选择
·支持对BLOB型字段数据的压缩,并提供多种不同压缩方案
·优良的加密性能,预置三种先进的加密算法对数据库进行加密
·提供数据处理扩展接口,可挂接任意压缩和加密或者自定义算法
·加密和压缩均对用户透明,存取数据库时自动进行
·单一文件型数据库,无论数据库多复杂,只有一个文件
·完全支持基本的数据库结构定义
·接口和Delphi(BCB)中的数据库相关组件保持一致,易于使用
·提供配套工具 TinyDB Desktop 以及详细开发帮助文档和例程

 TinyDB 能做什么?  当我们用Delphi或BCB做一个软件的时候,如果要将大量数据保存到硬盘上,通常采用的方法无外乎两种:第一种是使用Borland Database Engine(BDE);第二种是自己制定一个文件格式,用读写文件的方法把数据保存到文件中。
  对于第一种方法,没什么可说的,这大概是最常用也是最权威的方法。但它有个缺陷:必须附带并安装BDE的支持包。这对于开发一个力求精致小巧、绿色实用的软件来说,似乎并不是最好的方案。
  而第二种方法,虽然无须BDE的支持,但文件格式的拟定、维护往往让人累不堪言。当软件的功能增加,文件格式需要做相应调整的时候,为了保持兼容性而付出的代价往往是相当巨大的。而且稍有不慎,便会给用户数据带来损失。
  TinyDB所要做的事情,便是在不需要BDE支持的前提下,给软件提供一个稳定的数据库系统,把逻辑格式和物理格式分开,并提供高效的压缩和加密功能,让软件开发者能方便而且快速地建立绿色、实用、稳定、安全的数据库程序。

 关于TinyDB

软件名称:TinyDB
目前版本:2.7
软件性质:免费软件
开发平台:Windows9x/NT/2000
语言支持:Delphi, C++Builder 5.0 或更高版本
 
多人接受答案了。
 
louhong,非常对不起,我结贴后才发现你的!!
 
没什么,习惯了。[:(]
 
顶部