|
정원희 님이 쓰신 글 :
: 임의의 버튼을 눌렀을때 난수발생을 시켜서 그 숫자에 따라 Canvas 에 뭘 그리는 부분을 작성하고 있습니다.
:
: 로직상에 별 문제는 없는거 같은데... 그냥 실행하면 무한루프 비슷하게 돌면서 프로그램이 가만 있길래.. 중간중간 random() 을 부르는 부분에 ShowMessage 를 몇개 넣어줬더니.. 제대로 화면에 그려지는군요.
:
: 왜 이런건지.. ^_^;; 아시는 분은 답변 좀 부탁드립니다.
:
: -P.S-
: 그리고 Randomize() 랑 RandomRange() 가 잘 안먹히는거 같네요.. randomize()랑 random() 으로 바꿔서 쓰고 있긴 합니다만...
: Randomize() 를 호출해도.. 매번 시작될때 생성되는 난수순서가 똑같은거 같기도 하고..
: 간만에 빌더 잡고 하니까 다시 버벅대는군요 ㅡ.ㅜ
^^
정확하게는 저도 잘 모릅니다.. 하지만 증상으로 봐서는 Application->ProcessMessages()
함수를 루프 사이에 한번 넣어보시죠 ..?
그리고 Randomize() 값을 호출하면 매번 시작될때 생성되는 난수가 같은게 생성이 되는게
맞을껍니다... 예~전에 Builder 말고 그냥 C 로 짤때도 그런 현상이 있는거 같아서
저의 경우에는 Random 함수에 seed 값을 줬었습니다.. seed 값으로는 뭐 여러가지가
될수도 있겠지만... 현재날짜 + 시간(초까지) 을 한 값을 사용했더랬습니다...
그럼 그 프로그램이 실행될때마다 다른 seed 값이 주어지기 때문에 Random 함수 역시
매번 같은 난수를 발생하지 않게 되죠 .. ^^
그럼 안냥~~ 원희씨~~~ 안된다고 원망 말아요~~~ ^^;
|