Delphi TStringList从.ini文件中包含的可用值中分配随机值
我有一个.ini文件,包含10个单词(每行1个单词) 在我的应用程序中,我使用以下代码将第一个单词指定给某个对象:Delphi TStringList从.ini文件中包含的可用值中分配随机值,delphi,delphi-10.2-tokyo,Delphi,Delphi 10.2 Tokyo,我有一个.ini文件,包含10个单词(每行1个单词) 在我的应用程序中,我使用以下代码将第一个单词指定给某个对象: value := somefilename.Strings[0] 因此,指定的单词是.ini文件第1行中的单词 我不想分配第一个单词,而是从.ini文件中的10个单词中随机分配一个。 似乎找不到该属性的stringlist属性 我该怎么做呢?根据David和Victoria的评论,这段代码非常理想 Value := SomeFileName[Random(SomeFileName
value := somefilename.Strings[0]
因此,指定的单词是.ini文件第1行中的单词
我不想分配第一个单词,而是从.ini文件中的10个单词中随机分配一个。
似乎找不到该属性的stringlist
属性
我该怎么做呢?根据David和Victoria的评论,这段代码非常理想
Value := SomeFileName[Random(SomeFileName.Count)];
像
Value:=SomeFileName.Strings[Random(SomeFileName.Strings.Count-1)]
(假设您在应用程序初始化时调用随机化
)@Victoria添加了初始化随机化代码>(显然不在同一行上,因此注释格式将其显示在同一行上)在我的主窗体的末尾。可以吗?到目前为止我还没用过这个。修改代码以反映您的示例,问题是我没有Count选项,只有字符串后的CountChar。啊哈,对不起,然后只需执行Value:=SomeFileName[Random(SomeFileName.Count-1)]
(假设SomeFileName
类型为TStringList
或TStrings
后代的实例)。从模块初始化
部分调用随机化
很好。@Victoria Perfect,效果很好。谢谢,非常感谢。如果你愿意,请回答,这样我就可以接受。祝您今天过得愉快!你是对的,我错了。它应该是随机的(SomeFileName.Count)
。否。恐怕这是不对的。您需要Random(SomeFileName.Count)
您没有测试它。您没有测试是否可以返回所有可能的值。最后一个值将永远不会使用答案中的代码返回。阅读文档。总是。阅读文档。如果列表只有两个元素,就不会有随机性。把这件事做好总是很重要的。我的反对票仍然存在,而且会一直到你。修改有问题的代码。我们不需要看到任何错误的历史。您可以编辑答案以删除它们。为了未来读者的利益,我只是这么说了,没有任何假设