강의 컨설팅 트레이닝 무료진단 무료책자 마케팅편지 마케팅정보공유 다이어리 서비스제휴 고객센터

Sub와 Function 차이점
작성자 : 99 단국강토
등록날짜 : 2009.01.06 10:03
1,886

Sub ... End Sub, Function ... End Function  둘의 차이점

 

 공통점

- 특정 부분의 작업을 수행한다.

- 계산이나 작업의 처리를 위해서 필요한 값을 넘겨받을 수 있다.

 차이점

- Sub 는 작업을 처리하지만, 결과값을 리턴시키지는 않는다

- Sub 는 작업의 처리를 위해서 일정한 자료를 받거나 받지 않을 수 있다. 

- Function 은 작업을 수행하고, 결과값을 리턴한다.

- Function 은 작업의 처리중에 필요한 자료를 함수에 전달해야 한다.

Function 은 작업의 결과를 리턴하기 위해서는 함수와 같은 명칭의 변수명에 값을

  넣어서 되돌려 보내야 한다.

 호출예

- Sub : <% Call Sub_name(값)%>

- Function : <% 변수명 = Finction_name (값)%>

 

 

우선 결과만을 적어보았습니다.

서브프로시저(Sub)나 함수(Function)를 사용하는 까닭이 무엇일까요?

사실 ASP 코딩은 엄청난 노가다를 필요로 할 때가 많습니다.

html 사이 사이에 ASP 코드를 절묘하게 집어넣어야 하는 것은 눈도 아프고

머리도 아프고 그렇습니다.

그런데, 한번 작성한 ASP 코드를 재사용해야 할 경우도 많습니다.

예를 들자면 『 유용한 ASP 예제 』포럼에 있듯이 html 코드를 text 로 변환하는 것이나

숫자를 받아서 화폐형식으로 변환시킨다던가 하는 것 이겠죠.

우리는 여기서 예제로 임의의 숫자를 받아서 브라우저에 구구단 형식으로 변환시키는

것으로 하겠습니다.

처음 코딩을 시작할 때 서브프로시저나 함수로 변환할 수 있는 것은 변환시키는

것이 편하고 나중에도 좋을 것이라는 생각은 하면서도 나 자신도 그렇게 되지 않더군요.

그래서 한군데 소스가 변하면 몇군데를 일일이 쫒아다니면서 수정을 해야하는

이 단순함....

앞으로는 서브나 함수를 잘 이용해 보자는 생각에 쉽게 정리를 하고자 합니다.

 

Function 의 예제 

<%
function calcu(test)
for i = 1 to 20
value = test * i
'response.write test & " * " & i & " = " & value & "<br>"  이것은 나중에 Sub로 변환시

사용할 것임
calcu = calcu & test & " * " & i & " = " & value & "<br>"  
'리턴값을 함수명과 같은 calcu 로 넘기는 것에 주목해주세요..

next 
End function

