ClassicASP 제어문 - FOR ~ NEXT 문
페이지 정보
본문
1. 반복문의 구조(LOOP)
프로그램을 처리하는 도중 여러 줄의 코드를 반복 실행하고자 할 경우에 사용되는 문장 구조로서 반복되는 코드 수만큼 루프 구조를 사용하면 쉽게 해결할 수 있다.
이렇게 반복해서 실행하는 것을 '루핑'이라고 한다. 변수값을 계속 증가, 감소하면서 스크립트를 실행시키거나 파일을 읽어 들이는데 사용하기도 한다. ASP에서 지원하는 루프 구조는 다음과 같다.
▶ FOR ~ NEXT
▶ FOR EACH ~ NEXT
▶ WHILE ~ WEND
▶ DO WHILE ~ LOOP
▶ DO ~ LOOP WHILE
▶ DO UNTIL~ LOOP
▶ DO ~ LOOP UNTIL
각 구문마다 표현법과 사용법이 약간씩 다르다.
2. FOR ~ NEXT
반복 실행하여야 하는 명령이 일정하고 반복처리하는 루핑의 수를 알고 있을 경우에 For... Next문을 사용한다.
즉, 일정한 회수만큼 무조건 반복하는 문장구조이다.
For 루프는 반복이 계속되는 동안 값을 증가시키거나 감소시키며 루프의 탈출조건을 계산하는 카운터 변수를 사용한다.
For 카운터변수 = 시작값 To 종료값 [Step 증감값]
실행구문1
실행구문2
...
실행구문n
Next
<%
dim i
%>
<select name="DateYear">
<option value="">년</option>
<%
dim year_c : year_c = left(date(),4)
for i = year_c to 2002 step -1 '현재 년도부터 역순으로 표시할때
response.write "<option value='"& i &"'>"& i &"</option>"
next
%>
</select>년
<select name="DateMonth">
<option value="">월</option>
<%
for i = 1 to 9 step 1
response.write "<option value='0"& i &"'>0"& i &"</option>"
next
for i = 10 to 12 step 1
response.write "<option value='"& i &"'>"& i &"</option>"
next
%>
</select>월
<select name="DateDay">
<option value="">일</option>
<%
for i = 1 to 9 step 1
response.write "<option value='0"& i &"'>0"& i &"</option>"
next
for i = 10 to 12 step 1
response.write "<option value='"& i &"'>"& i &"</option>"
next
%>
</select>일
<select name="DateHour">
<option value="">시</option>
<%
for i = 0 to 9 step 1
response.write "<option value='0"& i &"'>0"& i &"</option>"
next
for i = 10 to 23 step 1
response.write "<option value='"& i &"'>"& i &"</option>"
next
%>
</select>시
<select name="DateMin">
<option value="">분</option>
<%
for i = 0 to 9 step 1
response.write "<option value='0"& i &"'>0"& i &"</option>"
next
for i = 10 to 59 step 1
response.write "<option value='"& i &"'>"& i &"</option>"
next
%>
</select>분
2. For Each ~ Next
For Each~Next 문장구조는 For~Next 와 비슷하지만 지정한 횟수만큼 반복순환하지 않고 객체의 컬렉션의 갯수만큼 또는 배열에서 각 요소의 갯수만큼 문장을 반복 또는 순환할 때 사용한다. 이 문장구조는 컬렉션에 몇 개의 요소가 있는지 모를 경우에 유용하게 사용할 수 있다.
For Each 요소 In 객체컬렉션 또는 배열
실행구문
Next
조금 특이하게 사용되는 것인만큼 사용법을 잘 알아두면 유용한데가 많다.
<%
Dim Arr(5)
Arr(0) = "ASP"
Arr(1) = "PHP"
Arr(2) = "JSP"
Arr(3) = "VBscript"
Arr(4) = "Javascript"
For Each element In Arr
Response.Write element & "<BR>"
Next
%>
For Each ~ Next 구문을 사용하면 정해진 수만큼 반복 실행을 하지 않는다는 부분에 주의하자.
For Each element in Arr라는 문장을 통해 배열 개체를 이용하여으로 반복 실행한다는 것을 의미한다.
각각의 배열에 저장되어 있는 요소들의 갯수를 이용하여 배열의 요소들을 순서대로 출력하게 된다. 이런 부분은 컬렉션도 마찬가지이다.
<table width="800" border="0" cellspacing="1" bgcolor="#0000ff">
<tr align="center" bgcolor="#ffffff">
<th>변수이름</th>
<th>값</th>
<%
For Each key In request.serverVariables
Response.Write "<tr bgcolor=#ffffff><td>" & key & "</td>"
if request.serverVariables(key) = "" then
Response.Write "<td> "
else
Response.Write "<td>" & request.serverVariables(key)
end if
Response.Write "</td></tr>"
Next
%>
</table>
ASP에서 사용되는 컬렉션중의 하나를 출력한 것이다.
키와 데이터를 쌍으로 가지고 있는 특별한 개체를 컬렉션이라고 한다.
이렇게 for each 문장구조는 적절히 사용하기만 한다면 유용하게 사용할 수 있는 것이다.
3. Exit For
Exit For 문장은 for 루프를 수행하는 도중 강제로 for 루프를 빠져나가기 위한 명령이다.
<%
for i = 1 to 10
response.write i & "번째 실행입니다.<br>"
if i = 5 then
exit for
end if
next
%>
위의 프로그램은 for문을 이용하여 1 에서 10까지 반복하도록 처리하였지만 i의 값이 5이면 for문을 탈출하도록 만들었다. 즉 더이상 실행하지 않는 것이다.
관련자료
http://flashcafe.org/3764
프로그램을 처리하는 도중 여러 줄의 코드를 반복 실행하고자 할 경우에 사용되는 문장 구조로서 반복되는 코드 수만큼 루프 구조를 사용하면 쉽게 해결할 수 있다.
이렇게 반복해서 실행하는 것을 '루핑'이라고 한다. 변수값을 계속 증가, 감소하면서 스크립트를 실행시키거나 파일을 읽어 들이는데 사용하기도 한다. ASP에서 지원하는 루프 구조는 다음과 같다.
▶ FOR ~ NEXT
▶ FOR EACH ~ NEXT
▶ WHILE ~ WEND
▶ DO WHILE ~ LOOP
▶ DO ~ LOOP WHILE
▶ DO UNTIL~ LOOP
▶ DO ~ LOOP UNTIL
각 구문마다 표현법과 사용법이 약간씩 다르다.
2. FOR ~ NEXT
반복 실행하여야 하는 명령이 일정하고 반복처리하는 루핑의 수를 알고 있을 경우에 For... Next문을 사용한다.
즉, 일정한 회수만큼 무조건 반복하는 문장구조이다.
For 루프는 반복이 계속되는 동안 값을 증가시키거나 감소시키며 루프의 탈출조건을 계산하는 카운터 변수를 사용한다.
For 카운터변수 = 시작값 To 종료값 [Step 증감값]
실행구문1
실행구문2
...
실행구문n
Next
<%
dim i
%>
<select name="DateYear">
<option value="">년</option>
<%
dim year_c : year_c = left(date(),4)
for i = year_c to 2002 step -1 '현재 년도부터 역순으로 표시할때
response.write "<option value='"& i &"'>"& i &"</option>"
next
%>
</select>년
<select name="DateMonth">
<option value="">월</option>
<%
for i = 1 to 9 step 1
response.write "<option value='0"& i &"'>0"& i &"</option>"
next
for i = 10 to 12 step 1
response.write "<option value='"& i &"'>"& i &"</option>"
next
%>
</select>월
<select name="DateDay">
<option value="">일</option>
<%
for i = 1 to 9 step 1
response.write "<option value='0"& i &"'>0"& i &"</option>"
next
for i = 10 to 12 step 1
response.write "<option value='"& i &"'>"& i &"</option>"
next
%>
</select>일
<select name="DateHour">
<option value="">시</option>
<%
for i = 0 to 9 step 1
response.write "<option value='0"& i &"'>0"& i &"</option>"
next
for i = 10 to 23 step 1
response.write "<option value='"& i &"'>"& i &"</option>"
next
%>
</select>시
<select name="DateMin">
<option value="">분</option>
<%
for i = 0 to 9 step 1
response.write "<option value='0"& i &"'>0"& i &"</option>"
next
for i = 10 to 59 step 1
response.write "<option value='"& i &"'>"& i &"</option>"
next
%>
</select>분
2. For Each ~ Next
For Each~Next 문장구조는 For~Next 와 비슷하지만 지정한 횟수만큼 반복순환하지 않고 객체의 컬렉션의 갯수만큼 또는 배열에서 각 요소의 갯수만큼 문장을 반복 또는 순환할 때 사용한다. 이 문장구조는 컬렉션에 몇 개의 요소가 있는지 모를 경우에 유용하게 사용할 수 있다.
For Each 요소 In 객체컬렉션 또는 배열
실행구문
Next
조금 특이하게 사용되는 것인만큼 사용법을 잘 알아두면 유용한데가 많다.
<%
Dim Arr(5)
Arr(0) = "ASP"
Arr(1) = "PHP"
Arr(2) = "JSP"
Arr(3) = "VBscript"
Arr(4) = "Javascript"
For Each element In Arr
Response.Write element & "<BR>"
Next
%>
For Each ~ Next 구문을 사용하면 정해진 수만큼 반복 실행을 하지 않는다는 부분에 주의하자.
For Each element in Arr라는 문장을 통해 배열 개체를 이용하여으로 반복 실행한다는 것을 의미한다.
각각의 배열에 저장되어 있는 요소들의 갯수를 이용하여 배열의 요소들을 순서대로 출력하게 된다. 이런 부분은 컬렉션도 마찬가지이다.
<table width="800" border="0" cellspacing="1" bgcolor="#0000ff">
<tr align="center" bgcolor="#ffffff">
<th>변수이름</th>
<th>값</th>
<%
For Each key In request.serverVariables
Response.Write "<tr bgcolor=#ffffff><td>" & key & "</td>"
if request.serverVariables(key) = "" then
Response.Write "<td> "
else
Response.Write "<td>" & request.serverVariables(key)
end if
Response.Write "</td></tr>"
Next
%>
</table>
ASP에서 사용되는 컬렉션중의 하나를 출력한 것이다.
키와 데이터를 쌍으로 가지고 있는 특별한 개체를 컬렉션이라고 한다.
이렇게 for each 문장구조는 적절히 사용하기만 한다면 유용하게 사용할 수 있는 것이다.
3. Exit For
Exit For 문장은 for 루프를 수행하는 도중 강제로 for 루프를 빠져나가기 위한 명령이다.
<%
for i = 1 to 10
response.write i & "번째 실행입니다.<br>"
if i = 5 then
exit for
end if
next
%>
위의 프로그램은 for문을 이용하여 1 에서 10까지 반복하도록 처리하였지만 i의 값이 5이면 for문을 탈출하도록 만들었다. 즉 더이상 실행하지 않는 것이다.
관련자료
http://flashcafe.org/3764
댓글목록
등록된 댓글이 없습니다.