帮助基于数据库表的Delphi DFM生成(脚手架?)

时间:2010-08-02 14:20:12

标签: delphi scaffolding dfm

我是delphi的新手,我正在寻找更多了解delphi底层技术的方法,并在这个过程中为我的工作做一些有用的事情,如果有人有任何提示或者看到我可以提高我的想法请随意说出你的想法...

我想为dfms做一些Scaffolding,ideia如下:我想基于firebird数据库表生成 - 具有明确定义的域 - 表格的大部分。

我认为这个想法太简单了,或者我没有看到让它变得困难的大局,我正在努力不重新改造井,我在谷歌上看了但没有好结果,所以如果有人能做到的话在这里给我一个方向,我将非常感激。

更新: @Larry Lustig谢谢,我没有考虑delphi框架 - 我会去查找它们。

我对表单对象/处理和数据库元数据有所了解,但我不熟悉将delphi对象seril化为HD。关于序列化和delphi框架的任何提示(opensource所以我可以看看:))将是受欢迎的!

2 个答案:

答案 0 :(得分:4)

听起来很有趣。

不是在磁盘上手动编写DFM表单,而是使用以下方法:

  • 通过检查元数据来获取表格的结构。
  • 创建一个TForm并为每个要添加的列添加一个控件。
  • 使用Delphi的内置序列化将表单保存到磁盘。

我自己并没有这样做,但有许多运行时设计框架可以使用这个想法。

答案 1 :(得分:0)

如果您需要在设计时构建大量表单,这才有意义。您不能在可执行文件中使用DFM。如果你想构建表单运行时,我建议你选择Larry Lustig的答案。

我们更进一步......我们不构建表格。我们只编写类,添加一些属性并在运行时创建表单。用户可以在运行时更改此预设表单布局并保存自己的布局。控件和数据库之间的数据绑定是使用优秀的tiOPF框架完成的。也许你也可以考虑使用它。