它是 Delphi 7,我需要 将字符串拆分成行。
具体来说,我有一个 DFM 作为字符串(从 MySql 数据库中提取),我想将它拆分成 TStringList 中的行。
看起来像这样……
'Oject Form1: TScriptForm'#$D#$A' Left = 0'#$D#$A' Top = 0'#$D#$A' Align = alClient'#$D#$A' BorderStyle = bsNone'#$D#$A' ClientHeight = 517'#$D#$A' ClientWidth = 993'#$D#$A' Color = clBtnFace'#$D#$A' Font.Charset = DEFAULT_CHARSET'#$D#$A' Font.Color = clWindowText'#$D#$A' Font.Height = -11'#$D#$A' Font.Name = 'MS Sans Serif''#$D#$A' Font.Style = []'#$D#$A' OldCreateOrder = False'#$D#$A' SaveProps.Strings = ('#$D#$A' 'Visible=False')'#$D#$A' PixelsPerInch = 96'#$D#$A' TextHeight = 13'#$D#$A'
呃
答案:事实证明这对我来说几乎不是问题。 Delphi 看到 #$D#$A
作为 CR LF 自动,所以我所要做的就是将字符串分配给 TStringlist 的 Text 属性(这也去除了每个 #$D#$A
周围的单引号)。因此,我只需添加一行代码。
如果限制器没有被 Delphi 转换,那么我认为 @Roald van Doorn 解决方案会奏效,因此他获得了答案。
最佳答案
将字符串转换为字符串列表很容易,您只需执行以下步骤即可。
去掉前导
'
将所有
'#$D#$A'
替换为 #13#10(从而再次将字符串分成多行。删除尾随
'#$D#$A
将生成的字符串分配给 StringList.Text
属性,stringlist 中的每一行现在都是 DFM 文件的一行。
关于德尔福 7 : how to split a string into a TStringList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2996074/