알려주신대로 하니 정말 환상적으로 잘되는군요.
사실 그내용 똑같이 32번 써서 프로그램 돌렸거든요.
머리보다는 노력이죠
또 한가지 여쭈어 보겠습니다.
procedure Button1Click(Sender: Tobject);
begin
if button1.caption= 'off' then begin
button1.caption:='on';
do_data:=do_data+1;
end
else begin
button1.caption:='off';
do_data:=do_data-1;
end;
end;
여기에 button1은 do_data:=do_data+1
button2는 do_data:=do_data+2
button3은 do_data:=do_data+4
button4는 do_data:=do_data+8
button5는 do_data:=do_data+16
.
.
.
.
button30은 do_data:=do_data+ 536870812
마찬가지로 마이너스도 연산을 합니다.
이렇게 하면 onclick event를 사용하지 못할것 같은데요
어떻게 간편하게 고칠수 있을까요
만약에 방법없으면 onclick event 로 수정했던거 다시 32번
써야 되거든요. 까짓거 한번 해보죠 뭐
그야.. array 를 써서 하면됩니다.
val : array[1..32] of Integer;
val[1] := 1;
val[2] := 2;
val[3] := 4;
val[4] := 8;
.
.
.
val[30] := 536870812;
하신다음에
procedure Button1Click(Sender: Tobject);
begin
if Tbutton(sender).caption= 'off' then begin
Tbutton(sender).caption:='on';
do_data:=do_data+val[Tbutton(sender).tag];
end
else begin
Tbutton(sender).caption:='off';
do_data:=do_data-val[Tbutton(sender).tag];
end;
end;
이렇게요..
button1.tag := 1;
button2.tag := 2;
button3.tag := 3;
.
.
.
이렇게 먼저 해주시구요.. 디자인타임때 하셔도 무방합니다.
그럼.. 즐코ㅓ.