2

MAPSというフォルダがあります。メニュー項目が選択されたときに希望します。この場合は、その Maps->Random です。フォルダー マップ内のファイル名の 1 つをランダムに選択します。どうすればランダムにできますか?

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列を取得しないようにします。

これは、ディレクトリ内の各ファイルに文字列を割り当て、1 つのみを使用するため、最も効率的な方法ではありません。ただし、これはおそらく最も便利で簡単な方法です。

于 2012-12-05T09:39:03.437 に答える