|
고맙습니다. 이번에도 같은 분이 도움을 주시네요 ^^
그런데 이런 질문을 하면서도 참 답답한건.. 과연 언제까지 이런 질문/답변 식으로 공부를 해야하는가..라는 생각이 듭니다.
지난번에도 제가 질문을 드린적이 있으니 제가 의도하는게 어떤건지 아실거라는 생각이 듭니다.
어떤 컴포넌트에 대해서 Help를 살펴보면 분명 많은 도움말들이 나옵니다. 어떤 속성을 가지고 있고 그건 어떤 클래스에서 상속받았는지 등등..
그런데 아래쪽으로 상속을 줘서(??) 사용하는 방법에 대해선 도움만 가지고만은 알기가 힘들더군요
예를 들어서.. TEdit 와 TMemo만 하더래도 둘다 text라는 속성을 가지고 있지만 찾아가는 방법은 달랐죠.
Edit1와 Memo1이라는 컴포넌트들을 폼에 띄워놓고 Text라는 속성을 보려면 Edit1은 단순히 Edit1->Text 라고만 해줘도
그 값을 얻을수가 있었고, Object Inspector에서도 속성으로 찾을수가 있었는데..
Memo1은 Object Inspector에서는 Lines 라는 속성으로 존재하고 소스에서는 Memo1->Lines->Text 이렇게 Lines이라는 클래스를 거쳐야만 했습니다.
그건 지난번에 장성호님이 알려주신대로 한거였구요..
그럼 다시 질문을 드리겠습니다. 장성호님은 어떤 방식으로 공부하셨는지요? 얘기하신 AnsiString 에 대한 그 수많은 기능들을 이런데서 질문으로.. 수많은 시행착오만으로 외워서 사용한다는 생각은 들지를 않는데요
포럼에 오시는 분들은 어떤 방식으로 컴포넌트에 대해서 접근을 하시는지 알고 싶습니다.
저는 단순히 책 한권 들고 많은 예제들을 접해서 사용법을 익혔습니다. 예전에 비주얼 베이직을 할때는..
베이직만 해도 그것만으로 충분했지만 빌더는 그게 아니라는 생각이 들더군요
제가 알고 싶은건 이렇게 단순한 질문으로.. 물고기 한마리 던져주는 것을 원하는 것이 아니고 그 물고기를 찾아내는법, 잡는법, 요리하는 법을 알고 싶은 겁니다.
그 방법을 어떻게 익히셨는지 궁금하네요 ^^
장성호 님이 쓰신 글 :
: [답변 1 ] TComboBox * 와 TListBox * 에 대하여
:
: TComboBox * 와 TListBox *는 말씀하신대로 비슷합니다.
:
: 둘다 리스트에 추가는 Items 에다가 Add하는데
: 둘다 Items 는 TStrings* 타입이네요
:
: 1. ItemIndex는 현재 선택된 Item의 순번을 나타내는데
: 0번부터 시작하고 ListBox나 ComboBox나 똑같습니다.
: 만약 ItemIndex가 0보다 작으면 아무것도 선택된것이 없는겁니다.
:
: 2. ListBox가 ComboBox와 결정적으로 다른 기능이 한가지 있다면
: MultiSelected되는것입니다.
:
: TListBox의 MultiSelect=true로 해주고
: Shift 나 Ctrl키를 이용해서 윈도우 탐색기에서 File선택하듯이 사용하면 됩니다.
:
: - 선택된 갯수는 ListBox1->SelCount 이구요
: - 어떤것이 선택되었는지 확인하려면 Selected를 아래처럼 배열로 접근해 확인해 보시면 됩니다.
:
: int iSelCount=0;
: String str="";
: for(int i=0;i< ListBox1->Count;i++)
: {
: if(ListBox1->Selected[i])
: {
: iSelCount++;
: str+=ListBox1->Items->Strings[i];
: }
: }
:
: 3. 아이템을 추가할때 스트링을 추가하는 방법말고
: AddObject(AnsiStrings *s , TObject *obj) 형식으로 추가하느 방법이 있습니다.
: 프로젝트에 따라 이기능도 유용하게 쓰입니다.
:
:
:
: [답변 2] String을 숫자로 변환하는 방법에 대하여...
:
: 1. 일전에 질문하였을때 AnsiString에 대해 잘 알면 Builder로 프로그램하는데 매우 유익하다는 얘기를 했었는데요
: AnsiString에 왠만한 변환 기능이 다 있습니다.
: 그만큼 무겁겠지만 그만큼 편리합니다.
:
: String str="1234";
: int kK=str.ToInt();
: double fK=str.ToDouble();
:
: 2. 기타 기본적으로 제공하는 변환함수들이 여러가지 있습니다.
:
: 간단한것으로
: String str="1234";
: int iK= StrToInt(str); //String을 int형으로
: float fK=StrToFloat(str); //String을 double형으로...
:
: 반대로 변환은
: int k=123;
: String str;
:
: str=IntToStr(k); //int형 숫자를 String형으로
: str=FloatToStr((float)k); //float형 숫자를 String으로 ..
:
: 숫자를 Hex값으로 변환은?
: IntToHex(...) //
:
: 이밖에도 엄청 많습니다.
:
: F1키 눌러서 도움말 파일 나오면
: IntTo** 로 검색해보거나
: StrTo** 로 검색해보세요
:
: 그럼
:
:
:
:
: 흑태자 님이 쓰신 글 :
: : 빌더 시작한지 며칠 안됐는데 컴포넌트 사용법 때문에 참 난감하네요.
: : 책을 봐도 일부만 나와서 막상 필요한 기능을 찾아야 할때 어떻게 할지도 모르겠고..
: : 각설하고
: :
: : 콤보박스와 리스트는 어찌 보면 비슷한 컴포넌트 같은데 또 다르네요
: : 리스트에는 있는 Index 라는 속성이 콤보박스에선 어떻게 되나요?
: :
: : 그리고.. 콤보박스나 리스트에 입력되어 있는 item들은 AnsiString 인가로 되어 있던데
: : 이걸 int 같은 형태로 형변환을 하려고 하는데 단순히 (int)로 붙여서는 에러가 나더군요
: : 직접 숫자화 시키는 방법 없나요?
|