본문 바로가기
Delphi Tip/문자

난수 문자열 만들기

by MonoSoft 2021. 10. 13.
728x90
반응형

난수 문자열 만들기

 

function RandomPassword(PLen: Integer): string;

var

  str: string;

begin

  Randomize;

  //string with all possible chars

  str    := 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';

  Result := '';

  repeat

    Result := Result + str[Random(Length(str)) + 1];

  until (Length(Result) = PLen)

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  //generate a password with 10 chars

  label1.Caption := RandomPassword(10);

end;

 

// Another function from ReNoiZer /=RNZ=/; renoizer@mail.ru

function RandomWord(dictSize, lngStepSize, wordLen, minWordLen: Integer): string;

begin

  Result := '';

  if (wordLen and (minWordLen  0) then

    wordLen := minWordLen

  else if (wordLen and (minWordLen then wordLen := 1;

  repeat

    Result := Result + Chr(Random(dictSize) + lngStepSize);

  until (Length(Result) = wordLen);

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

  //generate a password with 10 chars

  Caption := RandomWord(33, 54, Random(12), 2);

end;

 

728x90
반응형

댓글