我需要把一个字符串拆分成几行。
具体地说,我有一个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货车多恩解决方案会起作用,所以他得到了答案。
2条答案
按热度按时间webghufk1#
把一个字符串转换成一个字符串列表很容易,你需要做的就是下面的步骤。
'
'#$D#$A'
替换为#13#10(从而再次将字符串拆分为多行。'#$D#$A
将产生的字串指派给
StringList.Text
属性,字串清单中的每一行现在都是DFM档案的一行。dced5bon2#
让我们试试这个代码:
http://www.delphi3000.com/articles/article_4028.asp
还有一件事:我看到您正在使用TScriptForm对象您为该对象给予序列化/反序列化功能是件好事
例如,读取以下元代码:
在实践中:创建一个TStream后代来管理表单序列化,并使用它来封装表单对象的保存/加载逻辑。