ASP (2)
ASP 문법 …. <% ….. %>
변수 사용법 Dim var1 Dim var1, var2 주의점 대소문자를 구별하지 않음 알파벳 문자로 시작하여 문자, 숫자, ‘_’ 의 조합을 이용 dot(.) 은 사용불가 255 자 이내
데이터 형식 특별한 데이타 형식이 없다.(Variant) 변수 <% Dim var1 var1="ABC" var1=123 %> 변수 값 :
사용 가능한 형식 형식설명 Empty 0 또는 “” Null 유효한 데이터가 포함되지 않음 Byte0~255 String 20 억까지의 문자열 Long-2,147,483,648 ~ 2,147,483,647 Integer-32,768 ~ 32,767 Date100/1/1 ~ 9999/12/31 Object Object 객체 Double 부동소수점 Single 확장부동소수점
데이터 유형 확인 연산 연산자설명 IsArray 배열 여부 IsDate 날짜 또는 시간 IsEmpty 초기화 여부 IsNull Null 포함 여부 IsNumeric 숫자값 포함 여부 IsObject OLE 객체를 참조하는지 여부 VarType 변수의 유형을 숫자로 반환 ( 예 : 0: empty, 5: double) VarName 변수 유형의 이름 조회
데이터 유형 확인 연산 Dim mydate, yourdate, nodate, mycheck mydate = “1962 년 10 월 9 일 ” yourdate = #10/19/62# nodate = “HELLO” mycheck = isDate(mydate)‘True mycheck = isDate(yourdate)‘True mycheck = isDate(nodate)‘False
연산자 산술 연산자 연산자설명 + - * / \ & ^ mod 더하기 빼기 곱하기 나누기 정수나누기 문자열 연결 누승 연산 나머지
비교연산 연산자설명 > < <= >= = <> … 논리연산 연산자설명 AND OR NOT XOR EQV IMP 두식의 값이 같으 면 TRUE 두식의 값이 True, False 인 경 우에만 False
배열 사용법 Dim vargroup(4), Dim vargroup2(10, 10,…) 동적 배열 사용법 Dim 배열명 () 또는 Redim 배열명 () 이후에 개수나 차원이 결정되면 Redim 배열명 (n1, n2, ….) 단, 이전 자료는 삭제됨 보존하고 싶으면 Redim Preserve 배열명 (n) 차원 변경은 마지막 차원만 가능, 차원변경도 불가 eg) Redim X(10, 10, 10) …. Redim X(10, 10, 15)
배열 예 배열 예제 <% Dim color(2) color(0)="red" color(1)="blue" color(2)="yellow" %> 배열 값에 의하여 표의 각 셀의 배경 색을 지정합니다. align=center width=100 height=30> > align=center width=100> > align=center width=100> >
제어구조 If 조건문 Then 수행 코드 End If If 조건문 Then 수행코드 Else 수행코드 End If
제어구조 (If 예 ) IF 문 예제 <% var1 ="true" if var1 then value=" 참 " else value=" 거짓 " end if %> 변수값이 " " 이므로 " " 입니다.
제어구조 Select Case Select Case 변수 case 값 1 문 1 case 값 2 문 2 ………… case else 문 n End Select For … Next For 변수 = 시작값 To 종료값 [Step 증분값 ] [ 문 ] [Exit For] [ 문 ] Next
제어구조 (for next 예 ) for 문 예제 <% Dim color(5) color(0)="blue" color(1)="Lime" color(2)="red" color(3)="yellow" color(4)="green" color(5)="pink" %> > align=center >
제어 구조 집합에 하나의 요소가 들어있으면 실행하고 한번에 하나씩 요소라는 변수에 할당된다. For Each 요소 In 집합 [ 문 ] [Exit For] [ 문 ] Next
제어 구조 (for each 예 ) For Each...Next 문 예제 Array(10,20,30,60,80) <% Dim myArray myArray = Array(10,20,30,60,80) dim myElement dim i For Each myElement in myArray i = i + 1 If myElement = 30 Then %> 값 30 은 Array( ) 에 있어요. <% Exit For End if Next %>
제어구조 DO LOOP Do [While 조건 ] [ 문 ] [Exit Do] [ 문 ] Loop Do [ 문 ] [Exit Do] [ 문 ] Loop [While 조건 ] Do [Until 조건 ] [ 문 ] [Exit Do] [ 문 ] Loop Do [ 문 ] [Exit Do] [ 문 ] Loop [Until 조건 ]
제어구조 While … Wend While 조건 [ 문 ] Wend Dim counter counter = 0 While counter < 20 counter = counter + 1 Wend
서브루틴과 함수 서브루틴 반환값이 없다. 정의 호출 강제 반환 Exit Sub sub 서브루틴이름 ( 매개변수 리스트 ) 문장 end sub 서브루틴이름 매개변수 1, 매개변수 2, … 또는 call 서브루틴이름 ( 매개변수 1, 매개변수 2, … )
서브루틴과 함수 ( 예 ) <% Sub myMsg(var1) if var1 <> "" then %> 서브루틴에 넘긴 값은 입니다. <% End if End Sub %> <% myMsg(" 안녕 ") %>
서브루틴과 함수 함수 값을 반환 결과값을 함수이름에 저장하면 반환됨 강제 반환 Exit Function Function 함수이름 ( 매개변수 리스트 ) … 함수이름 = 값 End Function
서브루틴과 함수 ( 예 ) <% Function myMsg(var1) if var1 <> "" then myMsg = " 함수에 넘긴 값은 " & var1 & " 입니다." End if End Function %>
문자열 함수 Left, Right 문자열의 왼쪽 / 오른쪽부터 지정한 수 만큼의 문자를 반 환한다. Left or Right( 문자열, 길이 ) Dim MyString, LeftString MyString = “ASPScript” LeftString = Left(MyString, 3) Dim AnyString, MyStr AnyString = “HELLO?” MyStr = Right(AnyString, 1) MyStr = Right(AnyString, 6) MyStr = Right(AnyString, 20)
문자열 함수 LTrim, RTrim, Trim Ltrim|Rtrim|Trim( 문자열 ) 앞, 뒤, 앞뒤의 공백을 제거하여 반환 Mid 문자열에서 지정한 개수만큼 반환 Mid( 문자열, 시작위치 [, 길이 ]) Dim MyVar MyVar = Mid(“VB Script is fun!”, 4, 6) ‘ MyVar 에 “Script” 가 저장
문자열 함수 StrComp StrComp( 문자열 1, 문자열 2[, 비교방법 ]) 비교방법 0 : binary 비교 1 : text 단위 비교, 대소문자 구별안함 default 는 binary 비교 반환값, 둘중 하나가 Null 일 경우 각각 –1, 0, 1, Null 을 반환 예 Dim Str1, Str2, Comp Str1 = “ABCD” Str2 = “abcd” Comp = StrComp(str1, str2, 1) ‘ return 0 Comp = StrComp(str1, str2, 0) ‘ return -1 Comp = StrComp(str2, str1) ‘ return 1
문자열 함수 Instr Instr([ 시작위치,] 문자열 1, 문자열 2[, 비교방법 ]) 문자열 1 에서 문자열 2 가 처음 나타나는 위치를 반환 예 Dim searchStr, SearchChar, mypos searchStr = “XXpXXpXXPxxP” searchChar = “P” mypos = Instr(4, searchStr, SearchChar, 1) ‘6 mypos = Instr(1, searchStr, SearchChar, 0) ‘9 mypos = Instr(searchStr, SearchChar)
문자열 함수 Asc Asc( 문자열 ) 문장열의 첫글자에 해당하는 ANSI 문자코드 반환 예 Asc(“A”) = 65 Asc(“Apple”) = 65 Chr Chr( 문자 코드 ) Asc 와 반대 예 Chr(65) = ‘A’
문자열 함수 Replace Replace( 대상문자열, 찾는문자열, 바꿀문자열 [, 시작위 치 [, 검색개수 [, 비교방법 ]]] ) 예 Replace(content, chr(13), “ ”) Len( 문자열 ) 문자의 길이를 반환 UCase( 문자열 ) 대문자로 변환 LCase( 문자열 ) 소문자로 변환
시간 및 날짜함수 FormatDateTime FormatDateTime( 날짜 [, 포맷형식 ]) 날짜나 시간의 형식을 반환한다 값설 명 0 간단한 날짜, 자세한 시간 형식 1 자세한 표시 날짜 형식 2 간단한 표시 날짜 형식 3 제어판의 국가별 설정에서 지정한 형식 4 24 시간 형식으로 시간을 표시
시간 및 날짜함수 ( 예 )
날짜 시간 관련 함수들 함수설 명 Date() 인자가 없으면 현재 날짜 Time() 인자가 없으면 현재 시간 Now() 연도부터 초까지 Hour()0~23 Minute()0~59 Second()0~59 Year() Month()1~12 Day()1~31 Weekday( 날짜 ) 날짜에 해당하는 요일반환 (1~7)
날짜 시간 관련 함수들 ( 예 ) 올해는 년 이번 달은 월이고 오늘 날짜는 일입니다.
날짜 시간 관련 함수들 ( 예 ) <% Dim days(7) days(1) = " 일요일 " days(2) = " 월요일 " days(3) = " 화요일 " days(4) = " 수요일 " days(5) = " 목요일 " days(6) = " 금요일 " days(7) = " 토요일 " %> 오늘 일의 요일은 입니다.
날짜 시간 관련 함수들 ( 예 ) <% Dim iHour Dim sBack iHour = Hour(Now) If iHour >= 7 and iHour < 12 Then sBack = "b1.jpg" ElseIf iHour => 12 and iHour < 18 Then sBack = "b2.jpg" ElseIf iHour => 18 and iHour < 20 Then sBack = "b3.jpg" Else sBack = "b4.jpg" End If %> "> 시간에 따라서 배경이 바뀝니다.
계산 함수 함수설 명 Abs() 절대값 Atn 직각삼각형에서 각의 아크탄젠트, 단위는 radians Cos, Sin, Tan 직각삼각형에서 각의 사인, 코사인, 탄젠트 Exp 특정 급수에 대한 자연 대수 Log 지수급수를 자연로그 RndRandom Sqr 제곱근
계산 함수 ( 예 )