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
[42956] Re:Re:현재실행중인 드라이브명이나 최상단 디렉토리 를 가져오려구 하는데요!!
고황일 [hwangil] 1081 읽음    2005-12-16 17:13
어제 폴더 검색 프로그램 만들다가 발견했는데요.
TStrings 클래스에서 Delimiter를 사용할때 공백이 있으면 그것도 하나의 분리자로 인식한다고 합니다.
때문에 "C:\Program Files\Wj Manager" 이런 문자열에서 분리자로 "\"를 쓸 경우에
Strings[0] = "C:"
Strings[1] = "Program"
Strings[2] = "Files"
Strings[3] = "Wj"
Strings[4] = "Manager"
이렇게 반환합니다.

이런한 문제를 회피하기 위해서 경로 문자열의 공백을 Windows에서 경로에 사용 할 수 없는 문자로 대치하고
Delimiter로 구분한 다음 대치 문자를 공백으로 바꾸는 방법을 이용하셔야 할듯합니다.

명확한 답이 아닌 답변을 써서 혼란스럽게 해서 죄송합니다.

고황일 님이 쓰신 글 :
: 제가 전에 썼던 방법인데요
: TStrings의 Delimit를 이용한 방법입니다.
:
:
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
: AnsiString ApplicationPath = "C:\\windows\\systems\\info\\test.bat";  // 테스트를 위해서..
: TStrings *Path = new TStringList;  // 스트링리스트를 만들구요
: AnsiString CurrentDrive;
: AnsiString BaseDirectory;
: AnsiString MSG;
:
:         Path->Delimiter = '\\';   // 분리자는 '\' 이것을 사용합니다. C언어인관계로 '\\'
:         Path->DelimitedText = ApplicationPath; // 분리할 문자열을 넣으시구요
:        // 몇개가 분리되었는지는 Path->Count를 이용하여 질의할 수 있습니다.
:         CurrentDrive = Path->Strings[0]; // 첫번째 분리자 까지의 문자열
:         BaseDirectory = Path->Strings[1]; // 두번째 분리자 까지의 문자열
:
:         MSG = "작업 드라이브 : "+CurrentDrive+"\n"+"베이스 디렉토리 : "+BaseDirectory;
:
:         ShowMessage(MSG); // 화면에 표시...
:
: }
: //---------------------------------------------------------------------------
:
:
: 빌더초자 님이 쓰신 글 :
: : 현재 실행 중인 프로그램의 디렉토리 정보가..
: : 다음과 같다면..
: : D:\BuilderTest\debug\test1\app
: :
: : 최상단의 해당하는 D:\와
: : D:\BuilderTest를 어떻게 가져오죠?
: :
: :
: : 고수님들 좀 알려주세요!!!

+ -

관련 글 리스트
42386 현재실행중인 드라이브명이나 최상단 디렉토리 를 가져오려구 하는데요!! 빌더초자 997 2005/11/08
42391     Re:현재실행중인 드라이브명이나 최상단 디렉토리 를 가져오려구 하는데요!! 고황일 1029 2005/11/09
42956         Re:Re:현재실행중인 드라이브명이나 최상단 디렉토리 를 가져오려구 하는데요!! 고황일 1081 2005/12/16
46941             Re:Re:Re:현재실행중인 드라이브명이나 최상단 디렉토리 를 가져오려구 하는데요!! 고황일 1169 2006/11/01
42392         [답글감사]현재실행중인 드라이브명이나 최상단 디렉토리 를 가져오려구 하는데요!! 빌더초자 879 2005/11/09
42397             Re:[답글감사]현재실행중인 드라이브명이나 최상단 디렉토리 를 가져오려구 하는데요!! 크레브 942 2005/11/09
42388     Re: 원시적인 방법인데 참고하세요. 김태선 981 2005/11/09
42387     Re:현재실행중인 드라이브명이나 최상단 디렉토리 를 가져오려구 하는데요!! elliclaura 935 2005/11/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.