728x90

<%
 '********************************************************
 ' 문서제목 : 사용자 정의 함수
 ' 파일명 : Userfunction.asp
 ' 작성자 : 궉장걸
 ' 작성일 : 2006-11-21
 ' 내역 :
 '********************************************************
 
 Class UserFunction

  '클래스 초기화
  Private Sub Class_Initialize() 
  
  End Sub
  
  '클래스 소멸
  Private Sub Class_Terminate()

  End Sub  

  '******************************************************
  ' 함수 기능 : 문자열 캐릭터로 자르기
  ' Parameter :
  '  - str : 원본 Data
  '  - cutLen : 자를 길이
  '******************************************************
  Public Function cutChar(str, cutLen) 
   If Not(IsEmpty(str)) And Not(IsNull(str)) Then
    Dim strLen, strByte, strPos, char, i, charactor_cut_len
    strByte = 0
    strPos = 0
    strLen = Len(str)    '총 글자수

    for i = 1 to strLen
     char = ""
     char = Asc(Mid(str, i, 1)) '아스키 코드값 읽어오기
     char = Left(char, 1)
     if char = "-" then  '"-"이면 2바이트 문자임
      strByte = strByte + 2
     else
      strByte = strByte + 1
     end if
     strPos = strPos + 1
     if cutLen > 0 then
      if  strByte > cutLen then
       strPos = strPos - 1 '마지막 2바이트 문자처리
       exit for
      end if
     end if
    next

    if cutLen <= 0 then
     charactor_cut_len = strByte
    else
     charactor_cut_len = strPos
    end if

    if (charactor_cut_len < strLen) then
     cutChar = Left(str, charactor_cut_len) & "..."
    else
     cutChar = str
    end If
   Else
    cutChar = str
   End If
  End Function
  
  '******************************************************
  ' 함수 기능 : 비교처리 (CompareNum1 과 CompareNum2 비교 후 RtnStr1, RtnStr2 반환)
  ' Parameter :
  '  - CompareNum1 : 비교 검사할 Data
  '  - CompareNum2 : 비교 검사할 Data
  '  - RtnStr1 : 비교 검사후 True 인 경우 반환할 값
  '  - RtnStr2 : 비교 검사후 False 인 경우 반환할 값
  '******************************************************
  Public Function Return_Val(CompareNum1, CompareNum2, RtnStr1, RtnStr2)
   If Not IsNull(CompareNum1) Then
    If (Cstr(CompareNum1) = Cstr(CompareNum2)) Then
     Return_Val = RtnStr1
    Else
     Return_Val = RtnStr2
    End If
   Else
    Return_Val = RtnStr2
   End If
  End Function

  '******************************************************
  ' 함수 기능 : 날짜 검사 ( 2자리로 변환 )
  ' Parameter :
  '  - ChkDate : 검사할 날짜
  '******************************************************
  Public Function date_check(ChkDate)
   IF len(ChkDate) = 1 Then
    date_check = "0" & ChkDate
   Else      
    date_check = ChkDate
   End If
  End Function

  '******************************************************
  ' 함수 기능 : 월별로 마지막 날짜 반환
  ' Parameter :
  '  - DateMonth : 검사할 월
  '  - DateYear : 검사할 년도
  '******************************************************
  Public Function MonthArray(DateMonth, DateYear)
   Dim MonthDay(12)

   MonthDay(1) = 31
   MonthDay(2) = 28
   If YoonCheck(DateYear) Then MonthDay(2) = 29
   MonthDay(3) = 31
   MonthDay(4) = 30
   MonthDay(5) = 31
   MonthDay(6) = 30
   MonthDay(7) = 31
   MonthDay(8) = 31
   MonthDay(9) = 30
   MonthDay(10) = 31
   MonthDay(11) = 30
   MonthDay(12) = 31

   MonthArray = MonthDay(DateMonth)
  End Function

  '******************************************************
  ' 함수 기능 : 날짜 (윤년) 검사 후 Bool형 반환
  ' Parameter :
  '  - chkYear : 검사할 년도
  '******************************************************
  Public Function YoonCheck(chkYear)
   If chkYear Mod 4 <> 0 Then
    YoonCheck = False
   ElseIf chkYear Mod 100 <> 0 Then
    YoonCheck = True
   ElseIf chkYear Mod 400 <> 0 Then
    YoonCheck = False
   Else
    YoonCheck = True
   End If
  End Function

  '******************************************************
  ' 함수 기능 : 정수값 타입별로 반환
  ' Parameter :
  '  - MinNumber : 최소값
  '  - MaxNumber : 최대값
  '  - StepNumber : step 값(Loop 문에서 사용)
  '  - ObjType : 반환 타입(SelectBox, CheckBox, RadioBox)
  '  - ObjName : Object 명(CheckBox, RadioBox 에서 사용)
  '  - LengChkFlag : 길이체크 여부(date_check 함수 호출)
  '  - CompareFlag : 비교 여부(Return_Val 함수 호출 : True, False)
  '  - CompareNumber : 비교값 (CompareFlag 가 True 인 경우 사용)
  '  - Rtn_CompareTrue : 비교결과가 True인경우 반환값
  '  - Rtn_CompareFalse : 비교결과가 False인경우 반환값f
  '  - StyleStr : 스타일시트 문자열
  '******************************************************
  Public Function IntReturn(MinNumber, MaxNumber, StepNumber, ObjType, ObjName, LengChkFlag, CompareFlag, CompareNumber, Rtn_CompareTrue, Rtn_CompareFalse, StyleStr) 
   Dim Temp_Str, Return_Str, ResultValue
   Dim cnt, Rtn_cnt

   ResultValue = ""

   Select Case UCase(CStr(ObjType))
   Case "SELECT" Temp_Str = "<Option value='@val@' @CompareNumber@>@view@</Option>"
   Case Else Temp_Str = "<input type='@ObjType@' name='@ObjName@' value='@val@' @StyleStr@ @CompareNumber@> @view@"
   End Select

   ' 최소값(MinNumber) 에서 최대값(MaxNumber)까지 Loop
   For cnt = MinNumber To MaxNumber Step StepNumber
    ' 길이 체크여부(2자리로 재정의)
    If LengChkFlag Then
     Rtn_cnt = date_check(cnt)
    Else
     Rtn_cnt = cnt
    End If
    Return_Str = Replace(Temp_Str, "@ObjType@", ObjType)
    Return_Str = Replace(Return_Str, "@ObjName@", ObjName)
    Return_Str = Replace(Return_Str, "@StyleStr@", StyleStr)
    Return_Str = Replace(Return_Str, "@val@", Rtn_cnt)
    Return_Str = Replace(Return_Str, "@view@", Rtn_cnt)
    ' 비교여부
    If CompareFlag Then
     Return_Str = Replace(Return_Str, "@CompareNumber@", Return_Val(Rtn_cnt, CompareNumber, Rtn_CompareTrue, Rtn_CompareFalse))
    Else
     Return_Str = Replace(Return_Str, "@CompareNumber@", "")
    End If
    ResultValue = ResultValue & Return_Str
   Next
   IntReturn = ResultValue
  End Function

  '******************************************************
  ' 함수 기능 : 데이터 부분 반환
  ' Parameter :
  '  - Data : 원본 Data
  '  - Gubun : split()함수에 사용할 구분값
  '  - index : 배열번호
  '******************************************************
  Public Function Rtn_DataSplit(Data, Gubun, index)
   If InStr(Data, Gubun) Then
    tmp_Data = Split(Data, Gubun)
    If UBound(tmp_Data) >= index Then
     Rtn_DataSplit = tmp_Data(index)
    End If
   End If
  End Function

  '******************************************************
  ' 함수 기능 : html 태그 변환
  ' Parameter :
  '  - str : 원본 Data
  '******************************************************
  Public Function HtmlTagChk(str)
   Dim ResultValue
   ResultValue = ""
   If str <> "" Then
    ResultValue = Replace(Replace(Replace(Replace(Trim(str), "&", "&amp;"), "<", "&lt;"), ">", "&gt;"), "'", "''")
    ResultValue = Replace(ResultValue, chr(13)&Chr(10), "<br>")
   End If
   HtmlTagChk = ResultValue
  End Function

  '******************************************************
  ' 함수 기능 : 코드 생성
  ' Parameter :
  '******************************************************
  Public Function getGoodsCode()  
   Randomize  
   getGoodsCode = Chr(Int(Rnd()*26) + 65)& Chr(Int(Rnd()*26) + 65) & Left(Replace(Now, "-", ""), 8) & Hour(Now) & Chr(Int(Rnd()*20) + 65)
  End Function

  '******************************************************
  ' 함수 기능 : 주문코드 생성
  ' Parameter :
  '******************************************************
  Public Function getOrderCode2()
   Randomize  
   getOrderCode2 = Left(Replace(Now, "-", ""), 8) & Hour(Now) & Minute(Now) & Second(Now) & Chr(Int(Rnd()*20) + 65) & Chr(Int(Rnd()*26) + 65)
  End Function

 End Class
