Attribute VB_Name = "ModDtChk" '**** Programmer : Kim YoungDo '**** Last UpDate : 1998/10/21 Option Explicit Private Type POINTAPI X As Long Y As Long End Type Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long Dim CursorPos As POINTAPI Global gb_QuestReturn As Boolean Global gd_GetDate As Date '**** °¢ ÄÜÆ®·Ñ¿¡¼­ÀÇ ¹æÇâŰ ¹× Return_Key¿¡ µû¸¥ TabÀÇ À̵¿ Public Sub Key_Command(KeyCode As Integer, Shift As Integer, UpDown As Boolean) If Shift = 0 Then Select Case KeyCode Case vbKeyReturn SendKeys "{TAB}" KeyCode = 0 Case vbKeyUp If UpDown Then SendKeys "+{TAB}" KeyCode = 0 End If Case vbKeyDown If UpDown Then SendKeys "{TAB}" KeyCode = 0 End If End Select End If End Sub '**** Å×ÀÌºí¿¡ ¿Å±â±âÀü Integer üũÇϱâ Function m_Chk_Int(ChkNull As Variant) As Integer If IsNumeric(ChkNull) = True Then m_Chk_Int = Val(Trim(ChkNull)) Else m_Chk_Int = 0 End If End Function '**** Å×ÀÌºí¿¡ ¿Å±â±âÀü Long üũÇϱâ Function m_Chk_Long(ChkNull As Variant) As Long If IsNumeric(ChkNull) = True Then m_Chk_Long = Val(Trim(ChkNull)) Else m_Chk_Long = 0 End If End Function '**** Å×ÀÌºí¿¡ ¿Å±â±âÀü Currency üũÇϱâ Function m_ChkMoney(ChkNull As Variant) As Currency If IsNumeric(ChkNull) = True Then m_ChkMoney = CCur(Trim(ChkNull)) Else m_ChkMoney = 0 End If End Function '**** °ø±Þ°¡ ¸¸µé±â Function m_GongAmt(ChkNull As Variant) As Currency Dim C_Amt As String If IsNumeric(ChkNull) = True Then C_Amt = Format(ChkNull / 1.1, "#,##0") m_GongAmt = CCur(Trim(C_Amt)) Else m_GongAmt = 0 End If End Function '**** String Null Á¦°Å Function m_Chk_Str(ChkNullStr As Variant) As Variant If IsNull(Trim(ChkNullStr)) Then m_Chk_Str = "" Else m_Chk_Str = Trim(ChkNullStr) End If End Function '**** Date: Table -> Control Function m_Chk_DateM(ChkNullStr As Variant) As Variant If IsDate(Trim(ChkNullStr)) Then m_Chk_DateM = Trim(ChkNullStr) Else m_Chk_DateM = "____/__/__" End If End Function '**** Date: Table -> Control Function m_Chk_Date2M(ChkNullStr As Variant) As Variant If IsDate(Trim(ChkNullStr)) Then m_Chk_Date2M = Trim(Format(ChkNullStr, "YYYY/MM")) Else m_Chk_Date2M = "____/__" End If End Function '**** Date: Control -> Table Function m_Chk_DateCT(ChkNullStr As Variant) As Variant If IsDate(Trim(ChkNullStr)) Then m_Chk_DateCT = Trim(ChkNullStr) Else m_Chk_DateCT = Null End If End Function '**** Date: Table -> Control Function m_Chk_DateTC(ChkNullStr As Variant) As Variant If IsDate(Trim(ChkNullStr)) Then m_Chk_DateTC = Trim(ChkNullStr) Else m_Chk_DateTC = "____/__/__" End If End Function Function m_Chk_DateB(ChkNullStr As Variant) As Variant If IsDate(Trim(ChkNullStr)) Then m_Chk_DateB = Trim(ChkNullStr) Else m_Chk_DateB = "" End If End Function '**** Date: Table -> Control Function m_Chk_TimeM(ChkNullStr As Variant) As Variant If Not IsNull(ChkNullStr) Then m_Chk_TimeM = Trim(ChkNullStr) Else m_Chk_TimeM = "__:__" End If End Function '**** ¹®ÀÚ¿­À» ¼ýÀÚ·Î º¯È¯ÇÏ´Â ÇÔ¼ö Public Function m_CVal(St As String) As Variant Dim i As Integer Dim CSt As String For i = 1 To Len(St) If IsNumeric(Mid(St, i, 1)) Then CSt = CSt + Mid(St, i, 1) End If Next i m_CVal = Val(CSt) End Function '**** Uni_Code »ó¿¡¼­ÀÇ ¹®ÀÚ±æÀÌÀý´Ü Function m_ByteChk(ChkStr As String, CutByte As Integer) As String Dim AFOR, ACOUNT As Integer Dim MidStr As String, StrLen As Integer Dim ByteCnt As Integer Dim J As Integer StrLen = Len(Trim(ChkStr)) ByteCnt = 0 For AFOR = 1 To StrLen MidStr = Mid(ChkStr, AFOR, 1) If Asc(MidStr) < 0 Then ByteCnt = ByteCnt + 2 If CutByte = ByteCnt Then J = AFOR Exit For ElseIf CutByte < ByteCnt Then J = AFOR - 1 Exit For End If Else ByteCnt = ByteCnt + 1 If CutByte = ByteCnt Then J = AFOR Exit For End If End If J = AFOR Next m_ByteChk = Mid(ChkStr, 1, J) End Function '**** Control Clear ( 5°³ÀÇ Control Á¦¿Ü) Public Sub m_ConClear(Form_Name As Object, c1 As String, Optional c2 As String, Optional c3 As String, Optional c4 As String, Optional c5 As String) Dim TMask As String Dim MYcontrol As Control For Each MYcontrol In Form_Name.Controls If Not (MYcontrol.Name = c1 Or MYcontrol.Name = c2 Or MYcontrol.Name = c3 Or MYcontrol.Name = c4 Or MYcontrol.Name = c5) Then If TypeOf MYcontrol Is TextBox Then MYcontrol.Text = "" ' ElseIf TypeOf MYcontrol Is AdvencedTextBox Then ' MYcontrol.Text = "0" ElseIf TypeOf MYcontrol Is MaskEdBox Then TMask = MYcontrol.Mask MYcontrol.PromptInclude = False MYcontrol.Text = "" MYcontrol.PromptInclude = True MYcontrol.Mask = TMask ElseIf TypeOf MYcontrol Is vaSpread Then MYcontrol.Row = 1: MYcontrol.Col = 1 MYcontrol.Row2 = MYcontrol.MaxRows: MYcontrol.Col2 = MYcontrol.MaxCols MYcontrol.BlockMode = True MYcontrol.Action = 3 MYcontrol.BlockMode = False ElseIf TypeOf MYcontrol Is ComboBox Then MYcontrol.Text = "" End If End If Next End Sub '**** Control Àüü Clear Public Sub m_ConClearA(Form_Name As Object) Dim MYcontrol As Control For Each MYcontrol In Form_Name.Controls If TypeOf MYcontrol Is TextBox Then MYcontrol.Text = "" ' ElseIf TypeOf MYcontrol Is AdvencedTextBox Then ' MYcontrol.Text = "" ElseIf TypeOf MYcontrol Is MaskEdBox Then MYcontrol.PromptInclude = False MYcontrol.Text = "" MYcontrol.PromptInclude = True ElseIf TypeOf MYcontrol Is vaSpread Then MYcontrol.Row = 1: MYcontrol.Col = 1 MYcontrol.Row2 = MYcontrol.MaxRows: MYcontrol.Col2 = MYcontrol.MaxCols MYcontrol.BlockMode = True MYcontrol.Action = 3 MYcontrol.BlockMode = False ElseIf TypeOf MYcontrol Is ComboBox Then MYcontrol.Text = "" End If Next End Sub '**** spread ¼±Åýà »öÁöÁ¤ Public Sub m_SprColor_1(sprDisp As Object, Ri As Long) With sprDisp .BlockMode = True .Row = Ri: .Col = 1 .Row2 = Ri: .Col2 = .MaxCols .BackColor = "&H00E3FBD5" .BlockMode = False End With End Sub '**** spread ¼±Åýà »öÇØÁ¦(¿¬ÇÑ ³ë¶õ»ö) Public Sub m_SprColor_0Y(sprDisp As Object) With sprDisp .BlockMode = True .Row = 1: .Col = 1 .Row2 = .DataRowCnt: .Col2 = .MaxCols .BackColor = &HECFFFD .BlockMode = False End With End Sub '**** spread ¼±Åýà »öÇØÁ¦(Èò»ö) Public Sub m_SprColor_0W(sprDisp As Object) With sprDisp .BlockMode = True .Row = 1: .Col = 1 .Row2 = .DataRowCnt: .Col2 = .MaxCols .BackColor = &HFFFFFF .BlockMode = False End With End Sub '**** spreadÀÇ maxrow°ª¼³Á¤ ( spreadÀ̸§, µ¥ÀÌŸ¼ö, ÇÑÈ­¸éRow¼ö) Public Sub m_MaxRowSet(spread As Control, iCnt As Long, CNT As Long) Dim Mok As Long Dim Nam As Long If iCnt <= CNT Then spread.MaxRows = CNT Else Nam = iCnt Mod CNT Mok = iCnt / CNT If Nam > 0 Then spread.MaxRows = (Mok + 1) * CNT Else spread.MaxRows = Mok * CNT End If End If End Sub '**** SpreadSheet È­¸éÀ» Áö¿î´Ù. Public Sub m_SprCle(spread As Control, CNT As Long) spread.Row = 1 spread.Col = 1 spread.Row2 = spread.DataRowCnt spread.Col2 = CNT spread.BlockMode = True spread.Action = 12 spread.BlockMode = False End Sub '**** SpreadSheet È­¸éÀ» Áö¿î´Ù. Public Sub m_SprCle1(spread As Control, Col1 As Long, CNT As Long) spread.Row = 1 spread.Col = Col1 spread.Row2 = spread.DataRowCnt spread.Col2 = CNT spread.BlockMode = True spread.Action = 12 spread.BlockMode = False End Sub '**** SPREADSHEET ÀÇ ÁöÁ¤ÇÑ À§Ä¡¿¡¼­ Text¸¦ °¡Á®¿Â´Ù Public Function m_SprGettext(spread As Control, ByVal Srow As Long, Scol As Long) As Variant spread.Row = Srow spread.Col = Scol gSprGettext = Trim(spread.Text) End Function '**** spreadsheet ÀÇ ÁöÁ¤ÇÑ À§Ä¡¿¡ ÀڷḦ ³Ö´Â´Ù. Public Sub m_SprSettext(spread As Control, Srow As Long, Scol As Long, sText As Variant) spread.Row = Srow spread.Col = Scol spread.Text = sText End Sub '**** ControlÀÇ ³»¿ëÀ» Reverse »óÅ·Πº¯È¯ Public Sub m_Reverse(TmpCtl As Control) TmpCtl.SelStart = 0 TmpCtl.SelLength = Len(TmpCtl.Text) End Sub '**** ControlÀÇ ³»¿ëÀ» Reverse »óÅ·Πº¯È¯ Public Sub m_Reverse2(TmpCtl As Control) TmpCtl.SelStart = 0 TmpCtl.SelLength = Len(TmpCtl.Text) TmpCtl.BackColor = c_GotFocus End Sub 'ÇÑ±ÛÆ÷ÇÔÇѰÍÀÚ¸£±â Function MidH(k As String, B As Integer, c As Integer) As String MidH = StrConv(MidB(StrConv(k, 128), B, c), 64) End Function ''ÇÑ±ÛÆ÷ÇÔÇѰͱæÀ̾˾Ƴ»±â Function Lenh(k As String) As Integer Lenh = LenB(StrConv(k, 128)) End Function 'hex ===> decimal°ªÀ¸·Î ¹Ù²Ù±â Function m_Dec(sHex As String) As Integer Dim sTemp As Integer If Asc(sHex) >= 65 Then m_Dec = Asc(sHex) - 55 Else m_Dec = Val(sHex) End If End Function 'È­¸é ÄÜÆ®·Ñ Èò»öÀ¸·Î Public Sub m_CtrlColorW() ' Dim TMask As String ' Dim MYcontrol As Control ' Dim Co As Long ' For Each MYcontrol In FmMain.ActiveForm.Controls ' If TypeOf MYcontrol Is TextBox Then ' If MYcontrol.BackColor <> c_Gray Then ' MYcontrol.BackColor = c_LostFocus ' End If ' ElseIf TypeOf MYcontrol Is AdvencedTextBox Then ' If MYcontrol.BackColor <> c_Gray Then ' MYcontrol.BackColor = c_LostFocus ' End If ' ElseIf TypeOf MYcontrol Is MaskEdBox Then ' Co = MYcontrol.BackColor ' If Co <> c_Gray Then ' MYcontrol.BackColor = c_LostFocus ' End If ' ElseIf TypeOf MYcontrol Is ComboBox Then ' If MYcontrol.BackColor <> c_Gray Then ' MYcontrol.BackColor = c_LostFocus ' End If ' End If ' Next ' End Sub '** Masked Edit Control Clear ½Ã۱â ** Function m_MskClear(MYcontrol As Control) As Variant Dim TMask As String TMask = MYcontrol.Mask MYcontrol.PromptInclude = False MYcontrol.Text = "" MYcontrol.PromptInclude = True MYcontrol.Mask = TMask End Function '** System Date °¡Áö°í ¿À±â ** Function m_CurDate() As Date Dim RsDate As New ADODB.Recordset Dim strDate As String strDate = "SELECT Date = GetDate() " RsDate.Open strDate, Cn, adOpenStatic, adLockReadOnly If Not RsDate.EOF Then m_CurDate = RsDate!Date End If RsDate.Close: Set RsDate = Nothing End Function Function m_CurTime() As String Dim RsD As New ADODB.Recordset Dim StrD As String Dim iTime As String StrD = "select Getdate() As S1 " RsD.Open StrD, Cn, adOpenStatic, adLockReadOnly iTime = Format(RsD!S1, "hh:nn:ss") RsD.Close Set RsD = Nothing m_CurTime = Mid(iTime, 1, 5) End Function '³¯Â¥¸¦ yyyy/mm/dd Çü½ÄÀ¸·Î ¹Ù²Ù´Â ÇÔ¼ö Function m_Now(sDate As String) As String If IsDate(sDate) Then m_Now = Format(sDate, "YYYY") & "/" & Format(sDate, "MM") & "/" & Format(sDate, "DD") ElseIf Mid(sDate, 5, 1) = "/" And Mid(sDate, 8, 1) = "/" Then m_Now = sDate ElseIf Len(Trim(sDate)) = 8 Then m_Now = Mid(sDate, 1, 4) & "/" & Mid(sDate, 5, 2) & "/" & Mid(sDate, 7, 2) Else m_Now = "____/__/__" End If End Function '³¯Â¥¸¦ yyyy/mm/dd Çü½ÄÀ¸·Î ¹Ù²Ù´Â ÇÔ¼ö Function m_GetDate(ByVal sDate As String) As String If Trim(sDate) = "" Then m_GetDate = "____/__/__" ElseIf Mid(sDate, 5, 1) = "/" And Mid(sDate, 8, 1) = "/" Then m_GetDate = sDate Else m_GetDate = Mid(sDate, 1, 4) & "/" & Mid(sDate, 5, 2) & "/" & Mid(sDate, 7, 2) End If End Function '³¯Â¥¸¦ yyyymmdd Çü½ÄÀ¸·Î ¹Ù²Ù´Â ÇÔ¼ö Function m_SetDate(ByVal sDate As String) As String If Trim(sDate) = "" Then m_SetDate = "" ElseIf Mid(sDate, 5, 1) = "/" And Mid(sDate, 8, 1) = "/" Then m_SetDate = Mid(sDate, 1, 4) & Mid(sDate, 6, 2) & Mid(sDate, 9, 2) Else m_SetDate = sDate End If End Function '** ¿äÀÏ»êÃâ Function m_Yoil(sDate As String) As String Dim iYoil As Integer m_Yoil = "" If Not IsDate(sDate) Then Exit Function End If iYoil = Weekday(sDate) If iYoil = vbSunday Then m_Yoil = "ÀÏ" ElseIf iYoil = vbMonday Then m_Yoil = "¿ù" ElseIf iYoil = vbTuesday Then m_Yoil = "È­" ElseIf iYoil = vbWednesday Then m_Yoil = "¼ö" ElseIf iYoil = vbThursday Then m_Yoil = "¸ñ" ElseIf iYoil = vbFriday Then m_Yoil = "±Ý" ElseIf iYoil = vbSaturday Then m_Yoil = "Åä" End If End Function Public Sub m_Spread_Sorting(Temp_Spread As vaSpread, ByVal Temp_Item As Integer, ByVal Temp_Order As String) 'Spread »ó¿¡¼­ ¹Ù·Î Á¤·ÄÀ» ÇÒ¼ö ÀÖ´Â ·çƾÀÌ´Ù. Temp_Spread.ReDraw = False Temp_Spread.Col = 1 Temp_Spread.Col2 = Temp_Spread.MaxCols Temp_Spread.Row = 1 Temp_Spread.Row2 = Temp_Spread.MaxRows Temp_Spread.SortKey(1) = Temp_Item If UCase(Trim$(Temp_Order)) = "ASC" Then Temp_Spread.SortKeyOrder(1) = 1 Else Temp_Spread.SortKeyOrder(1) = 2 End If Temp_Spread.Action = 25 Temp_Spread.ReDraw = True End Sub '** Æû LOAD ¶Ç´Â UNLOAD ** Sub m_FormCount(p_Chk As String, p_FormNameString As Form, p_Ctrl As Control) ' Dim i As Integer ' ' Select Case p_Chk ' Case "L" ' FmMain.Toolbar1.Buttons(9).Enabled = True ' If Forms.Count > 4 Then ' FmMain.cboFormList.RemoveItem (0) ' Unload Forms(1) ' End If ' p_FormNameString.Show ' FmMain.cboFormList.AddItem p_FormNameString.Name & " : " & p_FormNameString.Caption ' FmMain.cboFormList.ListIndex = Forms.Count - 2 ' FmMain.txtCount = FmMain.cboFormList.ListCount ' Case "U" ' For i = 1 To 8 ' FmMain.Toolbar1.Buttons(i).Enabled = False ' Next ' FmMain.StatusBar.Panels(1).Text = "" ' If Forms.Count <= 4 Then ' i = FmMain.cboFormList.ListIndex ' FmMain.cboFormList.RemoveItem (i) ' FmMain.cboFormList.ListIndex = FmMain.cboFormList.ListCount - 1 ' Forms(FmMain.cboFormList.ListCount + 1).Show ' End If ' p_Ctrl.Enabled = True ' FmMain.txtCount = FmMain.cboFormList.ListCount ' End Select End Sub '****************************************************************************************************** ' ÀÌ ¸§ : CityId_Chk ' ±â ´É : Áֹεî·Ï¹øÈ£ °Ë»ö '****************************************************************************************************** Public Function m_CityId_Chk(CtlTxt As String) As Boolean Dim A(6) As String Dim B(7) As String Dim A1 As Integer, A2 As Integer, A13 As Integer, A4 As Integer, A5 As Integer, A6 As Integer Dim Tempi As Integer A(0) = Mid(CtlTxt, 1, 1) A(1) = Mid(CtlTxt, 2, 1) A(2) = Mid(CtlTxt, 3, 1) A(3) = Mid(CtlTxt, 4, 1) A(4) = Mid(CtlTxt, 5, 1) A(5) = Mid(CtlTxt, 6, 1) B(0) = Mid(CtlTxt, 8, 1) B(1) = Mid(CtlTxt, 9, 1) B(2) = Mid(CtlTxt, 10, 1) B(3) = Mid(CtlTxt, 11, 1) B(4) = Mid(CtlTxt, 12, 1) B(5) = Mid(CtlTxt, 13, 1) B(6) = Mid(CtlTxt, 14, 1) A1 = (m_Chk_Int(A(0)) * 2) + (m_Chk_Int(A(1)) * 3) + (m_Chk_Int(A(2)) * 4) + (m_Chk_Int(A(3)) * 5) + (m_Chk_Int(A(4)) * 6) + (m_Chk_Int(A(5)) * 7) A2 = (m_Chk_Int(B(0)) * 8) + (m_Chk_Int(B(1)) * 9) + (m_Chk_Int(B(2)) * 2) + (m_Chk_Int(B(3)) * 3) + (m_Chk_Int(B(4)) * 4) + (m_Chk_Int(B(5)) * 5) A13 = A1 + A2 A4 = A13 Mod 11 Tempi = 11 - A4 If Tempi >= 10 Then Tempi = Tempi - 10 End If If Tempi = m_Chk_Int(B(6)) Then m_CityId_Chk = True Else m_CityId_Chk = False End If End Function '**** »ç¾÷ÀÚµî·Ï ¹øÈ£ Public Function m_CompanyNo_Chk(CtlTxt As String) As Boolean Dim S_1(3) As String Dim S_2(2) As String Dim S_3(5) As String Dim SA_7 As Integer Dim SB_7 As Integer Dim SC_7 As Integer Dim RR_7 As Integer Dim ST_7 As Integer S_1(0) = Mid(CtlTxt, 1, 1) S_1(1) = Mid(CtlTxt, 2, 1) S_1(2) = Mid(CtlTxt, 3, 1) S_2(0) = Mid(CtlTxt, 5, 1) S_2(1) = Mid(CtlTxt, 6, 1) S_3(0) = Mid(CtlTxt, 8, 1) S_3(1) = Mid(CtlTxt, 9, 1) S_3(2) = Mid(CtlTxt, 10, 1) S_3(3) = Mid(CtlTxt, 11, 1) S_3(4) = Mid(CtlTxt, 12, 1) SA_7 = (m_Chk_Int(S_1(0)) * 1) + (m_Chk_Int(S_1(1)) * 3) + (m_Chk_Int(S_1(2)) * 7) SB_7 = (m_Chk_Int(S_2(0)) * 1) + (m_Chk_Int(S_2(1)) * 3) SC_7 = (m_Chk_Int(S_3(0)) * 7) + (m_Chk_Int(S_3(1)) * 1) + (m_Chk_Int(S_3(2)) * 3) RR_7 = m_Chk_Int(S_3(3)) * 5 SC_7 = SC_7 + ((RR_7 \ 10) + (RR_7 Mod 10)) ST_7 = SA_7 + SB_7 + SC_7 If m_Chk_Int(S_3(4)) = (10 - (ST_7 Mod 10)) Mod 10 Then m_CompanyNo_Chk = True Else m_CompanyNo_Chk = False End If End Function '************************************************************* ' spreadÀÇ maxrow°ª¼³Á¤ ( spreadÀ̸§, µ¥ÀÌŸ¼ö, ÇÑÈ­¸éRow¼ö) '************************************************************* Sub MaxRowSet(spread As Control, iCnt As Long, CNT As Long) Dim Mok As Long Dim Nam As Long If iCnt <= CNT Then spread.MaxRows = CNT Else Nam = iCnt Mod CNT Mok = Fix(iCnt / CNT) If Nam > 0 Then spread.MaxRows = (Mok + 1) * CNT Else spread.MaxRows = Mok * CNT End If End If End Sub 'Description : ¹®ÀÚ¿­À» ¼ýÀÚ·Î º¯È¯ÇÏ´Â ÇÔ¼ö 'History : 1998.3.2 - Y.S.R Public Function CVal(St As String) As Variant Dim i As Integer Dim CSt As String For i = 1 To Len(St) If IsNumeric(Mid(St, i, 1)) Then CSt = CSt + Mid(St, i, 1) End If Next i CVal = Val(CSt) End Function