MS 的 OneNote 使用的数据层次结构本质上是一个简单的树,尽管信息是通过选项卡式界面而不是 TreeView 显示的。您从“笔记本”开始,它可以有“部分”,其中有“页面”。我正在尝试对此进行建模。就我而言,页面将链接到 RichEdit 的内容。
我的问题不是我想不出办法来做到这一点。我的问题是我不确定几种可能性中哪一种最终是最简单的。这就是我希望你能加入的地方。
例如,我可以使用常规的 [MyBase] 数据库。页面数据集将包含其名称字段和 RichEdit 数据。页面将嵌套在部分中,而部分将嵌套在笔记本中。
如果我想了一下,似乎这也可以用简单的 stringList 来建模,特别是如果列表中的每个元素都包含逗号分隔的 ID 值和层次结构中的位置,以及笔记本/部分/页面名称。
但是这似乎也非常适合 XML ...如果我要了解有关 XML 的更多信息:-)
你们更有经验的人怎么看?
一如既往地谢谢...
最佳答案
无论您使用数据库还是 XML,请尝试将数据访问例程放入数据模块中。让您的 GUI 单元调用数据模块的公共(public)方法,并确保这些调用不依赖于数据的存储方式。这样,您可以从一种方法开始,然后只需编辑数据模块即可切换到另一种方法。
关于Delphi:模仿 MS OneNote 的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1029430/