当前位置:主页>仓库管理软件> 列表

高分求高人指导:DELPHI 检索文本文件. 在线等待,不

仓库管理软件版1楼: 一个Delphi的项目,老板说不用数据库,直接读文件.因为数据表不多,但资料量在1万条以内.

Delphi检索/读写文本文件应该如何做呢?

全部放入内存?有没有高人有相应的经验可指导.

2楼: 用二叉树实现 如财务记账软件哪个好

3楼: //Delphi检索/读写文本文件应该如何做呢?
什么意思?

4楼: 此模块本来是用MySQL 来做的,因为数据量不大,而且不会出现数据膨胀的问题,
并且数据库经常会有断电的时候出现问题,现在想换成直接读文本文件来实现,
现在问的问题是如何快速写数据,
如果在1万条数据中快速度查询出想要的记录?

5楼: 你可以将数据存储用TIniFile来实现。即将你的记录全部写到.ini文件中,查找、增加、修改、删除都极为方便。本人所有少量的数据存储都是这样实现的。详细使用查看delphi中的帮助“TIniFile”,祝好运!

6楼: 可是数据库也是有很多字段的呀.Ini文件处理起来好像也不是很方便吧

仓库管理软件版7楼: 文件型数据库不行吗?比如Access?

8楼: 类型文件
File of Record

9楼: 采用Record与IniFile结合的方式。
定义一个ini文件,采用如下的结构方式


[MyFile]
PrimaryKey1=sdfjls jslfkjslfjlskdfsldfj lsfklsdf
PrimaryKey2=sdfjls jslfkjslfjlskdfsldfj lsfklsdf
...
PrimaryKeyn=sdfjls jslfkjslfjlskdfsldfj lsfklsdf
即将主键名作为Ini的Key名,表记录的内容采用Record结构,写入ini文件时,以流的方式写入。
按以上方式,可以方便的检索出某个主键的记录,结合链表或数组也可以读出多条记录。通过IniFiles类,增删修都比较方便。但前提是检索仅限于主键,当然你也可以构造类似于索引的段来辅助检索。

10楼: 如果每条记录的总字符长度不太长,可以考虑用 TstringList 来装载或写回文本文件(很方便),如果要检索,则需要对 TStringList 进行排序[TStringList内置有默认的排序函数,也可以自己写]( 每行对应一条记录,注意自己分隔字段). 排了序后就可以使用各种快速排序方法(如二分法等)来查找了...
对于一万条记录的文本,应该还是速度能接受的.

11楼: XML

12楼: 动态创建一个内存表,把数据装入表中。查询就方便啦 如速达财务软件价格

13楼: 建立一个记录类型,每次从文件中读数个个记录数据到数组中。

仓库管理软件版14楼: 问题虽然没有解决,但还是把贴子结了得啦 ....

15楼: 多人接受答案了。