2

我有一个名为 MAPS 的文件夹。我想在选择菜单项时,在本例中为 Maps->Random。它将随机选择文件夹映射中的文件名之一。我怎样才能让它随机?

4

1 回答 1

4

获取文件夹中的文件名列表:

uses
  System.Types, System.IOUtils;

var
  FileNames: TStringDynArray;
....
FileNames := TDirectory.GetFiles(DirectoryName);

然后随机选择一个索引。

var
  Index: Integer;
.....
Index := Random(Length(FileNames));

因此,您的随机文件名由下式给出

FileNames[Index];

在启动时调用Randomize以确保用户在每次运行程序时不会得到相同的随机数序列。

这不是最有效的方法,因为它为目录中的每个文件分配字符串,然后您只使用一个。但是,这可能是最方便和最简单的方法。

于 2012-12-05T09:39:03.437 回答