|
이렇게 한번 해보시지요?
public:에
TButton* Button[30]; 선언하고
폼show 나 create 에서
{
TButton*temp[30]={Button1,Button2,Button3,Button4.......쭉넣어주고};
for(int i=0;i<30;i++){
Button[i]=temp[i];
}
}
이렇게 해주고 Button[]을 배열처럼 쓰면 되지 않을까요?^^
아더 님이 쓰신 글 :
: 안녕하세요. 프로그램을 작성하다가 막히는 부분이 있어서 글을 올립니다.
:
: 폼에 TButton 형 콤포넌트를 배치하면 차례로 자동으로 이름이
:
: TButton* Button1, TButton* Button2,... 이런식으로 지정되는 것으로 알고
:
: 있습니다. 만약 버튼을 삼십개를 배치하면 Button1 ~ Button30 까지의 TButton 형
:
: 포인터가 생깁니다(제가 짜려고 하는 프로그램이 버튼이 좀 많거든요..)
:
: 그런데 버튼이 너무 많다보니 어느게 뭘 할때 눌러지는 건지 헷갈리고 프로그램도 지저분해 지는
:
: 것 같아서 다음과 같은 방식으로 바꾸려고 했습니다.
:
: TButton* Button1; // TButton 형 포인터
: TButton* Button2; // TButton 형 포인터
: ...
: TButton* Button29; // TButton 형 포인터
: TButton* Button30; // TButton 형 포인터
:
: -----------> TButton* Button[30]; // TButton 형 포인터 배열
: 위와 같이 한후에 버튼의 Name 속성을 Button[0], Button[1],...
:
: 이런식으로 지정하려고 했더니 'Button[0]' is not a valid component name
:
: 이라는 에러 메시지가 나네요...
:
: 포인터 배열을 __published구가 아닌 private구나 public구에 선언하고
:
: 실행시 생성을 하면 포인터 배열을 써 될것도 같긴한데, 문제는 버튼의 위치라든가
:
: Caption등 property를 일일이 다 지정해주기가 만만치 않아서.....
:
: 혹시 포인터 배열을 사용하면서도 보통의 경우처럼 디자인타임에 property를
:
: 지정할수 있는 방법이 없나 해서 이렇게 글을 올립니다. 그리고 ...
:
: 진짜 무식한 질문인지 모르지만 컴포넌트의 Name 속성과 변수명 (int a; 할때의 a 같은)
:
: 이 다른 건가요? 저는 Name 속성을 변경할때마다 헤더의 포인터 변수이름도 같은 이름으로
:
: 자동으로 변경되길래 같은 건줄 알았거든요. 만약 혹시나 같은 거라면 Button[1]등이
:
: 왜 부적절한 이름이 되는지..???? int b = 10; int* a[100]; a[0] = &b;
:
: 할때는 적절한 이름이었는데???? 제가 너무 무식한가요...
:
: 고수님들의 지도 편달 부탁 드리겠슴다.
:
:
:
:
:
:
:
:
:
:
:
|