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

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

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

번호 제목 글쓴이 날짜 조회
3105 GD 라이브러리란 13 김영철 01.14 3129
3104 다운로드에 관한 1원짜리팁 13 김영철 01.14 2624
3103 옥션판매자용 판매자의 다른 상품보기 13 김영철 01.14 2467
3102 HTML 하드코더 13 김영철 01.14 1960
3101 urlencode 13 김영철 01.14 2692
3100 숫자앞에 0붙이기 13 김영철 01.14 2813
3099 항상 새로 고침 13 김영철 01.14 2505
3098 다른 SMTP 서버 이용하여 메일 보내기 13 김영철 01.14 2718
3097 띠 구하는 함수 13 김영철 01.14 3256
3096 -1000 까지 누락된 숫자 구하기 13 김영철 01.14 2742
3095 이미지의 크기, 타입 정보 가져오기 13 김영철 01.14 3134
3094 [함수] 초를 시간 분 초로 바꿈.. 13 김영철 01.14 2603
3093 요일 구하기 함수 13 김영철 01.14 2731
3092 php.net 의 mysql 관련 함수 및 예제 13 김영철 01.14 2722
3091 APM에서 utf-8 구현 방법 13 김영철 01.14 2306
3090 utf-8 사용시 설정 - db의 입출력을 완벽하게 utf-8 13 김영철 01.14 2446
3089 PHP로 작동하는 RSS 읽는 함수 13 김영철 01.14 2229
3088 EditPlus V2.30 되면서 눈에띄는 달라진점 7가지 13 김영철 01.14 2440
3087 오라클 캐릭터 셋 변경 M 최고의하루 01.12 3599
3086 체크박스 배열을 edit 수정페이지로 불러오기 M 최고의하루 01.12 3368
3085 config 배열. 99 단국강토 01.08 2771
3084 Rewrite 99 단국강토 01.08 2600
3083 특정폴더에서 파일을 이미지파일을 들고와서 선택시..이미지 변환 99 단국강토 01.07 2639
3082 book_shop 99 단국강토 01.07 2789
열람중 Sub와 Function 차이점 99 단국강토 01.06 2640
3080 PUTTY Telnet , SSH 접속 프로그램 99 단국강토 01.06 2881
3079 VBScript 온라인 도움말 Ver 5.5 99 단국강토 01.05 2862
3078 스마택 Ver 0.2 ( 소스 자동 정렬 프로그램 ) 99 단국강토 01.05 2892
3077 # 제목을 입력하는 곳 (넓은 사이즈) M 최고의하루 01.03 2519
3076 Editplus v3.0 (문서 편집기) M 최고의하루 01.03 2842
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취