Computer Science/etc

[ASP] 기본 문법 (선언, 생성, 논리)

Bay Im 2025. 3. 22. 15:50

ASP 기본 문법 1 (선언, 생성, 논리)

  • 선언 및 생성
    • Dim (변수 선언)
      • ex) Dim strName
    • Set (객체 생성)
      • ex) Set rs = Server.CreateObject(”ADODB.RecordSet”)
  • 논리 구문
    • IF ~ THEN (조건 적을 때)
    • SELECT CASE (조건 많을 때)
    • FOR ~ NEXT (반복횟수 알 때)
    • DO WHILE (반복횟수 모를 때, 조건사용)
  • 태그
    • ASP 코드는 <% 로 시작하여 %>로 끝난다.
    • <% =변수명 %>
    • 파일명은 .asp
    • 예시 코드
      • <!DOCTYPE html>
        <html>
        	<body>
        		<% DIM name
        			name = Request.QueryString("name")
        			IF name <> "" THEN %>
        			<h2>Hello <%= name %>!</h2>
        			<% ELSE %>
        				<h2>Please enter name!</h2>
        			<% END IF %>
        			<form method = "GET">
        				<input type = "text" name = "name">
        				<input type = "submit" value="Say Hello">
        			</form>
        	</body>
        </html>



  • DIM - 변수 선언
    • 타입 정할 필요 없이 대입하는 값에 따라 자동으로 변화한다.  
    • 기본 형식
      • DIM 변수명
      • DIM 변수명1, 변수명2, 변수명3
        • 동시 선언 가능
      • DIM 변수명(n)
        • 배열 변수
        • 배열 갯수 n개
      • DIM 변수명()
        • 갯수 정해지지 않은 배열 변수 선언 후 갯수 재할당
        • 배열은 0부터 시작
      • ReDim 변수명(n)
        • 갯수 정해지지 않은 배열 변수 선언 후 갯수 재할당
        • 배열은 0부터 시작
    • 예시
      • DIM myvar
        • myvar = “값할당”
      • DIM myvar2(2)
        • myvar2(0) = “배열1”
        • myvar2(1) = “배열2”
        • myvar2(2) = “배열3”
      • DIM myvar3()
      • ReDim myvar4(2)
    • 변수명 규칙
      • 마침표 사용 불가
      • 256자 미만
      • 변수명은 프로그램에서 유일하도록 작성
      • 알파벳 문자로 시작

 

  • Set - 인스턴스 생성
    • 기본 형식
      1. 변수 선언
        • Dim 인스턴스명
      2. 인스턴스 생성
        • Set 인스턴스명 = Sever.CreateObject(”객체”)
      3. 값 할당
        • 인스턴스명.변수명 = “값”
          • ex) myPhone.color = “white”
      4. 메소드 실행
        • 인스턴스명.함수명()
        • 인스턴스명.함수명(인자값)
      5. 모든 작업 완료 후 메모리 해제
        • Set 인스턴스명 = Nothing
    • 예시
      • DIM myPhone
        Set myPhone = Server.CreateObject("Telephone.Handphone")
        
        '값할당
        myPhone.color = "white"
        myPhone.number = "010-111-1111"
        
        '메소드실행
        myPhone.call("02-111-1111")
        myPhone.hangup()
        
        Set myPhone = Nothing


  • WITH - END WITH
    • 여러 문장에 걸쳐 동일한 객체의 문장이 있을 경우 WITH 문을 사용하면 객체의 이름을 여러번 입력하지 않아도 된다.
    • 예시
      • Set 객체명 = Server.CreateObject("ADODB.Command")
        	WITH 객체명
        		.name
        		.age
        	END WITH


  • IF ~ THEN - 조건문 (조건 적을 때)
    • 기본 형식
      • IF 조건문 THEN
        	실행할 구문
        ELSEIF 조건문 THEN
        	실행할 구문
        ...
        ELSE
        	실행할 구문
        END IF
    • 예시
      • IF intNum = 1 THEN
        	Response.Write "intNum은 1"
        ELSEIF intNum = 2 THEN
        	Response.Write "intNum은 2"
        ELSE
        	Response.Write "intNum은 n"
        END IF
        
        '태그예시
        <% IF Hour(Now) < 12 THEN %>
        지금은 오전
        <% ELSE %>
        지금은 오후
        <% END IF %>


  • SELECT CASE - 조건문 (조건 많을 때)
    • 기본 형식
      • SELECT CASE 변수명
        CASE 값1
        	실행할 구문
        CASE 값2
        	실행할 구문
        ...
        CASE ELSE
        	실행할 구문
        END SELECT
    • 예시
      • SELECT CASE intNum
        CASE 1
        	Response.Write "intNum은 1"
        CASE 2
        	Response.Write "intNum은 2"
        ...
        CASE ELSE
        	Reponse.Write "intNum은 n"
        END SELECT


  • FOR ~ NEXT - 반복문 (반복횟수 알고있을 때)
    • 기본 형식
      • DIM 변수명
        FOR 변수명 = 시작값 TO 끝값 STEP 증가값
        	실행할 구문
        NEXT


    • 예시
      • DIM intLoop
        FOR intLoop = 1 TO 1000 STEP 1
        	Response.Write intLoop & "<BR>"
        NEXT
        
        '태그예시
        <% FOR i = 1 TO 10 STEP 2 %>
        	출력문자 <br>
        <% NEXT %>


  • DO WHILE ~ LOOP - 반복문 (횟수 모를 때, 조건 검사)
    • 기본 형식
      • DIM 변수명
        변수명 = 값할당
        DO WHILE 조건문
        	실행할 구문
        LOOP
    • 예시
      • DIM intLoop
        intLoop = 1
        DO WHILE intLoop <= 100
        	Response.Write intLoop & "<BR>"
        	intLoop = intLoop + 1
        LOOP
  • 기타
    • 문자열 출력 함수
      • Response.Write “문자열”
    • 줄바꿈
      • <br> 태그 사용

 

 

728x90