德尔福 7 : how to split a string into a TStringList

标签 delphi delphi-7

它是 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/

相关文章:

delphi - 使用 Delphi 访问 Word 中的 Fields 集合

delphi - 如何访问嵌入页面控件中的表单的控件?

delphi - 数组按字母顺序排序?

Delphi:调用 dll 中的过程后出现访问冲突

delphi - 使用 Simple MAPI TEmail 组件记录时出现死锁

delphi - 如何在 Delphi 7 图像上绘制数字

delphi - ClientDataSet(随机记录)最后一个记录播放-错误“表开始”

delphi - 我无法在打开和保存对话框中获得 Delphi 上下文相关帮助

delphi - 如何在命令行上编译我的 Delphi 项目?

delphi - 双击 TVirtualTreeView (TVirtualStringTree) 标题时如何阻止排序符号隐藏