问题现象
由于购买的Delphi份数不足以在每个Java开发人员机器上装一份。
在将老的Delphi项目迁移到Java/web项目时,代码逻辑只能通过查看.pas源代码文件。
但是界面相关的组件,从执行界面上是看不到组件名称的。
如果组件命名不是很好猜,就难以对应代码中的组件名称和界面元素关系。
如下图(仅仅是例子):
这时可以通过查看.dfm文件确定组件名称与界面元素的关系(假设是英文)。
object Label1: TLabel
Left = 14
Top = 71
Width = 65
Height = 17
Caption = 'FTP Address'
end
但是如果组件界面显示是中文则看到的是如下:
就无法对应“Label1”就是界面显示的“FTP地址”
特别是多个项目并列的时候,连猜都不太容易。
object Label1: TLabel
Left = 14
Top = 71
Width = 65
Height = 17
Caption = 'FTP'#22320#22336#65306
end
解决办法
1组件原始代码
.dfm内原始代码如下(举例):
object Label1: TLabel
Left = 14
Top = 71
Width = 65
Height = 17
Caption = 'FTP'#22320#22336#65306
end
object Label2: TLabel
Left = 14
Top = 103
Width = 65
Height = 17
Caption = 'FTP'#31471#21475#65306
end
object Label3: TLabel
Left = 14
Top = 135
Width = 65
Height = 17
Caption = 'FTP'#30446#24405#65306
end
object Label4: TLabel
Left = 14
Top = 169
Width = 79
Height = 17
Caption = 'FTP'#29992#25143#21517#65306
end
2替换和保存为HTML
将#替换为&#。
将’替换为空。
将end替换为<br>。
再保存为.html。
object Label1: TLabel
Left = 14
Top = 71
Width = 65
Height = 17
Caption = FTP地址:
<br>
object Label2: TLabel
Left = 14
Top = 103
Width = 65
Height = 17
Caption = FTP端口:
<br>
object Label3: TLabel
Left = 14
Top = 135
Width = 65
Height = 17
Caption = FTP目录:
<br>
object Label4: TLabel
Left = 14
Top = 169
Width = 79
Height = 17
Caption = FTP用户名:
<br>
3用浏览器打开
就可以看到组件名称和界面显示内容的对应了。