240 likes | 1.54k Views
ASP 프로그래밍 입문 2 장 ASP 기본 구조. 서국화 kookhwa@kunsan.ac.kr 군산대학교 통계컴퓨터과학과 정보과학기술 연구실 2012. 7. 4. 목 차. ASP 의 동작 환경과 코드 구조 변수와 자료형 제어문과 반복문 서브 프로시저와 함수 유용한 ASP 내장 함수. ASP 의 동작 환경과 코드 구조 (1/2). ASP 동작 환경 서버를 통해서만 호출 가능 서버에 내장된 해석기로 ASP 웹 페이지를 해석 ASP 코드 구조
E N D
ASP 프로그래밍 입문2장 ASP 기본 구조 서국화 kookhwa@kunsan.ac.kr 군산대학교 통계컴퓨터과학과 정보과학기술 연구실 2012. 7. 4
목 차 ASP의 동작 환경과 코드 구조 변수와 자료형 제어문과 반복문 서브 프로시저와 함수 유용한 ASP 내장 함수 IST (Information Sciences & Technology) Laboratory
ASP의 동작 환경과 코드 구조(1/2) • ASP 동작 환경 • 서버를 통해서만 호출 가능 • 서버에 내장된 해석기로 ASP 웹 페이지를 해석 • ASP 코드 구조 • 하이브리드 코드 구조 : 하나의 웹 문서를 다수의 해석기로 해석하는 구조 IST (Information Sciences & Technology) Laboratory
ASP의 동작 환경과 코드 구조 (2/2) <HTML> <script Language="Javascript"> vartoDay = new Date() varstrDate = toDay.getFullYear() + "년" + (toDay.getMonth()+1) + "월" + toDay.getDate() + "일"; alert("오늘은 " + strDate + " 입니다"); </script> <BODY> <H3> 오늘은 <%Response.Write date()%> 입니다. </H3> </BODY> </HTML> <HTML> <script Language="Javascript"> vartoDay = new Date() varstrDate = toDay.getFullYear() + "년" + (toDay.getMonth()+1) + "월" + toDay.getDate() + "일"; alert("오늘은 " + strDate + " 입니다"); </script> <BODY> <H3>오늘은 <script language="VBScript" runat="server"> Response.Write date() </script> 입니다.</H3> </BODY> </HTML> • 하이브리드 코드 작동 원리 • 결과가 제대로 나오지 않는 이유는? • 웹서버가<script language …> 태그를 만나면 그 결과를 HTML 문자열의 맨 끝에 추가하기 때문 • 해결책 : 인라인 스크립트 명령어인 <%...%>을 사용 IST (Information Sciences & Technology) Laboratory
변수형과 자료형 (1/5) • 식별자 • 변수나 함수를 지정할 때 이름이 될 수 있는 단어 • VB스크립트에서 지원하는 식별자 기준을 따름 • 식별자기준 • 문자와 숫자, _를 사용하여 생성할 수 있음 • 특수 문자나 메타 문자는 사용할 수 없음 • 식별자 길이는 255자 이내로 지정함 • VB 스크립트에서는 대소문자를 구분하지 않음 • 식별자의 첫 문자로 숫자 사용 불가능 IST (Information Sciences & Technology) Laboratory
변수형과 자료형 (2/5) <%OPTION EXPLICIT%> <% Dim myVar1, myVar2 myVar1=1 myVar2=“cool” myVar3=“13th” <----- 이 부분에서 오류가 발생함 %> • 변수 • 변수 선언 • ASP 프로그래밍 구조는 비주얼 베이직 구조를 차용하여 선언 • Dim varA As Integer • 변수를 선언하지 않고도 바로 사용 가능함 • myVar2=1 • 소스코드를 해석하는데 많은 시간이 소요되기 때문에 변수를 선언한 후 사용하는 것이 더 좋음 • OPTION EXPLICIT 키워드 • 선언하지 않은 변수를 사용할 때 오류가 발생하게 하는 키워드 IST (Information Sciences & Technology) Laboratory
변수형과 자료형 (3/5) • 상수 • 상수 선언 : Const 키워드를 사용 • Const TAXRATE TAXRATE=0.085 • 자료형 • 모든 변수의 자료형을Variant라는 형식으로 지정 • Variant 형 변수는 숫자와 문자를 자동으로 감지함 • 잘못 감지된 경우 자료형 변환 함수를 이용해서 변수의 자료형을 변경해 주어야 함 • Cbool () : Boolean • Cbyte () : Byte • Cdate () : Date IST (Information Sciences & Technology) Laboratory
변수형과 자료형 (4/5) • 숫자자료형 • Interger, long, byte, single, double • Currency : -922,337,203,685,477,5808 ~ 922,337,203,685,477,5808 의 범위를 가지는 통화형을 저장하기 위한 자료형 • 문자 자료형 • “ ”를 사용 strVar=“안녕하세요” • 날짜 자료형 • 미리 정해진 형식에 따라 시간과 날짜를 정의해서 사용 • Dim toDay toDay = #03/11/2002# • 불린형 • 기타 자료형 • Empty : 값을 할당 받지 못함 • NULL : 데이터를 가지고 있지 않은 필드와 DB를 연동할 때 사용하는 자료형 • Object : ASP 개체를 나타내는 자료형 IST (Information Sciences & Technology) Laboratory
변수형과 자료형 (5/5) • Dim Cart(2) • Cart(0)=‘마우스’ • Cart(1)=‘키보드’ • Cart(2)=‘프린터’ • Dim dArray() • . • . • . • ‘ 배열에저장할 데이터 개수를 확인한 뒤 배열 크기를 재지정해줌 • ReDimdArray(2) • dArray(0)=“cookin” • dArray(1)=“김찬웅” • dArray(2)=“0333” • ASP 배열 • 고정 크기 배열 선언 • 동적 배열 :ReDim키워드를 사용 IST (Information Sciences & Technology) Laboratory
제어문과 반복문 (1/6) <%OPTION EXPLICIT%> <HTML> <BODY> <H3>ASP에서 제어문 If 사용하기<HR noshade></H3> <% '변수선언 Dim intNum intNum = 8 '변수값에8을 지정 IfintNum > 10 Then Response.Write "변수 intNum은 10보다 큰 정수 입니다." ElseIfintNum > 1 Then Response.Write "변수 intNum은 1보다 크고 10보다 작은 정수 입니다." ElseIfintNum = 0 Then Response.Write "변수 intNum은 0 입니다." Else Response.Write "변수 intNum은 0보다 작은 음의 정수 입니다." End If %> </BODY> </HTML> • 제어문 • If문(if~then~end if) IST (Information Sciences & Technology) Laboratory
제어문과 반복문 (2/6) <%OPTION EXPLICIT%> <HTML> <BODY> <H3>Select...Case 구문을 이용하여 페이지 제어하기<HR NOSHADE></H3> <% Dim userLevel userLevel = "member" Select Case UserLevel Case "admin" Response.Write "당신은 관리자 계정으로 로그인 하셨습니다." Case "member" Response.Write "당신은 회원 계정으로 로그인 하셨습니다." Case "guest" Response.Write "회원으로 로그인 하세요." End Select %> </BODY> </HTML> • 제어문 • Select case문 IST (Information Sciences & Technology) Laboratory
제어문과 반복문 (3/6) <%OPTION EXPLICIT %> . . . <% Dim count For count = 0 To 4%> <!-이부분 반복 실행--> <tr> <td> </td> <td> </td> <td> </td> </tr> <%Next%> • 반복문 • For문(반복 실행 횟수 지정~반복되는 실행문~실행문의 끝) IST (Information Sciences & Technology) Laboratory
제어문과 반복문 (4/6) <%OPTION EXPLICIT%> <HTML> <BODY> <H3>For Each 문을 이용하여 배열값 출력하기<HR noshade></H3> <% Dim Cart(3), item Cart(0) = "프로젝션TV" Cart(1) = "양문형냉장고" Cart(2) = "드럼세탁기" Cart(3) = "컴퓨터" For Each item In Cart Response.Write item & "<br>" Next %> </BODY> </HTML> • 반복문 • For each 문 : 배열의 각 항목들에 대해서 사용되는 독특한 반복문 • 배열의 길이를 미리 파악하지 않아도 배열의 처음부터 끝까지 배열에 저장된 값에 접근 가능함 IST (Information Sciences & Technology) Laboratory
제어문과 반복문 (5/6) <%OPTION EXPLICIT%> . . . <% Dim count count = 0 Do While count < 5 ‘ 조건식 %> <tr> <td> </td> <td> </td> <td> </td> </tr> <% count = count + 1 ‘ 증감식 Loop %> </BODY> </HTML> • 반복문 • Do… Loop문 : 반복 실행 횟수를 정확히 모를 때 사용 IST (Information Sciences & Technology) Laboratory
제어문과 반복문 (6/6) If count >=2 Then Exit Do End If • 반복문 • exit문 IST (Information Sciences & Technology) Laboratory
서브 프로시저와 함수 서브 프로시저 함수 특징 반환값이 있음 형식 • 언제? • 동일한 코드를 여러 곳에서 사용할 때 • 특징 • 값을 반환하지 않음 • 사용법 • call 키워드로 호출 • 형식 Function 함수명 (인수) …..실행코드….. End Function Sub 프로시저명(인수) …..실행코드….. End Sub
유용한 ASP 내장 함수 (1/6) • 특징 • VB스크립트 내장함수와 동일 • 종류 • 문자열 서식 함수 • 문자열 처리 함수 • 날짜 계산 함수 • 수학 계산 함수 • 진위 함수 IST (Information Sciences & Technology) Laboratory
유용한 ASP 내장 함수 (2/6) • 문자열 서식 함수 IST (Information Sciences & Technology) Laboratory
유용한 ASP 내장 함수 (3/6) • 문자열 처리 함수 IST (Information Sciences & Technology) Laboratory
유용한 ASP 내장 함수 (4/6) • 날짜 계산 함수 • DateAdd : 지정된 날짜에 시간을 추가하거나 빼서 새로운 날짜를 반환 • DateAdd(interval, number, date) • interval : 추가할 시간의 종류 • number : 추가할 시간 간격 양수는 미래, 음수는 과거 • date : 기준 날짜 • DateAdd(“d”,-1,”2004-1-2”) • d:일 yyyy : 년 m : 월 • DateDiff : 두 날짜의 간격을 반환 • DateDiff(interval, date1, date2) • DateDiff(“d”,”1980-5-18”, Date) • DatePart : 인수로 주어진 날짜 중에서 지정된 부분을 반환 • DatePart(interval, date [, firstdayofweek [, firstdayofyear]]) • DatePart(“q”,now) IST (Information Sciences & Technology) Laboratory
유용한 ASP 내장 함수 (5/6) • 수학함수 IST (Information Sciences & Technology) Laboratory
유용한 ASP 내장 함수 (6/6) • 진위함수 IST (Information Sciences & Technology) Laboratory
감사합니다 서국화 kookhwa@kunsan.ac.kr