2017-08-22 43 views
2

我正在寻找使用Grep Search所有的.pas和我的项目.DFM文件表的名称。它只能在.pas文件中找到结果,而我确信至少有一个数据集使用此表。我在.DFM文件搜索数据集的名字,这是我发现:如何防止从单词中间分割字符串值的.dfm文件?

object DtsRPCondition: TADODataSet 
    Connection = ConnMain 
    CursorType = ctStatic 
    CommandText = 
     'select FromDay, ToDay, ToTime, Daily, DayOfWeek from Tbl_Reserve' + 
     'ValidDay' 
    ... 

这使得无用通过.DFM文件进行搜索,所以我需要要么控件编写.DFM文件或其他搜索选项可以处理这个问题的工具。

+3

的DFM保存为文本将在固定长度的内容无关,没有什么可以做关于打破字符串。保存为二进制文件的DFM不会那样做。 –

+2

EMBT不太可能改变'.dfm'文件的格式。也许你需要考虑编写文本,你可能需要在代码中搜索(在'.pas'文件中),所以你可以根据需要将它设置为搜索友好的格式。 –

+2

德尔福只会将这些字符串分解成多行,它认为它们太长。简单的解决方法是自己添加换行符。如果您在'from' grep之前添加一个应该开始为您工作。 – mghie

回答

0

您可以在DFM文件转换为二进制文件,而无需使用德尔福捆绑在一起的转换工具覆盖文本DFM文件:

convert -b -s -ebin *.dfm 

其中-b =二进制输出,-ebin指利用存储(或任何你想要)作为新文件的扩展名,-s表示递归子目录。

这将为eash DFM一个 “bin” 的文件。如上所述,这些将不会有文字包装。虽然它们是二进制的,但它们应该是可以理解的,并且可以用来确定您需要查看哪些DFM。