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
[59563] Re:Re:Re:Re:AnsiString문자열에
소병관 [firemansbk] 1384 읽음    2009-12-28 18:20
해결되었습니다^^

정말 감사합니다!!


장성호 님이 쓰신 글 :
: 음..
: 소소코드에서 타이핑할때 \가 두개 필요할뿐이지(타이핑에서만 \\두개가 \실제 한개를 의미함)
: 실제로 문자열에는 구분자 1개만 들어있으면 됩니다.
:
:
: 님의 코드는
:    \를 1개를 지우고
:    \를 1개    다시 삽입한 코드입니다.
:    결론적으로 결과는 변화가 없다고 봐야죠
:
:
: 아래 코드는 그냥 다음과 같이 하면될듯 하네요
:
: 이미 OpenDialog->FileName 에 폴더구문자\는 문제없이 들어가 있습니다.
: Excel 에서 AnsiString을 지원하지는 않으니 char* 로 넘기시면 될듯 하네요
: 그리고 Excel실행부분은 조건문 안으로 넣구요
:
:
:          if(OpenDialog->Execute())
:          {
:                  Variant ex=Variant::CreateObject("Excel.Application");
:                  ex.OlePropertyGet("WorkBooks").OleProcedure("Open",OpenDialog->FileName.c_str()); 
:                  Variant awb=ex.OlePropertyGet("ActiveWorkBook");
:          }
: 

:
: 그럼..
:
: 소병관 님이 쓰신 글 :
: : 제가 만드는 프로그램에서는 불러오는 파일명이나 디렉토리가 확실히 구분되어 있지 않다는 가정이 되어있어서
: : 다이얼로그에서 불러온 파일 이름에 자동으로 추가하게끔 하려고 하거든요.
: :
: :         int iFileNameLn;
: :         int iPos;
: :         AnsiString strExFileName;
: :
: :         if(OpenDialog->Execute())
: :         {
: :                 strExFileName = OpenDialog->FileName;
: :
: :                 iFileNameLn = strExFileName.Length();
: :
: :                 for(int i = 0; i < iFileNameLn; i++)
: :                 {
: :                         if(strExFileName.IsPathDelimiter(i))
: :                         {
: :                                 strExFileName.Delete(i,1);
: :                                 strExFileName.Insert("\\",i);
: :                                 i=i+2;
: :                                 iFileNameLn++;
: :                         }
: :                 }
: :                 ShowMessage(strExFileName);
: :         }
: :         Variant ex=Variant::CreateObject("Excel.Application");
: :         ex.OlePropertyGet("WorkBooks").OleProcedure("Open",strExFileName);     <-------에러나는 부분
: :         Variant awb=ex.OlePropertyGet("ActiveWorkBook");
: :
: : 이런식으로 소스를 짜봤는데 에러가 나네요^^;;
: : 뭐가 잘못된건지 좀 봐주시면 감사하겠습니다.
: :
: :
: :
: :
: :
: : 장성호 님이 쓰신 글 :
: : : 코드에서 입력할때는 한번더 타이핑하시면 됩니다.
: : :
: : : String sDir = "C:\\MyFolder\\file.txt";
: : :
: : : 이런식으로요
: : :
: : : 그럼..
: : :
: : : 소병관 님이 쓰신 글 :
: : : : 안녕하세요. Builder 6를 사용하고 있는 초짜학생입니다.
: : : :
: : : : Opendialog로 Excel 파일을 불러와서 data값을 읽어 오려고 하는데
: : : :
: : : : 파일이름을 불러왔을때 디렉토리를 구분하는 "\"가 하나 부족해서 에러가 나더군요
: : : :
: : : : 그래서 "\"를 추가하려고 하는데 이것도 추가가 안되네요...
: : : :
: : : : 방법이 없는건가요... 고수분의 도움을 요청합니다...

+ -

관련 글 리스트
59558 AnsiString문자열에 "\" 문자 삽입 가능한가요? 소병관 1396 2009/12/28
59559     Re:AnsiString문자열에 장성호 1307 2009/12/28
59561         Re:Re:AnsiString문자열에 소병관 1204 2009/12/28
59562             Re:Re:Re:AnsiString문자열에 장성호 1219 2009/12/28
59563                 Re:Re:Re:Re:AnsiString문자열에 소병관 1384 2009/12/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.