jboard


컴포넌트 배열처럼 사용하기
성명
홈페이지
첨부파일

yo`

우선 FindComponent 는...말 그대로 콤포넌트를 찾는것입니다. 자세한것은 에프원 아저씨 한테 물어보시구요.

For nI:= 1 To 10 Do
Begin
TCheckBox( FindComponent('CheckBox'+IntToStr(nI))).Checked:= True;
End;

이런식으로 하셔도 됩니다. 어떻게 보변 배열을 만들어서 사용하는것 보다 훨씬 좋아보입니다. 흠 이것에 대한것은 강의실에서 '주정섭' 님의 게시글중에 관련된 글이 있을껍니다. 찾아서 한번 보시구요.

TabOrder 는 아시겟지만 비주얼 콤포넌트에 있는것으로 Tab 을 사용했을때 해당 포커스를 주는 번호 입니다.

ComponentCount 는 말 그대로 콤포넌트의 총갯수구요 논 비주얼, 비주얼 가리지 않고 전체 콤포넌트의 수를 리턴해줍니다.

SetLength(aCheck,30);
aCheck[0]:= CheckBox1;
...

이부분을 좀더 쉽게 코딩 하고자 한다면....흐음..그냥 루프 돌면서 콤포넌트를 하나하나 조사해서 해당 콤포넌트인지 확인한후에 넣으면 될꺼 같은데요.

For nI:= 0 To Form1.ComponentCount-1 Do
Begin

If Form1.Components[nI].ClassName = 'TCheckBox' Then
aCheck[nI]:= Form1.Components[nI].Name;

End;

흠...Form1 위에 있는 모든 콤포넌트에 해당되니깐 콤포넌트의 갯수가 많다거나 아니면 포함시키지 않아야 할 CheckBox 가 있다면....^^

다른 방법도 있을껍니다. 한번 연구를 해보시지요...

그럼...

>답변 감사드립니다!!
>정말 이렇게 하니 해결이 되었어요~ 감사감사! 복받으세요!! ^^
>그런데 FindComponent로 컴포넌트를 찾아서 형변환해서 사용하라는 것은
>어떤 말씀인가요?
>컴포넌트카운터랑, 탭오더랑 상관있는 것이죠?
>이걸 사용하면 aCheckBox[0] := CheckBox1; 이 부분도
>for구문을 사용해서 간단하게 만들 수 있을 것 같은데...
>시도는 해봤는데 type이 다르다면서 안되더라구요..
>그 형변환으로 해결할 수 있을 것 같은데 형변환이 정확히 무엇인가요?
>그리고 사용하는 방법도...
>헤헤.. 참 궁금한 것도 많죠? 죄송.. (__a)
>>
>>var
>> aCheckBox: Array Of TCheckBox;
>> nI: Integer;
>>begin
>>
>> SetLength(aCheckBox,3);
>> aCheckBox[0]:= CheckBox1;
>> ....
>>
>> For nI:= 0 To Length(aCheckBox)-1 Do
>> aCheckBox[nI].Checked:= False;
>>
>>이런식으로 해당 콤포넌트를 배열로 만들어서 사용하셔도 되고요..
>>FindComponent 로 콤포넌트를 찾아서 형변환(?) 하셔서 사용하셔도 됩니다.
>>
>>그럼...
>>
>>>아래에 101209 질문을 올렸던 사람인데요..
>>>
>>>참, 답변올려주신 님께 우선 고맙다는 인사를 먼저 드릴께요.
>>>
>>>그런데요.. Tag를 사용해서는 그 Component를 Access를 할 수가 없네요..
>>>
>>>제가 사용하고자 하는 방법은요,
>>>
>>>예를 들면 CheckBox1,CheckBox2..CheckBox45 이렇게 만든 CheckBox를
>>>
>>>CheckBox[1],CheckBox[2]..CheckBox[45]처럼 배열같이 사용해서,
>>>
>>>for 구문을 돌면서 CheckBox[N].Checked := False; 란 문장을 수행하는거죠
>>>
>>>Component들을 배열화해서 사용하는 방법이 없는 것인가요?
>>>
>>>고수님들 도와주세요~ ㅠ.ㅠ
>>>
>>>만약 그렇게 할 수 없다면 없다는 사실만이라도 알려주세요.. ㅠ.ㅠ
>>
>



2005-01-02 20:58:39 / 218.149.83.146
   

전체 121개 - 현재 6/9 쪽 관리자로그인~~
46 당신이 평생 절대로 먹지 말아야 할 것 2005-06-12 1062
45 DNS 설치 2005-05-22 933
44 액티브디랙토리설치 2005-05-22 968
43 인스톨쉴드 사용법(델마당에서) 2005-05-15 3809
42 파라독스 관련지식 na 2005-04-19 1454
41 인터넷 체크방법 sk 2005-04-10 983
40 장비 통신 setting sk 2005-04-06 887
39 when hitachi shutdown sk 2005-04-06 905
38 인터베이스 디비 설치법 sk 2005-04-06 1012
37 4500-interface-setting sk 2005-04-06 788
36 ms-sql 접속 sk 2005-04-06 906
35 parambyname 사용하기 na 2005-03-30 1157
34 일자 허리 예방 '척추기립근 스트레칭' 2005-01-11 1768
컴포넌트 배열처럼 사용하기 2005-01-02 1137
32 2005에서 퀵리포트는 사용이 불가함 2005-01-01 918
[맨처음] .. [이전] [3] [4] [5] 6 [7] [8] [9] [다음] .. [마지막]