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
[1970] Re:파일검색에 대한 질문...
박지훈.임프 [cbuilder] 3700 읽음    1999-09-20 00:00
: 제가 하려는 것은 파일생성과 검색에 대한 문의사항입니다.
: 파일생성은 어떻게 하는지요.. 그리고 파일이 있는지 없는지 검색을 할수 있는 방법은 어떻게 하는지요...
: shellexecute 함수를 이용해서... 그림판을 띄움니다. 먼저 화일의 이름을 지정해 주는 것인데..(화일생성)
: 그 전에  화일을 생성해주는 것 같은데... 어떻게 해야 하는지요.. 그리고 이 화일을 그림판에서 연결을 해야 하거든요
: 그 생성된 파일을 보여주는 것입니다.
: 즉 파일명을 미리 지정해 주는 것입니다.
: 어떻게 하는지 방법을 모르겠어요...
: 기존에 존재하는 화일명을 지정해 주면 열리거든요...그것도 고정적으로 .말입니다.
: 고정적으로 지정해주는 것 말고 사용자가 등록한 화일명을 열수 있는 방법을 아시면 알려주세요..
: 그럼 즐거운 하루되시길....
: 답변 부탁합니다...
:



임펠리테리입니다.

질문 내용이 좀.. 앞뒤가 이해가 힘들군요. 일단 파일이 있는지를 검사해보려면,
FileExists() 함수를 사용하면 됩니다. 인자로 검사하려는 대상 파일의 패스를
넘겨주면, 존재할 경우 true를, 없으면 false를 리턴합니다. 비슷하게, 디렉토리가
존재하는지의 여부는 DirectoryExists() 함수를 쓰면 됩니다.

그리고.. "고정적으로 지정하지말고"라는 말은.. 아마도, 윈도우즈의 쉘 자체에
등록하지 않도록 하고싶다는 뜻이겠죠? 그러니까, 쉘에 등록은 하지 말고,
특정 파일을 그림판으로 열고 싶다는 뜻으로 해석하겠습니다.

먼저 약간 설명을... ShellExecute() 함수는, 글자 그대로, 윈도우즈의 쉘, 즉 탐색기를
통해서 실행키는 함수입니다. 그러므로 만약 실행시키려는 파일이 실행가능한 파일이
아니면 쉘에 등록된 연결 프로그램을 실행시키고, 인자로 해당 파일을 넘겨주죠.
이보다 조금 더 저수준의 함수로는 WinExec()와 CreateProcess() 함수가 있습니다.
이들 함수는 그냥 무식하게 넘겨준 파일이름을 실행시킵니다. 두 함수의 차이는,
WinExec()는 16비트 함수로서 인자리스트가 단순하여 사용하기 편한 반면 세세한 제어는
힘들고, CreateProcess()는 32비트 함수로, 복잡한 인자를 가져서 조금 사용하기
불편하지만 대신 더 세밀한 제어가 가능하다는 겁니다.

만약 특정 실행파일(말씀하신 경우에는 그림판)을 실행시키면서 특정 파일을 오픈하도록
하는 거라면 WinExec() 정도의 함수를 쓰면 충분합니다.
WinExec() 함수의 사용법은 정말 간단해서, 그냥 단순히 컴맨드라인 형식을 그대로
넘겨주면 됩니다.
WinExec("pbrush.exe c:\\test.bmp", SW_SHOWNORMAL);
이렇게 하면 되죠. 만약 데이터파일 이름이 다른 변수에 저장되어 있다면,
WinExec(AnsiString("pbrush.exe ") + DataFile, SW_SHOWNORMAL);
이정도면 됩니다.

물론 이런 용도로 ShellExecute()를 사용하셔도 됩니다. ShellExecute()함수는
넘겨준 이름이 실행가능한 파일일 경우는 그 파일을 직접 실행하니까요.
하지만, 이 함수는 쉘을 통해서 실행을 시도하므로 약간의 메모리와 속도의 낭비를
가져올 수 있습니다. 물론 별다른 문제가 되지 않는다면 써도 무방합니다.

그럼 참고하시길...

+ -

관련 글 리스트
1966 파일검색에 대한 질문... 홍승미 3313 1999/09/17
1970     Re:파일검색에 대한 질문... 박지훈.임프 3700 1999/09/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.