C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[74532] Re:Re:Re:Re:Re:Re:[수정]폴더에 있는 이미지파일 한번에 나타내기
[] 3542 읽음    2017-08-09 10:18
성실한 답변 주셔서 감사합니다

정성훈.해미 님이 쓰신 글 :
: 무조건 고정으로 하는게 아니라
: 선택된 개수만큼 유동적으로 Load 하세요.
:
: 예1)
:     if(OpenDialog1->Excute())    {
:         if(OpenDialog1->Files->Count >= 1)    Image1->Picture->LoadFromFile(OpenDialog1->Files->Strings[0]);
:         else                                                    Image1->Picture = NULL:
:
:         if(OpenDialog1->Files->Count >= 2)    Image2->Picture->LoadFromFile(OpenDialog1->Files->Strings[1]);
:         else                                                    Image2->Picture = NULL:
:
:         if(OpenDialog1->Files->Count >= 3)    Image3->Picture->LoadFromFile(OpenDialog1->Files->Strings[2]);
:         else                                                    Image3->Picture = NULL:
:
:         if(OpenDialog1->Files->Count >= 4)    Image4->Picture->LoadFromFile(OpenDialog1->Files->Strings[3]);
:         else                                                    Image4->Picture = NULL:
:
:         if(OpenDialog1->Files->Count >= 5)    Image5->Picture->LoadFromFile(OpenDialog1->Files->Strings[4]);
:         else                                                    Image5->Picture = NULL:
:
:         if(OpenDialog1->Files->Count >= 6)    Image6->Picture->LoadFromFile(OpenDialog1->Files->Strings[5]);
:         else                                                    Image7->Picture = NULL:
:     }
:
: 예2)
:     if(OpenDialog1->Excute())    {
:         for(int i=0; i<6; i++)    {
:             TImage* pImg = (TImage*)FindComponent(UnicodeString().sprintf(L"Image%d", i+1);
:             if(pImg != NULL)    {
:                 if(OpenDialog1->Files->Count > i)    pImg->Picture->LoadFromFile(OpenDialog1->Files->Strings[i]);
:                 else                                                 pImg->Picture = NULL;
:             }
:         }
:     }
:
:
:
:
:  님이 쓰신 글 :
: : 답변주셔서 감사합니다.
: : 두번째 방법으로 이미지를 부르는데 까지 성공했어요 근데 Dialog를 String값으로 해서 이미지를 출력했더니
: : Image1->Picture->LoadFromFile(OpenDialog1->Files->Strings[0]);
: : 이런식으로 6개를 만들었더니 이미지가 String 개수보다 적게 클릭했을때
: : List Bound 오류가 나오더라구요 해결방법을 찾고있긴한데 좀 어렵네요..
: :
: :
: : 정성훈.해미 님이 쓰신 글 :
: : : 1. 특정 폴더를 선택하면 해당 폴더의 모든 이미지 파일을 가져오기
: : :     >> QnA에서 특정 폴더내의 모든 파일 얻어오기를 검색해보시면 많이 나옵니다.
: : :
: : : 2. 오픈 다이얼로그를 이용해서 이미지 파일을 여러개 선택하여 그것들만 가져오기
: : :     OpenDialog는 기본적으로 FileName 이란 것으로 선택된 파일이름을 가져옵니다.
: : :
: : :     추가적으로, 여러개의 파일을 선택했을 때는
: : :     (OpenDialog의 Options에 ofAllowMultiSelect를 true로 해야 함)
: : :     Files라는 문자열 리스트에 선택된 파일이름들이 들어있습니다.
: : :
: : :     선택된 파일 개수: OpenDialog1->Files->Count
: : :
: : :     사용 예)
: : :    
: : :     if(OpenDialog1->Excute())    {
: : :         for(int i=0; i<OpenDialog1->Files->Count; i++)    {
: : :             Memo1->Lines->Add(OpenDialog1->Files->Strings[i]);
: : :         }
: : :     }
: : :
: : : *추신: 혹시...그럴 일은 없겠지만
: : :           Image 콤포넌트를 하나만 사용하시고
: : :           거기에 여러개의 이미지를 한번에 다 로딩할려는 건 아니죠??
: : :    
: : :
: : :
: : :  님이 쓰신 글 :
: : : : 감사합니다. 하루종일 다른방법을 알아보고 있었는데 덕분에 어떻게 해야할지 감히 잡히기 시작하였습니다.
: : : : 제가 짠 코드가 너무 단순해서 올릴 필요성을 못느끼고 있었던거 같아요
: : : : 알려주셔서 너무 감사합니다.
: : : :
: : : : Intotheblue 님이 쓰신 글 :
: : : : : 대충 뭘 하고자 하는지 짐작은 갑니다만..
: : : : : 몇줄짜리 글로 님의 의도를 파악하기는 힘듭니다.
: : : : : 초보의 경우 자기가 원하는게 뭔지도 모르는 상태에서 질문을 하는 경우도 많고요.
: : : : : FAQ 에 질문하는법 자료도 읽어보세요
: : : : :
: : : : : 대충 추정하기에..
: : : : : 폼에 timage 하나 올려놓고.. opendialog 로 가져온 파일들 몽땅 loadfromfile 시킨걸로 보입니다.
: : : : : 하나 밖에 넣을수 없는 공간에 1,2,3,4,5 를 넣으면 어떻게 될까요?
: : : : : 마지막것 5만 남아있겠죠
: : : : :
: : : : : 그럼 이걸 어떻게 해야 하는냐..
: : : : : 정답은 없는거고 상황에 맞게 개발환경이나 효율성등을 고려하여 개발자가 결정하는겁니다.
: : : : :
: : : : : 저라면 timage 를 file 갯수 만큼 동적 생성해서..
: : : : : form 에 size 등 계산해서 잘 배치하고..
: : : : : 각각의 timage 에서 loadfromfile 시키겠습니다
: : : : :
: : : : : 그리고 opendialog 보다는
: : : : : findfirst,findnext 로 image 파일만 뽑아내서 처리할거구요
: : : : :
: : : : :
: : : : : 량이 님이 쓰신 글 :
: : : : : : 현재 OpenDialog를 사용하여 폴더에 있는 이미지를 전부 폼에 나타내고싶은데
: : : : : : 어디를 찾아봐도 한번 동작에 이미지를 하나씩 밖에 불러오질 못합니다.
: : : : : : OpenDialog를 말고 다른 것을 써야하는건지 아니면 OpenDialog로도 폴더안에있는 이미지를 한번에 불러올수있는건지 알수있을까요??
: : : : : : ================================================================================================================
: : : : : :
: : : : : : OpenDialog에서 ofAllowMultiSelect를 사용하니까 여러개가 선택이 되는것 까지는 성공했는데
: : : : : : 여러개를 클릭하고 Image에다가 넣으니 Image가 하나만 출력되고 나머지는 출력이 되질않네요
: : : : : : 혹시 OpenDialog와 Image말고 더 사용해야 하는 것이 있나요???

+ -

관련 글 리스트
74512 [수정]폴더에 있는 이미지파일 한번에 나타내기 량이 3527 2017/08/02
74513     Re:[수정]폴더에 있는 이미지파일 한번에 나타내기 Intotheblue 3582 2017/08/03
74514         Re:Re:[수정]폴더에 있는 이미지파일 한번에 나타내기 3521 2017/08/03
74515             Re:Re:Re:[수정]폴더에 있는 이미지파일 한번에 나타내기 정성훈.해미 4033 2017/08/03
74519                 Re:Re:Re:Re:[수정]폴더에 있는 이미지파일 한번에 나타내기 3552 2017/08/03
74520                     Re:Re:Re:Re:Re:[수정]폴더에 있는 이미지파일 한번에 나타내기 정성훈.해미 3558 2017/08/03
74532                         Re:Re:Re:Re:Re:Re:[수정]폴더에 있는 이미지파일 한번에 나타내기 3542 2017/08/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.