代码之家  ›  专栏  ›  技术社区  ›  robsoft

在Delphi项目中更改多个窗体上的属性的快速方法?

  •  5
  • robsoft  · 技术社区  · 17 年前

    我认为GExperts中有一些东西可以做到这一点,但我看不出是否有。

    在一个包含大约100个不同表单的项目中,我必须更改每个表单中的缩放属性(从默认值TRUE更改为FALSE)。由于SCALED的默认值为TRUE,因此它实际上不会在.DFM文件中显示为一行(当以文本形式查看时),因此我无法通过GREP(etc)获得任何信息。

    有人能提出一个快速的方法来设置所有这些形式的属性吗?表单是各种不同类的子类,我真的不想做一些中间TForm子类来覆盖SCALED属性——部分原因是我尝试(短暂地)这样做,发现将SCALED属性设置为false 之后 之前 继承的创建操作导致异常。:-)

    有人有什么建议吗?如果我能帮忙的话,我真的不想一张一张地打开所有的表格,因为我肯定会错过一张!

    3 回复  |  直到 17 年前
        1
  •  8
  •   Jim McKeeth    17 年前

    我建议你改变你所有的形态,从一个共同的祖先开始。然后在将来,您只需更改基类,它就会在任何地方修复它。

        2
  •  7
  •   mghie    17 年前

    如果您的所有DFM文件不是二进制文件,而是文本文件(这是一个好主意,除非您需要与Delphi4或更早版本兼容),那么您当然可以使用grep/sed/awk。DFM的格式不是固定的,而是

      OldCreateOrder = False
      Scaled = False
    

    它还可能包含

      OldCreateOrder = False Scaled = False
    

    下次在IDE中保存该表单时,将更正该格式。

    编辑:

        3
  •  2
  •   mjn anonym    17 年前

    是的,GExpert包括一名“设置组件属性”专家。它有一个“模拟”模式,看看它会做什么。此工具对于在编译应用程序之前停用数据集或数据库连接非常有用。