[문과 코린이의 IT 기록장] ASP 기본 문법 (Now, Hour(), IF~THEN(조건문), ASP 선언 및 생성 / 논리 구문, ASP 데이터 타입, ASP 타입 변환 함수)
1. Now, Hour(), IF~THEN(조건문)
<HTML>
<HEAD>
<meta charset="UTF-8">
<TITLE>Welcome To Dukyoung.net</TITLE>
</HEAD>
<BODY>
<CENTER>
<% IF Hour(Now) < 12 THEN %>
지금은 오전입니다.
<% ELSE %>
지금은 오후입니다.
<% END IF %>
</CENTER>
</BODY>
</HTML>
a. Now : 컴퓨터 시스템의 현재 시간
b. Hour()함수 : 인자로 들어온 시간 중, 시만 반환해줌
cf) 년을 나타내는 Year(), 월을 나타내는 Month(), 일을 나타내는 Day()
c. IF ~ THEN (조건문)
IF 조건 THEN
참일 때의 처리 실행
ELSE
거짓일 때의 처리 실행
END IF
2. ASP 선언 및 생성 / 논리 구문
[ 선언 및 생성 ]
a. Dim : 변수를 선언 ex. Dim strName, intNumber
- C나, C++, JAVA 등 대부분의 다른 프로그램에서는 선언하지 않은 변수를 사용하거나, 정확하게 사용되지 않은 변수를 사용하면 오류가 발생한다. 그러나, ASP는 변수 선언을 하지 않고 변수를 사용해도 오류를 발생시키지는 않는다.
b. Set : 개체의 인스턴스를 생성
ex1. Set rs = Server.CreateObject("ADODB.RecordSet"))
- Server.CreateObject라는 특별한 메소드를 사용하여, RecordSet 개체의 인스턴스를 만들어, rs라는 변수에 저장했다.
ex2. Set myPhone = Server.CreateObject("Telephone.Handphone")
- Server.CreateObject라는 특별한 메소드를 사용하여, HandPhone 개체의 인스턴스를 만들어, myphone이라는 변수에 저장했다.
- 즉, 이제 myPhone이라는 것을, Handphone으로 사용할 수 있게 된 것이다. ex. myPhone.color="white" ...
- 모든 작업을 완료한 다음에는, Set myPhone = Nothing이라는 구문을 사용해, 개체의 인스턴스인 myPhone을 메모리에서 해제한다.
[ 논리 구문 ]
c. IF ~ THEN : 만약 ~라면 (조건이 적은 경우)
IF intNumber = 1 THEN
Response.Write "intNumber 에 들어있는 수는 1입니다!"
// Response.Write : 현재 화면에 문자열을 보여주라는(출력하라는) 함수
ELSEIF intNumber = 2 THEN
Response.Write "intNumber 에 들어있는 수는 2입니다!"
ELSEIF intNumber = 3 THEN
Response.Write "intNumber 에 들어있는 수는 3입니다!"
ELSE
Response.Write "intNumber 에 들어있는 수는 1,2,3 이 아닌 다른 숫자입니다!"
END IF
d. SELECT CASE : 만약 ~라면 (조건이 많은 경우)
SELECT CASE intNumber
CASE 1
Response.Write "intNumber 에 들어있는 수는 1입니다!"
CASE 2
Response.Write "intNumber 에 들어있는 수는 2입니다!"
CASE 3
Response.Write "intNumber 에 들어있는 수는 3입니다!"
CASE 4
Response.Write "intNumber 에 들어있는 수는 4입니다!"
CASE 5
Response.Write "intNumber 에 들어있는 수는 5입니다!"
CASE 6
Response.Write "intNumber 에 들어있는 수는 6입니다!"
CASE 7,8,9
Response.Write "intNumber 에 들어있는 수는 7,8,9 중 하나입니다!"
CASE 10
Response.Write "intNumber 에 들어있는 수는 10입니다!"
CASE ELSE
Response.Write "intNumber 에 들어있는 수는 1부터 10 사이의 정수가 아닙니다."
END SELECT
e. FOR~NEXT : 순환하면서 실행 (반복(실행) 횟수를 정확하게 알고 있을 때)
DIM intLoop
FOR intLoop = 1 TO 10000 STEP 1
Response.write intLoop & "<BR>"
NEXT
// FOR 시작 TO 끝 STEP증가
// 반복되어 실행될 구문
// NEXT
f. DO WHILE : 순환하면서 실행 (반복(실행) 횟수를 정확하게 알 수 없을 때)
DIM intLoop
intLoop = 1
DO WHILE intLoop <= 10000
Response.write intLoop & "<BR>"
intLoop = intLoop + 1
LOOP
3. ASP 데이터 타입
1) 숫자 서브 타입 : 정수나 분수, 또는 부동 소수점 등 5개의 타입이 있다.
- 정수(Integer) : -32.768~32,767(2^15-1) : 일반적으로 쓰이는 숫자 타입
- 바이트(Byte) : 0~255(2^8-1) : 기본적인 숫자 연산에 사용되는 타입
- 긴 정수(Long) : -2,147,483,648~2,147,483,67(2^31-1) : integer보다 훨씬 더 큰 수를 지원하는 타입
- 싱글(Single) : 3.402823E38 부터 -1.401298E-45 까지의 음수,1.401298E-45 부터 3.402823E38 까지의 양수
- 더블(Double) : -1.79769313486232E308 부터 -4.94065645841247E-324 까지 음수, 4.94065645841247E-324 부터 1.79769313486232E308 까지 양수
- 통화(Currency) : -922,337,203,685,477.5808 ~ 922,337,203,685,477.5807 까지 : 화폐 단위
2) 문자열 서브 타입 : 텍스트 정보를 보관한다.
Dim strFirst, strSecond, strPlus
strFirst = "139"
strSecond = "52"
strPlus = strFirst + strSecond
// 결과 : 13952
- 큰 따옴표 안에 들어가 있으면, 문자열 서브 타입이 된다.
3) 날짜 서브 타입 : 날짜와 시간을 보관하는데 쓰이는, 미리 정해진 타입이다.
- 날짜 서브 타입은, 날짜의 앞뒤에 #로 둘러 싸는 형식으로 이루어져 있다.
ex. #01/19/1975#
4) boolean 서브 타입 : 참/거짓을 의미하는, True, False 값 중 하나를 가진다.
- TRUE = -1, FALSE = 0로 정수형 변환 가능하다.
- 이 타입은, IF ~ THEN에서 주로 사용된다.
5) 그 외의 서브 타입 : Empty, Null 등
- Empty : 값을 전혀 가지고 있지 않다. (Empty=0이라는 의미는 아님. 0은 분명히 유효한 값임)
- NULL : 이는 DB와 연결해 사용되는 특별한 데이터이다. 아무것도 아니고, 데이터 타입도 아니고, 데이터를 가지고 있지도 않은 것을 의미한다.
4. ASP 타입 변환 함수
1) 숫자 서브 타입 관련
- CInt(), CLng(), CByte(), CSng(), CDbl(), CCur() : 해당 숫자형으로 반환해주는 함수
ex. intFirst= CInt("5000") => 5000
- Fix(), Int() : 잘라내기를 통해 숫자의 정수 부분을 반환함.
* Fix는 소수점 이하 숫자를 없애버림
* Int는 소수점 내림
- Abs() : 절대값 반환
2) 문자열 서브 타입 관련
- Cstr() : 문자열로 바꿔주는 함수
- Asc(), AscB(), AscW() : 문자열 첫 글자의, ANSI 문자 코드를 반환한다. ex. Asc("A") = 65
- Chr(), ChrB(), ChrW() : 코드값을 입력하면, 그에 해당하는 문자를 반환한다. ex. Chr(65) = "A"
3) 날짜 서브 타입 관련
- CDate() : 인자로 들어온 값을 날짜형으로 바꾸어주는 함수
ex. CDate("2010년 1월 1일 13:00") => 2020-01-01 오후 1:00:00
- DateValue(), DateSerial() : 년/월/일 반환 (DateValue는 인자가 하나, DateSerial는 인자가 3개)
- TimeValue(), TimeSerial() : 시-분-초를 반환 (TimeValue는 인자가 하나, TimeSerial은 인자가 3개)
4) 부울린 서브 타입 관련
- CBool() : True False값 중 하나를 반환한다. ex. CBool("a" = "a") => True 반환
5) 기타 변환 함수
- Hex(), Oct() : 각각 16진수, 8진수로 변환된 값을 반환한다.
- Sgn() : 수의 부호를 나타내는 정수를 반환한다. => 양수라면 1, 음수라면 -1, 0이라면 0 반환
* 유의사항 - 아직 공부하고 있는 문과생 코린이가, 정리해서 남겨놓은 정리 및 필기노트입니다. - 정확하지 않거나, 틀린 점이 있을 수 있으니, 유의해서 봐주시면 감사하겠습니다. - 혹시 잘못된 점을 발견하셨다면, 댓글로 친절하게 남겨주시면 감사하겠습니다 :) |