Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi TStringList从.ini文件中包含的可用值中分配随机值_Delphi_Delphi 10.2 Tokyo - Fatal编程技术网

Delphi TStringList从.ini文件中包含的可用值中分配随机值

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

我有一个.ini文件,包含10个单词(每行1个单词)

在我的应用程序中,我使用以下代码将第一个单词指定给某个对象:

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)
您没有测试它。您没有测试是否可以返回所有可能的值。最后一个值将永远不会使用答案中的代码返回。阅读文档。总是。阅读文档。如果列表只有两个元素,就不会有随机性。把这件事做好总是很重要的。我的反对票仍然存在,而且会一直到你。修改有问题的代码。我们不需要看到任何错误的历史。您可以编辑答案以删除它们。为了未来读者的利益,我只是这么说了,没有任何假设