난수 발생하는 루틴이 필요해서 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는 어떻게 인식을 하는 건가요?
알려주시면 무척 고맙겠습니다.. 좀 급하거든요...
> 난수 발생하는 루틴이 필요해서 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를 사용하는것 같구요. 테스트해보면 그렇게 나오는데 확실한건지는 모르겠군요.