%>
<html>
<head>
<title>이십단</title>
<script language="javascript">
<!--
function num_check()
{
for (var i=0; i<document.form.gugu_num.value.length; i++)
{
if (!(document.form.gugu_num.value.charAt(i) >= '0' && 
document.form.gugu_num.value.charAt(i) <= '9'))
{
alert("숫자만 계산을 할수 있단다.")
document.form.gugu_num.value="";
return false;
}


document.form.gugu_num.focus 
return true;
}
//-->
</script>
</head>
<body>

<br>
<form name="form" action = "test.asp" method="post">
구구단을 외고 싶은 수 : <input type="text" name="gugu_num" size="10" maxlength="10">
<input type="submit" name="submit" value="눌러주세요" onclick="num_check();">
</form>
<%
gugu_num = trim(request("gugu_num"))
if gugu_num <> "" then
response.write gugu_num & " 단 입니다.<p>"
response.write calcu (gugu_num)
'
calcu gugu_num   Sub 에서 사용할 코드

end if
%>

</body>
</html>

Sub 의 예제 

<%
Sub calcu(test)
for i = 1 to 20
value = test * i
response.write test & " * " & i & " = " & value & "<br>"
'calcu = calcu & test & " * " & i & " = " & value & "<br>"  Function 일때 쓴 코드

next 
End Sub

%>
<html>
<head>
<title>이십단</title>
<script language="javascript">
<!--
function num_check()
{
for (var i=0; i<document.form.gugu_num.value.length; i++)
{
if (!(document.form.gugu_num.value.charAt(i) >= '0' && 
document.form.gugu_num.value.charAt(i) <= '9'))
{
alert("숫자만 계산을 할수 있단다.")
document.form.gugu_num.value="";
return false;
}


document.form.gugu_num.focus 
return true;
}
//-->
</script>
</head>
<body>

<br>
<form name="form" action = "test.asp" method="post">
구구단을 외고 싶은 수 : <input type="text" name="gugu_num" size="10" maxlength="10">
<input type="submit" name="submit" value="눌러주세요" onclick="num_check();">
</form>
<%
gugu_num = trim(request("gugu_num"))
if gugu_num <> "" then
response.write gugu_num & " 단 입니다.<p>"
'response.write calcu (gugu_num)      Function 일때 쓴 코드
calcu gugu_num

end if
%>

</body>
</html>

 

 

출처 : http://www.asprun.co.kr/main/default.htm

"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기,
각종 광고, 영업, 판매, 제안서, 전단지
반응율 3배×10배 이상 높이는 마법의 8단계 공식"
자세히보기

Comments

번호 제목 글쓴이 날짜 조회
3015 APM에서 utf-8 구현 방법 13 김영철 01.14 2587
3014 utf-8 사용시 설정 - db의 입출력을 완벽하게 utf-8 13 김영철 01.14 2003
3013 PHP로 작동하는 RSS 읽는 함수 13 김영철 01.14 2078
3012 EditPlus V2.30 되면서 눈에띄는 달라진점 7가지 13 김영철 01.14 2350
3011 오라클 캐릭터 셋 변경 M 최고의하루 01.12 3460
3010 체크박스 배열을 edit 수정페이지로 불러오기 M 최고의하루 01.12 3800
3009 config 배열. 99 단국강토 01.08 2517
3008 Rewrite 99 단국강토 01.08 3111
3007 특정폴더에서 파일을 이미지파일을 들고와서 선택시..이미지 변환 99 단국강토 01.07 3061
3006 book_shop 99 단국강토 01.07 2945
열람중 Sub와 Function 차이점 99 단국강토 01.06 1887
3004 PUTTY Telnet , SSH 접속 프로그램 99 단국강토 01.06 3754
3003 VBScript 온라인 도움말 Ver 5.5 99 단국강토 01.05 3004
3002 스마택 Ver 0.2 ( 소스 자동 정렬 프로그램 ) 99 단국강토 01.05 2204
3001 # 제목을 입력하는 곳 (넓은 사이즈) M 최고의하루 01.03 2166
3000 Editplus v3.0 (문서 편집기) M 최고의하루 01.03 3074
2999 [ JSP ] 브라우저 인코딩이 자동으로 한글이 안되는 경우 해결법 99 단국강토 01.02 2860
2998 [ JS ] 버튼을 이용한 이미지 넘기기 ( 이미지 리스트 ) 99 단국강토 01.02 2878
2997 [AJAX] 자바스크립트에서 XML 파일 읽어 오기 99 단국강토 12.30 3156
2996 [AJAX] DOMDocument 에서 selectSingleNode 을 이용한 XML 노드 (Node) 찾기 99 단국강토 12.30 2988
2995 [ JS , AJAX ] DOM 크로스브라우징 : 원하는 노드 찾기 [ createDocument , DOMDocument ] M 최고의하루 12.26 2488
2994 외부링크 금지하는 방법 M 최고의하루 12.26 2139
2993 오늘 하루 창 열지 않기 M 최고의하루 12.24 3303
2992 DLL화일 레지스트리에 등록 또는 삭제 하기 M 최고의하루 12.24 3307
2991 팝업창 닫고 프레임이 있는 부모창에서 원하는 페이지로 이동하기 M 최고의하루 12.23 2913
2990 [펌] 제11강 - ADO(Active Database Object) - Database Access Component Cobol vs C#-2 M 최고의하루 12.23 2103
2989 [펌] 제11강 - ADO(Active Database Object) - Database Access Component Cobol vs C#-1 M 최고의하루 12.23 3979
2988 [펌] 제12강 - 방명록 만들기 I M 최고의하루 12.23 5324
2987 [펌] 제13강 - 방명록 만들기 II M 최고의하루 12.20 2385
2986 [펌] 제14강 - 방명록 만들기 III M 최고의하루 12.20 2497
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취