|
궁금이 님이 쓰신 글 :
: 자답하는군요...
: void __fastcall TFormMain::BFileSelClick(TObject *Sender)
: {
: if(OpenDialog1->Execute())
: for(int i=0;i<OpenDialog1->Files->Count;i++)
: LBFiles->Items->Add(OpenDialog1->Files->Strings[i]);
: }
:
: 하시면 됩니다.
:
: 선택된 화일의 갯수만큼 for문을 돌려서..*^^*
:
: 고수님들..더 좋은 방법이 있으면 알려주세요.~~
전 고수는 아니지만... ^^;
한 가지 덧붙이자면,
TStrings의 Assign() 메소드를 쓰면 됩니다.
void __fastcall TFormMain::BFileSelClick(TObject *Sender)
{
if(OpenDialog1->Execute())
LBFiles->Items->Assign(OpenDialog1->Files);
}
물론,
LBFiles->Items = OpenDialog1->Files
이렇게 포인터를 그냥 대입시키면 절대 안 된다는 건 아실테죠?
그런데 참고로요, TOpenDialog의 FileName 이나 Files 속성에는 절대경로가 다 들어가기 때문에
파일 이름만 필요할 경우는 ExtractFileName() 함수를 써야합니다.
이럴 경우는 당연히 for() 문을 돌려야겠지요.
void __fastcall TFormMain::BFileSelClick(TObject *Sender)
{
if(OpenDialog1->Execute())
for(int i=0; i<OpenDialog1->Files->Count; i++)
LBFiles->Items->Add(ExtractFileName(OpenDialog1->Files->Strings[i]));
}
: 궁금이 님이 쓰신 글 :
: : 여러 화일들에 대한 작업을 하고자 합니다.
: :
: : 다음과 같이 하면 화일을 선택해서 리스트 박스에 넣을수 있습니다.
: :
: : void __fastcall TFormMain::BFileSelClick(TObject *Sender)
: : {
: : if(OpenDialog1->Execute()) {
: : LBFiles->Items->Add(OpenDialog1->FileName);
: : }
: : }
: :
: : 그런데 문제는
: :
: : 여러 화일들을 한꺼번에 선택하면 (다이알로그에 옵션에 allowMultiSelect 라고 해서 여러
: : 화일들을 선택할수 있더군요)
: :
: : 선택된 화일들이
: :
: : 리스트 박스의 목록상에 들어가게 하고 싶은데..
: :
: : 여러 화일 선택을 어떻게 해야 하는지요??
|