제어문 - FOR ~ NEXT 문 > 기술자료 | 해피정닷컴

제어문 - FOR ~ NEXT 문 > 기술자료

본문 바로가기

사이트 내 전체검색

제어문 - FOR ~ NEXT 문 > 기술자료

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> &nbsp; "
   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

댓글목록

등록된 댓글이 없습니다.


Total 198건 4 페이지
  • RSS
기술자료 목록
138
ClassicASP   17787  2012-06-11 12:09 ~ 2012-06-11 00:00  
137
ClassicASP   13608  2012-06-11 06:55  
136
ClassicASP   13350  2012-05-30 19:50  
135
ClassicASP   24222  2012-05-21 20:28  
134
ClassicASP   18645  2012-05-18 17:28  
133
ClassicASP   19655  2012-05-18 14:28 ~ 2012-05-25 00:00  
132
ClassicASP   20088  2012-04-27 02:31  
131
ClassicASP   53559  2012-04-24 17:51 ~ 2013-05-12 00:00  
130
ClassicASP   15165  2012-04-19 02:17  
129
ClassicASP   15231  2012-04-18 13:41 ~ 2016-03-30 00:00  
128
ClassicASP   25593  2012-04-17 22:22 ~ 2018-07-10 13:40  
127
ClassicASP   13824  2012-04-17 13:55  
126
ClassicASP   20855  2012-04-02 09:26  
125
ClassicASP   15126  2012-04-01 17:00  
124
ClassicASP   15909  2012-04-01 09:14 ~ 2012-04-01 00:00  
123
ClassicASP   19900  2012-03-27 13:14  
122
ClassicASP   26452  2012-03-26 20:16  
121
ClassicASP   14836  2012-03-24 01:04 ~ 2012-07-30 00:00  
120
ClassicASP   12172  2012-03-23 23:12  
열람
ClassicASP   15912  2012-03-23 21:03 ~ 2013-11-06 00:00  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.