%>

728x90

'프로그래밍 > asp' 카테고리의 다른 글

ASP에서 CSV 파일 생성하기  (0) 2011.08.03
ON Error Resume Next  (0) 2011.06.24
ASP 오류 'ASP 0115'  (0) 2011.06.15
asp 함수 정리  (0) 2011.06.08
DateAdd를 이용한 날짜 계산  (0) 2011.06.01
728x90
01.<%
02.    ' 금일 날짜 표현방법
03.    Response.write Right("0000"&Year(date),4) &"-"& Right("00"&Month(date),2) &"-"&Right("00"&Day(date),2)
04.  
05.    ' 1년전 날짜 구하기
06.    Tdate = DateAdd("m", -12 DateValue(now))
07.    Response.write Tdate &"<BR>"
08.  
09.  
10.    ' 7일후 날짜 구하기
11.    Tdate = DateAdd("d", 7 DateValue(now))
12.    ' or
13.    Tdate = dateadd("d", 7, Now())
14.    Response.write Tdate &"<BR>"
15.   
16.  
17.    '순수히 날짜만 구할려면 MID 함수 사용
18.    Response.write MID(Tdate,1,10)
19.  
20.  
21.    '"-" 문자열을 제거할려면 replace 함수를 사용하면 됩니다.
22.    Response.write replace("문자열", "-", "")
23.%>

728x90

'프로그래밍 > asp' 카테고리의 다른 글

ASP에서 CSV 파일 생성하기  (0) 2011.08.03
ON Error Resume Next  (0) 2011.06.24
ASP 오류 'ASP 0115'  (0) 2011.06.15
asp 함수 정리  (0) 2011.06.08
asp 함수  (0) 2011.06.01

+ Recent posts