Q&A

  • 이것을 프로시져 하나로 묶을수 없을까요?
안녕하세요.. 델파이 초보입니다.
로또 추첨기를 만드는데요..
숫자그림 1~45까지를 폼에 넣구요..
숫자 하나를 클릭할때 실행되는 프로시져 입니다.


procedure TLotto_645.Ball1Click(Sender: TObject);
begin
        if (Checkflag[0] = False) and (count < 6) then
        begin
                Ball1.Picture.LoadFromFile('.\Image\1_1.jpg');
                Checkflag[0] := True;
                SelectNumber[count] := 1;
                count := count + 1;
        end
        else if (Checkflag[0] = true) and (count <= 6) then
        begin
                Ball1.Picture.LoadFromFile('.\Image\1.jpg');
                Checkflag[0] := False;
                count := count - 1;
        end;

end;

procedure TLotto_645.Ball2Click(Sender: TObject);
begin
        if (Checkflag[1] = False) and (count < 6) then
        begin
                Ball2.Picture.LoadFromFile('.\Image\2_1.jpg');
                Checkflag[1] := True;
                SelectNumber[count] := 2;
                count := count + 1;
        end
        else if (Checkflag[1] = true) and (count <= 6) then
        begin
                Ball2.Picture.LoadFromFile('.\Image\2.jpg');
                Checkflag[1] := False;
                count := count - 1;
        end
end;

위에처럼 하다보니.. 1~45까지 각각 같은내용을 45번 넣어야 하는데요.
이것을 간단하게 할 수 없을까요?

Ball1 , Ball2 이것을 다르게 표현할수 없는지요..

아직 너무 모르다 보니.. 제가 하는 질문이 맞는지 조차 모르겠네요..

제 질문 이해하신분.. 답변좀 부탁드릴께요..

감사합니다..
1  COMMENTS
  • Profile
    이규하 2004.10.26 00:31
    요런 방법은 어떨까요?

    요걸 응용해 보세요.

    TSpeedButton(FindComponent('Speedbutton' + TSpeedButton(Sender).ComponentIndex)

    또는

    TSpeedButton(Sender).LoadFromFile('.\Image\1_1.jpg')

    요걸 응용해서 1 개의 Procedure 만 맹글고, 나머지는 걍 click 이벤트에 연결만 시키면 될듯 합니다.