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
[60221] Re:Re:Re:Re:대단하시네요. 정말 고맙습니다.
김민호.소중한꿈 [xho95] 1231 읽음    2010-02-10 16:58
아직 시도해 보지는 않았지만, 말씀하신대로 한 번 해보도록 하겠습니다.

정성이 담긴 답변, 정말 고맙습니다. (장성호님 정체가 궁금해지네요. ... @_@ b...)

장성호 님이 쓰신 글 :
: 아..
: 그래요?
: "Resource Dll Wizard"는 옛날 부터 있었던 것입니다.
:
: BCB5-Ent 에서 봤구
: 현재 BCB6-Pro을 쓰고 있구요
:
: C++Builder 2007 Pro에는 방금 확인해 보니까 없네요
:
: 아래 설명한 원리를 정확히 이해하시면
: 그냥 dll 프로젝트 하나 만들어서 resource-dll을 만들수 있을것 같습니다만...
: 해보진 않았지만 가능할것 같은데요
:
: --------------------------------------------------------------------
:
: VCL의 Form이나 DataModule등을 생성하면
: Design-time에 폼위에 올려진 Control이나 Component들의 생성과 프로퍼티 설정은
: exe에 포함된 resource에서 읽어와서 생성합니다.
: 즉 xxx.dfm 파일이 그대로 exe의 리소스로 들어가는것입니다.
: resource-editer프로그램을 exe를 열어서  form관련 dfm 리소스만 변경해버리면
: 폼위에 control을 추가할수도 잇구 삭제할수도 있습니다. 문론 안보이게 할수도 있구요
:
: ---------------------------------------------------------------------------
:
: 보통 exe에 포함되어있는 리소스를 읽어와서 Form위에 component를 생성하는데
: 랭귀지 설정을 해놓을경우  DLL에서 리소스를 읽어오도록 되어있는것 뿐입니다.
:
: 즉
:   1) dll 프로젝트를 언어별로 폴더를 따로해서 만드시구요
:   2) 프로젝트에 포함된 form파일을 각언어 폴더에 그대로 복사하여 각 프로젝트에 포함시킵니다.
:       그런다음 폼의 캡션,버튼의 캡션 등을 언어에 맞게 바꾸시구 컴파일 하시구요
:   3) 컴파일된 DLL의 이름을 변경합니다.
:       프로젝트명+쩜+언어
:       예를 들어 project1.exe에 영어 리소스 dll 이름은 project1.ENU 이런식으로요
:   4) 그런다음
:       exe의 프로젝트 파일 project1.cpp에서 폼을 생성하기전에 언어를 설정하시구요
:

