【发布时间】:2018-03-10 09:20:50
【问题描述】:
我有一个 .ini 文件,其中包含 10 个单词(每行 1 个单词)
在我的应用程序中,我使用以下代码将第一个单词分配给某事物:
value := somefilename.Strings[0]
因此,分配的单词是 .ini 文件中第一行的单词
我不想分配第一个单词,而是让它从 .ini 文件中的总共 10 个单词中随机分配一个。
似乎无法为此找到 stringlist 属性。
我该怎么做?
【问题讨论】:
-
喜欢
Value := SomeFileName.Strings[Random(SomeFileName.Strings.Count - 1)];(假设您在应用程序初始化时调用Randomize)? -
@Victoria 在我的主表单末尾添加了
initialization Randomize;(显然不在同一行,所以注释格式显示在同一行)。那样行吗?至今没用过这个。修改代码以反映您的示例,问题是我没有 Count 选项,只有 Strings 之后的 CountChar。 -
啊哈,对不起,那就简单地做
Value := SomeFileName[Random(SomeFileName.Count - 1)];(假设SomeFileName是TStringList类型的实例,或者TStrings后代)。从模块initialization部分调用Randomize很好。 -
@Victoria Perfect,就像一个魅力。谢谢,非常感谢。如果您愿意,可以将其作为答案,以便我接受。祝你有美好的一天!
-
你是对的,我的错。应该是
Random(SomeFileName.Count)。