본문 바로가기

IT/ASP

[ASP] asp 정리

목차
1. 변수 선언
2. 배열 선언
3. 개체 선언

4. 논리 구문들
1) if문
2) Select Case문
3) For...Next문
4) Do While문

5) For Each...Next문

5. VBScript
1) 변환 관련 함수
2) 시간 관련 함수
3) 수학 관련 함수
4) 문자열 관련 함수
5) 변수 테스트 함수

6. ASP의 내장된 개체들

대소문자 구분이 없다.

Str과 str를 같은 변수로 인식한다.

1. 변수 선언
Dim
선언하지 않아도 문제는 없다. 선언만 하면 알아서 숫자, 문자로 사용이 가능하다.
str = "kim"
num - 1234

2. 배열 선언
Dim MyArray(2)
배열도 Dim으로 선언
처음에 배열의 크기를 정해 놓지 않고, 차후에 그 크기를 정해주고 싶다면
Dim MyArray()
ReDim MyArray(5)
이런식으로 ReDim을 이용해 가능하다.
같은 이름의 배열을 이미 들어있는 데이터는 그대로 둔 채로 그 배열의 크기를
늘려주고 싶다면 preserve라는 키워드를 사용하면 된다.
Dim MyArray() '배열 선언
ReDim MyArray(3) '배열을 재 선언하여 사이즈를 준다.

MyArray(0) = "taeyo"
MyArray(1) = "dragon"
MyArray(2) = "ring"

ReDim preserve MyArray(4) '데이터를 저장한 채로 배열의 사이즈를 늘려준다.
'기존에 들어가 있는 데이터는 그대로 아직 존재한다.

3. 개체 선언
Set

개체? 인스턴스?
개체 : 현실 세계를 추상화(Abstraction) 및 모델링한 결과로 나타나는 구체화된 개개의 실체
인스턴스 : 실제로 컴퓨터 기억공간상에 위치한 개체의 의미(개체와 유사하지만 개체가 좀 더 포괄적이다.)


음악을 연주해 주는 기능을 가진 쥬크박스(개체)를 ASP페이지에서 쓰고 싶다.
사용하려면 일단 ASP페이지에 사용하겠다고 알려줘야 한다.
그러나 이 개체는 나만 사용하는 것이 아니므로 개체를 통째로 가져오지 않고
복제한(인스턴스)를 만들어 사용해야 된다.
그 인스턴스를 만들어 주는 명령어가 Set이다.

Set MyJukebox = Server.CreateObject("Juke.Musixbox")

즉, 어떠한 기능을 가지는 개체를 가져다 쓰려면 Set이라는 명령어로 사용하려는 개체(Juke.Musixbox)의 인스
턴스를 만들고, 이젠ㄴ 그 이름으로 그 쥬크박스의 모든 기능을 사용할 수가 있게 되는 것이다.

※ 일반 변수 선언시 Set을 사용하면 에러가 난다.

4. 논리 구문들
1) if문
<% if sex = "man" then %>
당신은 남자
<%else%>
당신은 여자
<%end if%>

if문은 간단한 조건일 경우에 사용하면 유리

2) Select Case문
<%
select case choice
 case 1
  Response.Write " 1 을 선택"

 case 2
  Response.Write " 2 을 선택"
 case 3
  Response.Write " 3 을 선택"
 case 4
  Response.Write " 4 을 선택"
 case else
  Response.Write " 1, 2, 3, 4가 아닌 수를 선택"
end select
%>
여러 조건을 비교해야 할 경우는 Select문이 비교적 유리

3) For...Next문
For i = 시작 To 끝 [Step 스텝]
[실행문]
Next
간단한 루프를 위해 좋다.

4) Do While문
DO[{While | Until} 조건]
[실행문]
Loop[{While | Until } 조건]
복잡한 루프의 경우에 적합하다.

5) For Each...Next문
For Each 구성원 In 그룹
[실행문]
Next [구성원]
컬렉션에 포함된 개체들의 집합에서 이용하기 위해
배열이나 컬렉션의 각 구성원에 대한 조작을 할 때

5. VBScript

1) 변환 관련 함수
Asc : 문자열에서 첫번째 문자에 대한 ANSI 코드 번호를 리턴
Chr : 지정된 번호와 일치하는 ANSI 문자로 구성된 문자열을 리턴
CBool : Boolean 형식의 인자값을 리턴
Byte : Byte 형식의 인자값을 리턴
CDate : Date 형식의 인자값을 리턴
CDbl : Double 형식의 인자값을 리턴
CInt : Integer 형식의 인자값을 리턴
CLng : Long 형식의 인자값을 리턴
CSng : Single 형식의 인자값을 리턴
CStr : String 형식의 인자값을 리턴
Fix : 숫자의 정수 (전체) 부분을 리턴
Hex : 숫자의 16진수 값을 나타내는 문자열을 리턴
Int : 숫자의 정수 (전체) 부분을 리턴
음수일 때 : 숫자보다 작거나 같은 첫번째 음의 정수를 리턴.
Fix 함수는 숫자보다 크거나 같은 첫번째 음의 정수를 리턴.
Sgn : 숫자의 부호를 나타내는 정수를 리턴


<%
A = "20.2"
B = "10.5"
C = A + B
int_C = Cint(A)+Cint(B)
%>

C = 20.210.5
int_C = 30

