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
[2774] Re:[질문]실행파일에서 파라미터 받아오기
박지훈.임프 [cbuilder] 5682 읽음    2000-01-19 00:00
sunggury 님이 쓰신 글 :
: Tip'N Tricks<25>에서
: 제가 만든 확장명을 등록시키고 실행하는 방법을 배우게 됩습니다..
: 궁금한게 있는데 이전에 저랑 비슷한 질문이 있나 찾아보려 해도
: 찾기 기능이 안되는 것같아 이렇게 질문드립니다..
:
: 만약에 확장명이 .sry 실행화일이 sunggury.exe라면 레지스트리에
: .sry\shell\open\command -> sunggury.exe %1로 등록시키게 되는데..
: 뒤에 붙은 %1에 해당하는 화일을 open 하는 방법을 모르겠어요...
: 제 짧은 생각으로는 프로젝트 파일에서 만져주면 안될까요?
:
: #include <vcl.h>
: #pragma hdrstop
: USERES("sunggury.res");
: USEFORM("Unit1.cpp", Form1);
: //---------------------------------------------------------------------------
: WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
: {
:   try
:   {
:     Application->Initialize();
:     Application->CreateForm(__classid(TForm1), &Form1);
:     Application->Run();
:   }
:   catch (Exception &exception)
:   {
:     Application->ShowException(&exception);
:   }
:   return 0;
: }
:
: 여기서 만져주면 될 것 같은데 LPSTR로 들어오는 게 파일명이 아닌가요..?
: 만약에 unit1.cpp에 public 함수로 openfile(AnsiString filename)이라는 함수가 있다면
: 어떻게 해야 하나요..?
: breakpoint를 걸고 확인을 하고 싶어도 실행시 인자를 넣어주자니 도스에서
: 명령(c:\sunggury.exe 1.sry)을 주거든요..
: 그래서 확인도 못하고 질문을 드립니다..
:
:



임펠리테리입니다.

파라미터를 받아오는 방법은 아주 간단합니다. 특별히 프로젝트 소스의 WinMain과 관계되는 것은
아니구요. ParamStr() 함수를 사용하면 프로젝트 내의 어디에서나 파라미터를 읽을 수 있습니다.
이 함수는 하나의 인자를 갖는데, 여러개의 파라미터가 전달되었을 경우, 그 인덱스입니다.

예를 들어, 말씀하신대로 sunggury.exe라는 실행파일을 만들었고, 다음과 같은 컴맨드라인에서,
sunggury.exe mydata1.dat mydata2.dat
첫번째 파라미터인 mydata.dat를 받아오려면 ParamStr(1)이라고 하면 첫번째 인자를 안시스트링으로
넘겨줍니다. 0번째 인덱스를 지정하면 현재 실행중인 프로그램(자신)의 전체 패스를 돌려줍니다.
그러니까, C:\program files\sunggury\ 라는 디렉토리에 있는 sunggury.exe 파일을 실행된 거라면 0번째
인자는 C:\program files\sunggury\sunggury.exe 가 됩니다.

이와 함께 사용하는 함수로 ParamCount() 함수가 있습니다. 이 함수는 파라미터의 전체 갯수를
리턴합니다. 물론 0번째 파라미터인 자신의 전체패스도 포함한 갯수입니다.

그럼 참고하시길...

+ -

관련 글 리스트
2764 [질문]어플리케이션 실행시 등록된 파일을 열고 싶은데요... sunggury 3888 2000/01/18
2774     Re:[질문]실행파일에서 파라미터 받아오기 박지훈.임프 5682 2000/01/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.