Random関数のバグ?

解決


Mark.X  2005-08-18 09:12:21  No: 17109

以下の様な、ボタンを押すとEdit1にランダムに文字が展開されるプログラムを作ってみました。
内容は、0-9、a-z、A-Zの文字例を使い、5〜10文字のランダムな文字例を生成する、言ったものです。
しかし、ボタンを何度か押してみると2文字や0文字、11文字等と言った文字数の文字例が作成されてしまう事があります。
原因と、対処法を教えて下さい。

function RandomStr(key: String): String;
 var
  i: Integer;
begin
 Randomize;
 for i := 0 to Random(6)+5 do Result := Result+key[Random(Length(key))];
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 Edit1.Text:=RandomStr('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ');
end;


Mark.X  2005-08-18 11:20:19  No: 17110

すいませんダブりです


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加