主窗体显示 ini 文件中的文本。它包含第二个表单的备忘录中的设置和文本。原文中包含连字符:Контора Рога и Копыта'+#13+'работает с 12:00 до 15:00 часов'+#13+'Личные приёмы с 13:00 до 14:00'
问题是,如何将其转移到Label上?
ini 文件是逐行保存的。所有内容也都被逐行接受到变量中。但标签上只显示第一行。
添加。在静态中,当文本标签带有'+#13'
.但问题是我决定附加备忘录来编辑文本。文本保存在ini 中。
那些。启动时,FormCreate,标签包含从ini读取的变量。 ini 本身有连字符。但无论是在 Memo 中还是在 Label 中,它们都不能再从 ini 中计数。
我应该怎么办?
iniF.WriteString('main_text', 'text', text1);
变量 tex1 中的条目 - 字符串
输入时输入:
从ini文件查看:
结果:
标签可以显示多行文本:
但重点不在于标签,而在于使用 ini 文件。
ini 文件不适合存储多行参数。读取时,
ReadString
它使用 Windows 函数GetPrivateProfileString
` 查找类似的字符串从中提取
value
,并对后续行不执行任何操作。写入多行参数时,可以用特殊字符或序列替换换行符,读取时,进行反向替换(StringReplace)
可能值得考虑其他存储和传输方式 - 例如, JSON5 有它
{multiline:
(您还必须在标准 JSON 中执行此操作line1\\nline2
)如果使用标准的 Delphi 方法,那么最好这样做。
输出将是这样的文件:
如果它们是非标准的,那么您只需阅读文件直到遇到所需的部分,然后阅读下一部分。
该解决方案是由 #MBo 建议的(并阅读旧的 delphibasics-ru)。