|
[답변 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)로 붙여서는 에러가 나더군요
: 직접 숫자화 시키는 방법 없나요?
|