어떤 프로그램이던지 (스크립트, VB,C/C++등등) 조금이라도 해보신분은 금방 아하~ 하고 아실테지만 아니신 분들은..이게뭐지..싶을지도 모르겠습니다.
사용자 함수 추가
스크립트에 함수를 추가 하기 위해서는 prototype을 정의 하고
function body를 작성합니다.
//프로토 타입 정의
protype GetPathParts(STRING, BYREF STRING, BYREF STRING, BYREF STRING);
//function block 작성
function GetPathParts(szFullPath, svDrv, svPath, svName)
LONG lResult; //사용할 변수를 정의 합니다. begin // 함수의 실제 내용 시작 lResult = ParsePath(svDrv, szFullPath, DISK); if (lResult = 0) then lResult = ParsePath(svPath, szFullPath, DIRECTORY); endif; if (lResult = 0) then
lResult = ParsePath(svName, szFullPath, FILENAME); endif; return lResult;
end; //함수의 끝 리턴값은 주로 함수의 에러값을 리턴하며, 숫자값이 아니거나 여러개일경우 함수에 넘겨주는 변수 값을 BYREF 를 이용해서 정의 합니다.(
즉 기본적으로 인스톨쉴드는 By Value방식으로 값을 전달 합니다
////////////////////////////////////////////////////////////////////////
정의방법
// Constant definitions
#define PRODUCT "InstallShield" #define LIMIT 100 // Variable declarations
CHAR cVal; NUMBER nVal; STRING szName; // Function declarations prototype DisplayMsg (NUMBER, STRING); prototype GetName (BYREF STRING); ////////////////////////////////////////////////////////////////////////
Data Type
여러가지 데이타 타입이 있는데 세가지만 설명합니다.
숫자 데이타는 NUMBER
문자데이터는 STRING
리스트데이터는 LIST
가장 많이 쓰는 데이타 타입입니다. 나머지 타입은 Help를 참조해주시기 바랍니다.
//////////////////////////////////////////////////////////////////////
기타 많이 쓰는 문법구문(예제는 Help에서 가져왔습니다.)
IF문
if (condition) then
// statements to be executed if condition is true endif; FOR문
for iCount = 1 to 10
MessageBox ("This appears ten times.", INFORMATION); endfor; for iCount = 10 to 100 step 10 MessageBox ("This appears ten times.", INFORMATION); endfor; WHILE문
nCount = 1; while (nCount < 5)
MessageBox ("This is still true.", INFORMATION); nCount = nCount + 1; endwhile; SWITCH문
STRING szMsg, svResult; NUMBER nvResult; GetSystemInfo (VIDEO, nvResult, svResult);
switch (nvResult) case IS_UNKNOWN: szMsg = "The user's video is unknown."; case IS_EGA: szMsg = "EGA resolution."; case IS_VGA: szMsg = "VGA resolution."; case IS_SVGA: szMsg = "Super VGA (800 x 600) resolution."; case IS_XVGA: szMsg = "XVGA (1024 x 768) resolution."; case IS_UVGA: szMsg = "Greater than 1024 x 768 resolution."; default: szMsg = "Error"; endswitch; MessageBox (szMsg, INFORMATION); |
'프로그래밍 > InstallShield' 카테고리의 다른 글
인스톨 쉴드 강좌 (0) | 2009.07.27 |
---|---|
인스톨쉴드 플로그램 두개 설치 (0) | 2009.07.17 |
[InstallShield] 시스템 변수(환경변수) path 설정 (0) | 2009.07.16 |
installshield 환경변수 설정 (0) | 2009.07.13 |
InstallShield 사용법 (0) | 2009.07.02 |