FileManager_Runtime_1704102200_Net4
This commit is contained in:
240
DriveInfo/컨트롤/ImpCtl.vb
Normal file
240
DriveInfo/컨트롤/ImpCtl.vb
Normal file
@@ -0,0 +1,240 @@
|
||||
Public Class impctl
|
||||
Dim v필드명 As String
|
||||
'Dim v_nullvaluevisible As Boolean = True
|
||||
|
||||
Public Event TimeExpired(ByVal sender As Object, ByVal Status As String)
|
||||
''' <summary>
|
||||
''' 사용여부
|
||||
''' </summary>
|
||||
''' <value></value>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Overloads Property enabled() As Boolean
|
||||
Get
|
||||
Return Me.ComboBox1.Enabled
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
Me.ComboBox1.Enabled = value
|
||||
Me.Label1.Enabled = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' 데이터가 표시된 포맷을 입력
|
||||
''' </summary>
|
||||
''' <value></value>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Public Property 포맷마스크() As String
|
||||
Get
|
||||
Return Me.TextBox3.Text
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Me.TextBox3.Text = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' 연결할 필드명입니다.
|
||||
''' </summary>
|
||||
''' <value></value>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Public Property 필드명() As String
|
||||
Get
|
||||
Return v필드명
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
v필드명 = value
|
||||
End Set
|
||||
End Property
|
||||
Public Property 제목() As String
|
||||
Get
|
||||
Return Me.Label1.Text
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Me.Label1.Text = value.Replace("/", vbCrLf)
|
||||
End Set
|
||||
End Property
|
||||
Public Property 문자열자르기() As String
|
||||
Get
|
||||
Return Me.TextBox2.Text
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Me.TextBox2.Text = value
|
||||
End Set
|
||||
End Property
|
||||
Public Property 열번호() As String
|
||||
Get
|
||||
Return Me.ComboBox1.Text
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Me.ComboBox1.Text = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
Public Function getValue(ByVal Spread As FarPoint.Win.Spread.FpSpread, ByVal RowPos As Integer, Optional ByVal OrgFn As String = "원본파일명", Optional ByVal OrgExt As String = "원본확장자") As String
|
||||
Dim SUbidx As Integer
|
||||
Dim VALSTR As String
|
||||
Dim 파일명 As String
|
||||
|
||||
If Me.열번호 = "" Then '//즉 없다는뜻이다.
|
||||
Return ""
|
||||
Else '//있다.
|
||||
'//원본파일명과 원본확장가 이 두가지를 처리해야한다.
|
||||
|
||||
If Me.열번호.Length = 1 Then Return Me.열번호 '//길이 1개짜리는 뭔지모르겟지만 걍 반환
|
||||
If Me.열번호.Substring(0, 1) = "#" AndAlso IsNumeric(Me.열번호.Substring(1)) = False Then Return Me.열번호 '//#인데 그 다음이 숫자가 아닐경우는 바로 리턴
|
||||
|
||||
|
||||
If Me.열번호 = "파일명" Then
|
||||
VALSTR = OrgFn
|
||||
ElseIf Me.열번호 = "확장자" Then
|
||||
VALSTR = OrgExt
|
||||
ElseIf Me.열번호.Substring(0, 1) <> "#" Then '//열번호도 아니고 원본내용도아니라면 그냥 리턴
|
||||
Return Me.열번호
|
||||
Else '//이건 열번호를 지정한 경우에해당한다.
|
||||
If RowPos > Spread.ActiveSheet.RowCount Then Return "[Err:줄초과]" '//줄번호가 전체 줄번호를 초과할경우
|
||||
SUbidx = Me.열번호.Substring(1) '//#을 제외한 컬럼번호만을 가져온다.
|
||||
If SUbidx > Spread.ActiveSheet.ColumnCount Then Return "[Err:열초과]" '//지정된 컬럼번호가 전체 컬럼수를 초과할경우
|
||||
VALSTR = Spread.ActiveSheet.Cells(RowPos - 1, CInt(SUbidx - 1)).Text
|
||||
If VALSTR.Trim = "" Then Return "" '//가져온문자가없으면 리턴
|
||||
End If
|
||||
|
||||
파일명 = VALSTR
|
||||
'//이걸로 파일명은 추출했따 이제 자르기만 수행하면된다.
|
||||
|
||||
If Me.문자열자르기 = "" OrElse Me.문자열자르기 = "0,0" Then '//문자열자르기확인 없다 그대로 리턴
|
||||
Return VALSTR
|
||||
Else '//문자열자르기가 있으면 잘라서 보내준다.
|
||||
Dim DIV(1) As String
|
||||
If Me.문자열자르기.IndexOf(",") = -1 Then
|
||||
DIV(0) = Me.문자열자르기
|
||||
DIV(1) = "0"
|
||||
Else
|
||||
DIV = Me.문자열자르기.Split(",")
|
||||
End If
|
||||
|
||||
If DIV(1) = "0" Then '//시작부터 끝까지
|
||||
Try
|
||||
If 파일명.Length < DIV(0) Then
|
||||
VALSTR = ""
|
||||
Else
|
||||
VALSTR = 파일명.Substring(DIV(0) - 1)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
VALSTR = 파일명
|
||||
End Try
|
||||
Return VALSTR
|
||||
|
||||
Else '/지정범위
|
||||
Try
|
||||
VALSTR = 파일명.Substring(DIV(0) - 1, DIV(1))
|
||||
Catch ex As Exception
|
||||
VALSTR = 파일명
|
||||
End Try
|
||||
Return VALSTR
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
Public Sub New()
|
||||
|
||||
' 이 호출은 Windows Form 디자이너에 필요합니다.
|
||||
InitializeComponent()
|
||||
|
||||
' AddHandler TextBox1.TextChanged, ADDRESS OF
|
||||
'AddHandler TextBox1.TextChanged, AddressOf ControlChanged
|
||||
' AddHandler Me.DoubleClick, Me.TextBox1.DoubleClick
|
||||
'AddHandler Me.TimeExpired, AddressOf timeExp
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
Private Sub timeExp(ByVal sender As Object, ByVal stri As String)
|
||||
'MsgBox(stri)
|
||||
|
||||
End Sub
|
||||
Private Sub ControlChanged(ByVal sender As Object, ByVal e As System.EventArgs)
|
||||
Dim A As TextBox = CType(sender, TextBox)
|
||||
If A.Text.Length <= 0 Then Exit Sub
|
||||
|
||||
Select Case A.Text.Substring(0, 1)
|
||||
Case ":"
|
||||
If IsNumeric(A.Text.Substring(1)) Then
|
||||
A.BackColor = Color.LawnGreen
|
||||
Else
|
||||
A.BackColor = Color.Tomato
|
||||
End If
|
||||
Case "?"
|
||||
A.BackColor = Color.Gray
|
||||
Case "#"
|
||||
A.BackColor = Color.SteelBlue
|
||||
Case Else
|
||||
A.BackColor = Color.White
|
||||
End Select
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub UserControl1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.DoubleClick
|
||||
RaiseEvent TimeExpired(Me, "sdf")
|
||||
End Sub
|
||||
|
||||
Private Sub TextBox1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs)
|
||||
|
||||
RaiseEvent TimeExpired(Me, "sdf")
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub TextBox1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.Enter
|
||||
Me.ComboBox1.SelectAll()
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub TextBox2_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox2.Enter
|
||||
Me.TextBox2.SelectAll()
|
||||
End Sub
|
||||
|
||||
Private Sub TextBox2_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox2.GotFocus
|
||||
Me.TextBox2.SelectAll()
|
||||
' SendKeys.Send("{TAB}")
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub TextBox1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.GotFocus
|
||||
Me.ComboBox1.SelectAll()
|
||||
End Sub
|
||||
|
||||
Private Sub ComboBox1_STextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.TextChanged
|
||||
'이 컨트롤은 파일관리자용으로 특화된 컨트롤이다.
|
||||
'기본적인 입력은 해당 문자열이다
|
||||
'#숫자 는 연결시킬 열번호이다. (이것은 푸른색으로한다)
|
||||
|
||||
Dim A As ComboBox = CType(sender, ComboBox)
|
||||
If A.Text.Length <= 0 Then Exit Sub '//입력된 길이가 없다면 리턴
|
||||
|
||||
|
||||
|
||||
Select Case A.Text.Substring(0, 1) '//앞자리문자로 구분한다.
|
||||
Case "#"
|
||||
If Not IsNumeric(A.Text.Substring(1)) Then
|
||||
A.BackColor = Color.Tomato
|
||||
Else
|
||||
A.BackColor = Color.SteelBlue
|
||||
End If
|
||||
|
||||
Case Else
|
||||
A.BackColor = Color.White
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user