2) 시간 관련 함수
now : 현재의 시스템의 날짜와 시간
date : 현재의 시스템의 날짜
time : 현재의 시스템의 시간
Year(Now) : 현재의 시스템의 년도
Month(Now) : 현재의 시스템의 월
day(Now) : 현재의 시스템의 일
Weekday(Now) : 현재의 시스템의 요일(숫자로 리턴된다. 1,2,3, = 월,화,수)
hour(now) : 현재의 시스템의 시
minute(now) : 현재의 시스템의 분
second(now) : 현재의 시스템의 초
DateAdd : 지정된 시간 간격을 추가한 날짜를 리턴
DateDiff : 두 날짜 사이의 일, 주 및 년의 숫자를 리턴
DatePart : 주어진 날짜의 일, 월 및 년을 리턴
DateSerial : 지정된 연, 월, 일에 대한 Date 형식의 값을 리턴
Date : 형식의 값을 리턴

3) 수학 관련 함수
난수 발생기 : 난수값 = Int((상한값 - 하한값 + 1 ) * Rnd + 하한값)

Randomize
Ranval = Int((10 * Rnd) + 1)
Sqr : 지정한 수의 제곱근을 리턴
Atn : 숫자의 아크 탄젠트 값을 리턴
Cos : 각도의 코사인 값을 리턴
Exp : e(자연 로그의 밑)의 인자만큼의 제곱을 리턴
Log : 숫자의 자연 로그를 리턴
Sin : 각도의 사인값을 리턴
Tan : 각도의 탄젠트 값을 리턴

4) 문자열 관련 함수
<%=FormatCurrency(1000000)%> : \1,000,000 => 숫자를 통화로 바꾸어주는 함수
기본적으로 제어판의 "국가별 설정"에 지정된 통화로 표시
<%=FormatDateTime(Date, 1)%> 1999년 6월 20일 일요일
<%=FormatDateTime(Date, 2)%> 1999-06-20
<%=FormatDateTime(Date, 3)%> 오전 12:00:00
현재의 날짜/시간의 포맷을 예로 보여주는 암수
<%=FormatPercent(50/100)%> :  50.00% => %포맷으로 숫자를 나타내는 함수
str = "Everybody call me Great Taeyo"
<%=Instr(str, "body")%> : 6 =>  문자가 존재하는 위치의 값을 리턴
<%=Lcase("SuperMan")%> superman => 소문자로 바꾸어 리턴
<%=Ucase("SuperMan")%> SUPERMAN => 대문자로 바꾸어 리턴
<%=len("Great taeyo")%> 11 => 문자열의 길이를 리턴
<%=left("Great taeyo", 5)%> Greate => 왼쪽에서 잘라서 가져오는 함수
<%=right("Great taeyo", 5)%> taeyo => 오른쪽에서 잘라서 가져오는 함수
str = "taeyo's asp"
<%=Mid(str,9,3)%> asp => 특정 위치에서 원하는 만큼의 문자를 가져오는 함수
str = " taeyo  "
<%=trim(str)%> 양쪽 공백을 제거
<%=Ltrim(str)%> 왼쪽 공백을 제거
<%=Rtrim(str)%> 오른쪽 공백을 제거
<%=replace(str, "짜장면", "자장면")%> 문자열 바꾸기
<% mystr = Split(str2, "-") %>
mystr 배열에 str2 문자열을 - 기준으로 짤라서 넣는다.
str2 = "a-b-c-d"
mystr(0) = a
mystr(1) = b
mystr(2) = c
mystr(3) = d
<%=StrReverse("taeyo")%> 문자열을 거꾸로 출력

5) 변수 테스트 함수
IsArray : 변수가 배열인지의 여부를 나타내는 Boolean 값을 리턴
IsDate : 날짜로 변환될 수 있는지의 여부를 나타내는 Boolean 값을 리턴
IsEmpty : 변수가 초기화되었는지의 여부를 나타내는 Boolean 값을 리턴
IsNull : 유효한 데이터를 포함하고 있는지의 여부를 리턴
IsNumeric : 숫자로 평가될 수 있는지의 여부를 리턴
IsObject : 유효한 ActiveX 혹은 OLE 자동화 개체를 참조하는지의 여부를 리턴
VarType : 변수의 하위 형식을 나타내는 숫자를 리턴

6. ASP의 내장된 개체들
1) Request 개체
컬렉션 : 설 명
Form : 전송되어져 온 폼의 요소들의 값(Post 방식)
QueryString : 전송되어져 온 폼의 요소들의 값(Get 방식)과
하이퍼링크의 부분으로 전송된 값
Request.QueryString("변수명")
Cookies : HTTP 헤더와 함께 전송된 쿠키의 값
ServerVariables : 서버의 환경변수들의 값
CilentCerficate : 클라이언트 인증서에 저장된 값들의 컬렉션
프로퍼티
TotalBytes : 현재 요청시 클라이언트가 보내는 바이트의 수
메소드
BinaryRead : Post 요청의 일부분으로 서버에 보내는 데이터를 불러내는데 사용

컬렉션이란?
ASP에서의 컬렉션이란 배열과 비슷한 구조를 가지고 있는 녀석으로
각 요소와 키값을 이용해 값을 저장할 수 있는 데이터 구조를 의미
배열보다는 여러모로 훨씬 강력한 기능을 가진다.