<%
'********************************************************
' 문서제목 : 사용자 정의 함수
' 파일명 : 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), "&", "&"), "<", "<"), ">", ">"), "'", "''")
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
%>
'프로그래밍 > 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 |