: --------------------------------------------------------------------------
: 첨부파일을 간단히 샘플을 만들어 봤습니다.
: 처음해봤는데 잘되네요
: 그럼..
:
:
:
: 김민호.소중한꿈 님이 쓰신 글 :
: : 장성호님 답변 정말 고맙습니다.
: :
: : 다만 "Resource Dll Wizard" 라는 것이 최근 버전에 추가된 것 같습니다. 제가 지금 C++ Builder 2007을 사용중인데, 여기에는 없는 것 같네요. ㅜ.ㅜㅋ... Builder도 버전업이 되면서 개발자들을 위한 도구들이 자꾸 생겨나는군요.
: :
: : 여튼, 아직은 익숙하지가 않아서 시행착오를 거쳐야 하겠지만 장성호님 말씀대로 한 번 시도해 보겠습니다.
: :
: : 그럼 즐프하세요.
: :
: : 장성호 님이 쓰신 글 :
: : : 몇가지 방법이 있는데요..
: : :
: : : 1) 따로 파일로 저장
: : :    Form의 Caption이나
: : :    ComboBox의 Items들이나 등을 모두  따로 Text파일에 저장해 뒀다가
: : :
: : :    Application에서 언어 설정을 바꿀때 ..
: : :    그때 파일의 내용을 모두 읽어와서 폼과 폼위에 올려진 모든 Component들의 string을 변경해줍니다.
: : :
: : :    코딩이 좀 필요하겠죠
: : :
: : :
: : : 2) Resource Dll Wizard 이용
: : :    - 프로젝트를 open한 상태에서
: : :    - 메뉴  File-> New   ->Other 클릭해서 New 탭에 보면
: : :       "Resource Dll Wizard" 라는게 있습니다.
: : :
: : :    - 그걸 선택해서 next-next하다보면  언어 선택하는 창이 나오는데..
: : :        그거시 필요한 언어(한글,영어,일어 등..)들을  선택하시구요
: : :    -   그다음에 Translation Manager 창이 나오는데.. 
: : :         거기서 언어별로 text를 입력하시면 되구요
: : :    -  아니면..
: : :        ProjectGroup에 언어별로 project가 추가되는데..
: : :       예를 들어 프로젝트명이 Project1이면
: : :            한글은 Project1.KOR
: : :            영어는 Project1.ENU
: : :        해당 프로젝트를 열면 Project1에 있는 폼과 똑같은 폼이 있습니다.
: : :        그 폼에서 caption등을 변경하시면 됩니다.
: : :
: : :     - 컴파일 하면
: : :       Project1.exe 하나와  Project1.ENU 라는 dll과 Project1.KOR라는 dll이 생성됩니다.
: : :     
: : :    -   Project1.exe 이 시작될때 register에서 언어 설정을 읽어와서
: : :    -  언어가 영어면 Form을 생성할때  Project1.ENU 라는 dll에서 리소스를 읽어서 폼을 생성하고
: : :       언어가 한국어이면 Project1.KOR이라는 dll에서 리소스를 읽어와서 폼을 생성합니다.
: : :
: : :     - 언어 설정의 변경은?
: : :      윈도우s 레지스터리 "Software\\Borland\\Locales" 에 정보가 기록됩니다. (최신버젼을 잘모르겠음)
: : :     
: : :       http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=50790
: : : 
: : :     언어 설정을 바꾼다고 해서 곧바로 폼에 언어가 변경되는것은 아닙니다.
: : :     Form을 생성할때 참조할 resource-dll 을 변경한 것 뿐이니..
: : :     실제로 다시 폼을 생성해야 되겠쬬
: : :
: : :    
: : :    두번째 방법은 메뉴에서 언어 설정 변경하는 즉시
: : :    실시간으로 모든 caption을  변경하기는 까다로운 부분이 있으니
: : :    그럴경우 첫번째 방법을 이용하시는것이 좋을것 같구요..
: : :
: : :    다양한 언어 지원, 편리한 변경등을 하고자 할땐..
: : :    "Resource Dll Wizard" 를 이용하는방법도 괜찮을것 같습니다.
: : :
: : :
: : : 그럼..
: : : 
: : :
: : : 김민호.소중한꿈 님이 쓰신 글 :
: : : : 지금 현재 프로그램을 하나 만들고 있는 중입니다.
: : : :
: : : : 그런데 사용자 측에서 메뉴를 옵션에서 한글 또는 영어로 선택할 수 있도록 해줄 수 있는지를 요구하였습니다.
: : : :
: : : : 제가 지금껏 이렇게 해본 적이 없어서 조금 막막한데요. 뭔가 리소스 부분을 건드려야하는 것인지요?
: : : :
: : : : C++ Builder에서 메뉴를 한글, 영어로 바꿀 수 있도록 프로그래밍 하는 방법이 어떤 것인지를 알고 싶습니다.
: : : :
: : : : 그럼, 다들 즐프하세요.

+ -

관련 글 리스트
60209 메뉴를 한글, 영어 두가지 중 선택할 수 있도록 하고 싶습니다. 김민호.소중한꿈 1105 2010/02/10
60216     Re:메뉴를 한글, 영어 두가지 중 선택할 수 있도록 하고 싶습니다. 제리압빠. 1411 2010/02/10
60224         Re:Re:답변 정말 감사합니다. 김민호.소중한꿈 1051 2010/02/10
60210     Re:메뉴를 한글, 영어 두가지 중 선택할 수 있도록 하고 싶습니다. 장성호 1705 2010/02/10
60213         Re:Re:답변은 정말 고맙습니다만... ㅜ.ㅜ... 김민호.소중한꿈 1040 2010/02/10
60267             Re:Re:Re:답변은 정말 고맙습니다만... ㅜ.ㅜ... 친구 1151 2010/02/18
60217             Re:Re:Re:답변은 정말 고맙습니다만... ㅜ.ㅜ... 장성호 1207 2010/02/10
60221                 Re:Re:Re:Re:대단하시네요. 정말 고맙습니다. 김민호.소중한꿈 1231 2010/02/10
60223                     Re:Re:Re:Re:Re:대단하시네요. 정말 고맙습니다. 장성호 1181 2010/02/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.