FileManager_Runtime_1704102200_Net4

This commit is contained in:
Chikyun
2019-08-04 20:13:56 +09:00
commit 6b10d3e460
100 changed files with 16893 additions and 0 deletions

127
DriveInfo/컨트롤/ImpCtl.Designer.vb generated Normal file
View File

@@ -0,0 +1,127 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class impctl
Inherits System.Windows.Forms.UserControl
'UserControl은 Dispose를 재정의하여 구성 요소 목록을 정리합니다.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Windows Form 디자이너에 필요합니다.
Private components As System.ComponentModel.IContainer
'참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다.
'수정하려면 Windows Form 디자이너를 사용하십시오.
'코드 편집기를 사용하여 수정하지 마십시오.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container
Me.TextBox3 = New System.Windows.Forms.TextBox
Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components)
Me.TextBox2 = New System.Windows.Forms.TextBox
Me.Label1 = New System.Windows.Forms.Label
Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel
Me.ComboBox1 = New System.Windows.Forms.ComboBox
Me.TableLayoutPanel1.SuspendLayout()
Me.SuspendLayout()
'
'TextBox3
'
Me.TextBox3.BackColor = System.Drawing.Color.LightSlateGray
Me.TextBox3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.TextBox3.Dock = System.Windows.Forms.DockStyle.Fill
Me.TextBox3.Location = New System.Drawing.Point(0, 111)
Me.TextBox3.Margin = New System.Windows.Forms.Padding(0)
Me.TextBox3.Name = "TextBox3"
Me.TextBox3.Size = New System.Drawing.Size(74, 21)
Me.TextBox3.TabIndex = 17
Me.TextBox3.TabStop = False
Me.TextBox3.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'TextBox2
'
Me.TextBox2.BackColor = System.Drawing.Color.LightSlateGray
Me.TextBox2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.TextBox2.Dock = System.Windows.Forms.DockStyle.Fill
Me.TextBox2.Location = New System.Drawing.Point(0, 89)
Me.TextBox2.Margin = New System.Windows.Forms.Padding(0)
Me.TextBox2.Name = "TextBox2"
Me.TextBox2.Size = New System.Drawing.Size(74, 21)
Me.TextBox2.TabIndex = 15
Me.TextBox2.TabStop = False
Me.TextBox2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'Label1
'
Me.Label1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Label1.BackColor = System.Drawing.Color.White
Me.Label1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.Label1.Font = New System.Drawing.Font("맑은 고딕", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.Label1.Location = New System.Drawing.Point(0, 0)
Me.Label1.Margin = New System.Windows.Forms.Padding(0)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(74, 67)
Me.Label1.TabIndex = 14
Me.Label1.Text = "제목줄"
Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'TableLayoutPanel1
'
Me.TableLayoutPanel1.ColumnCount = 1
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
Me.TableLayoutPanel1.Controls.Add(Me.Label1, 0, 0)
Me.TableLayoutPanel1.Controls.Add(Me.TextBox3, 0, 3)
Me.TableLayoutPanel1.Controls.Add(Me.TextBox2, 0, 2)
Me.TableLayoutPanel1.Controls.Add(Me.ComboBox1, 0, 1)
Me.TableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill
Me.TableLayoutPanel1.Location = New System.Drawing.Point(0, 0)
Me.TableLayoutPanel1.Margin = New System.Windows.Forms.Padding(0)
Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
Me.TableLayoutPanel1.RowCount = 4
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 22.0!))
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 22.0!))
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 22.0!))
Me.TableLayoutPanel1.Size = New System.Drawing.Size(74, 133)
Me.TableLayoutPanel1.TabIndex = 18
'
'ComboBox1
'
Me.ComboBox1.Dock = System.Windows.Forms.DockStyle.Fill
Me.ComboBox1.FormattingEnabled = True
Me.ComboBox1.Items.AddRange(New Object() {"#열번호", "?", "*", "파일명", "확장자"})
Me.ComboBox1.Location = New System.Drawing.Point(0, 67)
Me.ComboBox1.Margin = New System.Windows.Forms.Padding(0)
Me.ComboBox1.Name = "ComboBox1"
Me.ComboBox1.Size = New System.Drawing.Size(74, 20)
Me.ComboBox1.TabIndex = 18
'
'impctl
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 12.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.Controls.Add(Me.TableLayoutPanel1)
Me.Name = "impctl"
Me.Size = New System.Drawing.Size(74, 133)
Me.TableLayoutPanel1.ResumeLayout(False)
Me.TableLayoutPanel1.PerformLayout()
Me.ResumeLayout(False)
End Sub
Friend WithEvents TextBox3 As System.Windows.Forms.TextBox
Friend WithEvents ToolTip1 As System.Windows.Forms.ToolTip
Friend WithEvents TextBox2 As System.Windows.Forms.TextBox
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel
Friend WithEvents ComboBox1 As System.Windows.Forms.ComboBox
End Class

View File

@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View 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