Q&A

  • Randomize 함수 사용법
난수 발생하는 루틴이 필요해서 randomize를 help로 찾아보니,



var

I: Integer;

begin

Randomize;

for I := 1 to 50 do begin

{ Write to window at random locations }

Canvas.TextOut(Random(Width), Random(Height), 'Boo!');

end;

end;



이렇게만 나와있더군요. 초보자인 저로서는 도무지 무슨 말인지 모르겠습니다. 전 0과 999999사이의 난수를 구하면 되거든요.. 어떻게 해야 하는 건가요?



그리고.. 두번째 질문은, DBGrid에서 multi select를 true로 하고,

select된 row에 한해서 어떤 처리를 하려고 합니다.

이건 for 문을 이용해야 한다는 건 알겠는데.. select된 row는 어떻게 인식을 하는 건가요?

알려주시면 무척 고맙겠습니다.. 좀 급하거든요...

1  COMMENTS
  • Profile
    임형호 1999.12.07 02:36
    알송달송 wrote:

    > 난수 발생하는 루틴이 필요해서 randomize를 help로 찾아보니,

    >

    > var

    > I: Integer;

    > begin

    > Randomize;

    > for I := 1 to 50 do begin

    > { Write to window at random locations }

    > Canvas.TextOut(Random(Width), Random(Height), 'Boo!');

    > end;

    > end;

    >

    > 이렇게만 나와있더군요. 초보자인 저로서는 도무지 무슨 말인지 모르겠습니다. 전 0과 999999사이의 난수를 구하면 되거든요.. 어떻게 해야 하는 건가요?

    >

    > 그리고.. 두번째 질문은, DBGrid에서 multi select를 true로 하고,

    > select된 row에 한해서 어떤 처리를 하려고 합니다.

    > 이건 for 문을 이용해야 한다는 건 알겠는데.. select된 row는 어떻게 인식을 하는 건가요?

    > 알려주시면 무척 고맙겠습니다.. 좀 급하거든요...



    1번문에 대한 답변입니다.

    음...

    형식 random(숫자)

    위와 같이 쓸경우 발생되는 난수는 0보다 크거나 같고 숫자보다는 작은 범위의 수중에서 무작위로 발생하는것 같습니다. 그리고 randomize를 사용하는 이유는 맞는지 잘 모르겠는데요. 음..만약 randomize를 사용하지 않으면 무작위로 숫자가 발생하더라도 그 부분을 실행할때는 일정한 형식으로 무작위수가 발생하게 됩니다. 잘 이해가 안되실지도 모르겠네요.

    가령 random(100)으로 해서 숫자를 발생시킬때 처음같이 59, 45,99 와 같이 나왔다면 다음 프로그램을 실행시킬때 또 위와 같이 59, 45, 99가 발생이 됩니다. 그걸 방지하기 위해서 randommize를 사용하는것 같구요. 테스트해보면 그렇게 나오는데 확실한건지는 모르겠군요.