|
sunje 님이 쓰신 글 :
: 안녕하세요...
: 요즘 씨빌더6.0을 열공하고 있는데요
: 구구단을 1초 간격으로 하나씩 표현하려고 하는데 잘 안되네요.
: 예를 들자면은 "1*1=1" -> Edit에 1초 나타내고
: 연속적으로 "1*2=2"->Edit에 나타내고.....
: 이런식으로 "9*9=81" 까지 나타내려고 하는데 잘 안되네요.
:
: 타이머에 넣고 돌렸더니 마지막 "9*9=81"만 나오더라구요.
: Memo1에서 확인해 보니 "1*1=1" 부터 "9*9=81"까지 한꺼번에 표현이 됩니다.
: Sleep(1000); 를 써도 안되고....
: 한수 부탁드리겠습니다....
:
: void __fastcall TfTest::Timer1Timer(TObject *Sender)
: {
: int a, b, c;
: AnsiString str;
: for(a=1;a<=9;a++)
: {
: for(b=1;b<=9;b++)
: {
: c=a*b;
: str.printf("%d*%d=%d\n",a,b,c);
: Memo2->Lines->Add( str );
: }
:
: }
: }
for 루프를 돌리시니 그렇죠 타이머로 돌리세요
on timer 1초 이벤트마다 나오게 해야합니다
for 루프가 끝나야 값이나가는데
: int a, b, c; 를 외부에 놓고
: for(a=1;a<=9;a++)
: {
: for(b=1;b<=9;b++)
: {
: c=a*b;
: str.printf("%d*%d=%d\n",a,b,c);
: Memo2->Lines->Add( str );
: }
:
: }
을
: c=a*b;
: str.printf("%d*%d=%d\n",a,b,c);
: Memo2->Lines->Add( str );
b++;
if (b>=10 )
{
a++;
b=0;
}
로 고치세요
타이머는 if(a==9)&&(b==9) 일때 정지시키고
|