솔루션에 fp5,fp13 포함

This commit is contained in:
chi
2020-05-24 21:15:53 +09:00
parent 9e83bd63bd
commit 32ebea03fb
517 changed files with 170275 additions and 120 deletions

1848
Epole.fp13/입력폼/AddEpole.Designer.vb generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,156 @@
<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="StatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>331, 17</value>
</metadata>
<metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>927, 17</value>
</metadata>
<metadata name="ErrorProvider1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1036, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>65</value>
</metadata>
<metadata name="ContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>449, 17</value>
</metadata>
<metadata name="fp_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>204, 17</value>
</metadata>
<metadata name="bn.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>799, 17</value>
</metadata>
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>140, 17</value>
</metadata>
<metadata name="IreaDataSet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>609, 17</value>
</metadata>
<metadata name="Timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>709, 17</value>
</metadata>
<metadata name="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>865, 17</value>
</metadata>
</root>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,153 @@
<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="StatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>199, 31</value>
</metadata>
<metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>459, 6</value>
</metadata>
<metadata name="ErrorProvider1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>308, 32</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>69</value>
</metadata>
<metadata name="bn.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>169, 6</value>
</metadata>
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>5, 15</value>
</metadata>
<metadata name="IreaDataSet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>588, 5</value>
</metadata>
<metadata name="ContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>307, 5</value>
</metadata>
<metadata name="view1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>760, 3</value>
</metadata>
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>599, 29</value>
</metadata>
<metadata name="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>91, 9</value>
</metadata>
</root>

View File

@@ -0,0 +1,773 @@
Public Class AddEpoleCable
' Dim SaveFlag As Boolean = False
Dim DT As ireaDataSet.Detail_CableDataTable
Dim Sorted As ESorted = ESorted.No
Dim viewTag As String = "jcable"
Public PrnForm As printformCable
Dim IsNew As Boolean = False
Private Sub NewRowAddToDataTable(ByVal sender As Object, ByVal e As System.Data.DataTableNewRowEventArgs) 'Handles DT.TableNewRow '//New Row Add & Setting Default Data
Dim NEwrow As DataRow = e.Row
NEwrow("rowid") = System.Guid.NewGuid
NEwrow("관리ID") = CInt(Me.h_id.Text)
NEwrow("번호") = CInt(Me.Get_NewNumber)
NEwrow("출력") = True
NEwrow("비고1") = ""
NEwrow("비고2") = ""
NEwrow("비고3") = ""
NEwrow("비고4") = ""
NEwrow("비고5") = ""
Dim newid As Integer = CInt(Me.Get_NewNumber)
If Me.Sorted = ESorted.CANT Then
NEwrow("정렬번호") = "" & "1" & Format(newid, "00000") & "1000"
Else
NEwrow("정렬번호") = "1" & Format(newid, "00000") & "1000"
End If
End Sub
Public Sub New(ByVal maxid As Integer)
' 이 호출은 Windows Form 디자이너에 필요합니다.
InitializeComponent()
Dim INI As New MyINI2(My.Application.Info.DirectoryPath & "\epole.ini")
Me.h_date.Enabled = True
Me.h_name.Enabled = True
Me.h_bigo.Enabled = True
Me.h_id.Enabled = False
Me.h_dan.Enabled = True
Me.Text = "지중(맨홀표시찰및계통도) 입력(신규작업)"
Me.h_name.Text = INI.Read("main", "lastkname1") 'InputBox("거래처명을 입력하세요", "신규입력-거래처명", "해광기획")
Me.h_dan.Text = "0" 'InputBox("수량별 단가를 입력하세요", "신규입력-단가", "0")
Me.h_id.Text = maxid
Me.h_bigo.Text = "지중(맨홀표시찰및계통도)제작(" & Format(Now, "MM") & "-" & Format(Now, "dd") & ")"
Me.h_date.Text = Format(Now, "yyyy/MM/dd")
Me.IsNew = True
End Sub
Public Sub New(ByVal v_id As String, ByVal V_DATE As String, ByVal V_NAME As String, ByVal V_BIGO As String, ByVal V_DAN As String)
' 이 호출은 Windows Form 디자이너에 필요합니다.
InitializeComponent()
Me.h_date.Text = V_DATE
Me.h_name.Text = V_NAME
Me.h_bigo.Text = V_BIGO
Me.h_dan.Text = V_DAN
Me.h_id.Text = v_id
Me.h_date.Enabled = False
Me.h_name.Enabled = False
Me.h_bigo.Enabled = False
Me.h_id.Enabled = False
Me.h_id.Enabled = False
Me.Text = "지중(맨홀표시찰및계통도) 입력"
End Sub
Private Sub AddEpole_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Me.bs.EndEdit()
If bs.Count > 0 Then
Dim Drv As DataRowView
Drv = bs.Item(bs.Count - 1)
If NVL(Drv("관리구"), "") = "" AndAlso _
NVL(Drv("전산번호"), "") = "" Then
Drv.Delete()
End If
End If
Me.CHk_Modify()
Frm_Main.bt_find.PerformClick()
End Sub
Private Sub AddEpole_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.view1.ASetting_Load(False, Me.viewTag)
Me.view1.한글필드 = New String() {"HASS", "HADL", "HBSS", "HBDL", "시공년월", "시공회사", "감독자", "비고1", "비고2", "비고3", "비고4", "비고5", "비고6", _
"S0수용가", "S1위치", "S2위치", "S3위치", "S4위치", _
"S0SS", "S1SS", "S2SS", "S3SS", "S4SS", "S0DL", "S1DL", "S2DL", "S3DL", "S4DL"}
Me.view1.Font = New Font(ViewFont.FontName, ViewFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.bn.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.ToolStrip1.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.StatusStrip1.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
AddHandler IreaDataSet1.Detail_Cable.TableNewRow, AddressOf NewRowAddToDataTable
DT = Me.IreaDataSet1.Detail_Cable
Me.SETTOOLTIP()
''''''''데이터보여주기
If Me.IsNew Then '//현재id와같은 데이터는 모두삭제를 하게한다.
Dim Cmd As New OleDbCommand("delete from detail_cable where 관리id=" & Me.h_id.Text, Me.ta.Connection)
If Cmd.Connection.State <> ConnectionState.Open Then Cmd.Connection.Open()
Cmd.ExecuteNonQuery()
Me.IsNew = False
End If
Display_Data()
End Sub
Private Sub SETTOOLTIP()
Dim TMSG As New System.Text.StringBuilder()
TMSG.AppendLine()
TMSG.AppendLine("오른쪽 클릭시 기타메뉴가 표시됩니다")
TMSG.AppendLine()
TMSG.AppendLine("<단축키 : ENTER:다음칸 , SHIFT+TAB:이전칸>")
TMSG.AppendLine("<단축키 : DELETE:현재칸 지우기 , SHIFT+DELETE 현재줄 삭제>")
TMSG.AppendLine("<단축키 : F2:현재칸지우고 편집>")
TMSG.AppendLine("<단축키 : SPACE-BAR/F3:현재칸 편집>")
TMSG.AppendLine("<단축키 : CTRL + 마우스휠 : 화면크기를 조절합니다>")
TMSG.AppendLine()
Me.ToolTip1.SetToolTip(Me.view1, TMSG.ToString)
End Sub
Private Sub SetFarPoint()
' Me.view1.AEnterToNextItem()
Me.view1.DataSource = Me.bs
End Sub
''' <summary>
''' 신규추가시 번호를 생성해줍니다(현존최대넘버+1)
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Private Function Get_NewNumber() As Integer
Dim maxCnt As Integer = 0
For i As Integer = 0 To Me.view1_Sheet1.RowCount - 1
If Me.view1_Sheet1.Cells(i, 1).Value > maxCnt Then maxCnt = Me.view1_Sheet1.Cells(i, 1).Value
Next
Return maxCnt + 1
End Function
Private Sub CHk_Modify(Optional ByVal prompt As Boolean = True)
Me.bs.EndEdit()
If Not Me.IreaDataSet1.HasChanges Then
NOTICE("변경된 내용이 없습니다", Me.lb_msg)
Return
End If
If prompt Then
If MsgBox("변경된 데이터를 저장하시겠습니까?", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "저장확인") <> MsgBoxResult.Ok Then Return
End If
Try
Me.ta.Update(Me.IreaDataSet1.Detail_Cable) '//Commit insert/update/delete
Me.IreaDataSet1.jjungtable.AcceptChanges() '//Set All Green
Try
Dim SQl As String = "insert into 전주관리(id,날짜,거래처명,비고,총수량,단가,금액,번호찰구분) values(:1,:2,:3,:4,:5,:6,:7,6)"
If Me.ta.Connection.State <> ConnectionState.Open Then Me.ta.Connection.Open()
Dim Cmd As New OleDbCommand(SQl, Me.ta.Connection)
Cmd.Parameters.Add(":1", OleDbType.Integer).Value = Val(Me.h_id.Text)
Cmd.Parameters.Add(":2", OleDbType.Date).Value = IIf(Me.h_date.Text.Trim = "", DBNull.Value, Me.h_date.Text.Trim)
Cmd.Parameters.Add(":3", OleDbType.VarChar).Value = Me.h_name.Text
Cmd.Parameters.Add(":4", OleDbType.VarChar).Value = Me.h_bigo.Text
Cmd.Parameters.Add(":5", OleDbType.Integer).Value = Me.IreaDataSet1.Detail_Cable.Rows.Count 'Me.view1_Sheet1.RowCount
Cmd.Parameters.Add(":6", OleDbType.Integer).Value = Val(Me.h_dan.Text)
Cmd.Parameters.Add(":7", OleDbType.Currency).Value = Val(Me.h_dan.Text) * Me.view1_Sheet1.RowCount
Cmd.ExecuteNonQuery()
Catch ex As Exception
Dim SQl As String = "update 전주관리 set 날짜=:2,거래처명=:3,비고=:4,총수량=:5,단가=:6,금액=:7,번호찰구분=6 where id=:1"
If Me.ta.Connection.State <> ConnectionState.Open Then Me.ta.Connection.Open()
Dim Cmd As New OleDbCommand(SQl, Me.ta.Connection)
Cmd.Parameters.Add(":2", OleDbType.Date).Value = IIf(Me.h_date.Text.Trim = "", DBNull.Value, Me.h_date.Text.Trim)
Cmd.Parameters.Add(":3", OleDbType.VarChar).Value = Me.h_name.Text
Cmd.Parameters.Add(":4", OleDbType.VarChar).Value = Me.h_bigo.Text
Cmd.Parameters.Add(":5", OleDbType.Integer).Value = Me.IreaDataSet1.Detail_Cable.Rows.Count
Cmd.Parameters.Add(":6", OleDbType.Integer).Value = Val(Me.h_dan.Text)
Cmd.Parameters.Add(":7", OleDbType.Currency).Value = Val(Me.h_dan.Text) * Me.view1_Sheet1.RowCount
Cmd.Parameters.Add(":1", OleDbType.Integer).Value = Val(Me.h_id.Text)
Cmd.ExecuteNonQuery()
Finally
'MakeList.bt_find.PerformClick()
'Display_Data(True)
Dim INI As New MyINI2(My.Application.Info.DirectoryPath & "\epole.ini")
INI.Write("main", "lastkname1", Me.h_name.Text)
NOTICE("저장되었습니다", Me.lb_msg)
My.Computer.Audio.Play(My.Application.Info.DirectoryPath & "\sound\notify.wav", AudioPlayMode.Background)
'MakeList.Display_Data() '//이건 bt_find 에서 재호출된다.
End Try
Catch ex As Exception
MsgBox("데이터베이스 업데이트중 오류가 발생했습니다" & vbCrLf & vbCrLf & ex.ToString, MsgBoxStyle.Critical, "ERROR-")
Me.IreaDataSet1.Detail_Cable.RejectChanges()
NOTICE("저장 실패!", Me.lb_msg)
Finally
view1.ActiveSheet.GetDataView(True) '//화면을 갱신한다.
End Try
End Sub
Private Sub Display_Data(Optional ByVal AutoSort As Boolean = False) '//뷰에데이터를 표시한다.
Me.bs.Sort = "정렬번호,번호" '//정렬된것들은 정렬된채로 보여준다.
Me.ta.Fill(Me.IreaDataSet1.Detail_Cable, Me.h_id.Text) '//관리id를 통해서 데이터를 채운다.
SetFarPoint() '//여기서 파포인트를 바인딩 소스와 연결시킨다(바인딩 소스는 테이블에 연결되어있다)
If Me.IreaDataSet1.Detail_Cable.Rows.Count <= 0 Then
Me.bt_addrow.PerformClick()
NOTICE("데이터가 존재하지 않습니다", Color.Red, Me.lb_msg)
Return
End If
NOTICE(Me.view1.ActiveSheet.RowCount & "개의 데이터가 검색되었습니다", Me.lb_msg)
End Sub
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
Me.bt_commit.PerformClick() '//저장할게잇으면 다 저장한다.
Me.view1.SuspendLayout()
Dim A As New XLSImport(Me.IreaDataSet1, Me.h_id.Text, 6)
A.ShowDialog()
Me.CHk_Modify(False)
Me.Display_Data()
Me.view1.ResumeLayout()
End Sub
Private Sub ToolStripButton2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click
Me.bs.EndEdit()
If Me.view1.Cells("출력").Value = False Then
MsgBox("현재 선택된 줄은 출력이 되지않도록 설정되어있습니다", MsgBoxStyle.Critical, "확인")
Return
End If
PrnForm = New printformCable(Me.IreaDataSet1.Detail_Cable, CType(Me.bs.Current, DataRowView)) 'Me.view1.ActiveSheet.ActiveRowIndex)
PrnForm.ShowDialog()
End Sub
Private Sub ToolStripMenuItemolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem.Click
'''''검색방법은 1번개체부터 마지막개체까지 풀루프를 돌면서 동일한 놈을 찾는다.
Dim 원본, 대상 As String 'New System.Text.StringBuilder
Dim fcnt As Integer = 0
Me.pbar.Value = 0
Me.pbar.Minimum = 0
Me.pbar.Maximum = Me.view1.ActiveSheet.RowCount
NOTICE("중복되는 [관리구/전산번호]를 찾는중입니다...", Me.lb_msg)
Me.Invalidate()
For Each A As FarPoint.Win.Spread.Row In Me.view1.ActiveSheet.Rows
원본 = Me.view1.ActiveSheet.Cells(A.Index, 3).Value & Me.view1.ActiveSheet.Cells(A.Index, 4).Value
If 원본.ToString <> "" Then
For Each B As FarPoint.Win.Spread.Row In Me.view1.ActiveSheet.Rows
If A.Index <> B.Index Then '//같은라인은 피하고 그렇지 않은 라인의 번호를 확인한다.
대상 = Me.view1.ActiveSheet.Cells(B.Index, Me.view1.ColIndex("관리구")).Value & Me.view1.ActiveSheet.Cells(B.Index, Me.view1.ColIndex("전산번호")).Value
If 원본.ToString = 대상.ToString Then
fcnt += 1
Me.view1.ActiveSheet.Cells(A.Index, Me.view1.ACheckBox_ColIndex).Value = True
Me.view1.ActiveSheet.Cells(B.Index, Me.view1.ACheckBox_ColIndex).Value = True
End If
End If
Next
End If
If Me.pbar.Value < Me.pbar.Maximum Then Me.pbar.Value += 1
Me.Invalidate()
Next
NOTICE("[관리구/전산번호] 중복검사 완료(" & fcnt & "개의 데이터를 찾았습니다)", Me.lb_msg)
End Sub
Private Sub BindingNavigatorAddNewItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_addrow.Click
If Me.Sorted = ESorted.NULL Then Check_Sorted()
Me.view1.AAddNewRow()
End Sub
Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_commit.Click
'//언바운드된 열을 여기서 바운드시켜분다.
'Me.view1.Attach_Ubound(3)
Me.bs.EndEdit()
If bs.Count > 0 Then
Dim Drv As DataRowView
Drv = bs.Item(bs.Count - 1)
If NVL(Drv("관리구"), "") = "" AndAlso _
NVL(Drv("전산번호"), "") = "" Then
Drv.Delete()
End If
End If
If Not Me.IreaDataSet1.HasChanges Then
NOTICE("변경된 데이터가 없습니다", Me.lb_msg)
Return
End If
Me.bt_find.PerformClick()
End Sub
Private Sub ToolStripButton5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_cancel.Click
Me.bs.EndEdit()
If Me.IreaDataSet1.HasChanges Then
Me.IreaDataSet1.RejectChanges()
NOTICE("변경된 내용이 취소되었습니다.", Me.lb_msg)
Else
NOTICE("변경내역이 없습니다", Me.lb_msg)
End If
End Sub
Private Sub olStripMenuItem1tripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles olStripMenuItem1.Click
Me.view1.ASelect(Me.view1.ACheckBox_ColIndex)
End Sub
Private Sub lStripMenuItem2ipMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lStripMenuItem2.Click
Me.view1.AUnselect(Me.view1.ACheckBox_ColIndex)
End Sub
Private Sub gfsdlStripMenuItem2MenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles gfsdlStripMenuItem2.Click
Me.view1.AReverse(Me.view1.ACheckBox_ColIndex)
End Sub
Private Sub BindingNavigatorDeleteItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorDeleteItem.Click
If Me.view1.ActiveSheet.Rows.Count > 0 Then
Me.view1.ActiveSheet.ActiveRow.Remove()
NOTICE("현재줄이 삭제되었습니다", Me.lb_msg)
Else
MsgBox("더이상 삭제할 줄이 없습니다")
End If
End Sub
Private Sub view1_Arin_AddLog(ByVal sender As Object, ByVal msg As String) Handles view1.Arin_AddLog
If Admin Then Log.Show()
If Admin Then Log.RichTextBox1.AppendText(msg & vbCrLf)
End Sub
Private Sub view1_Arin_Before_EditModeOff(ByVal sender As Object, ByVal e As System.EventArgs) Handles view1.Arin_Before_EditModeOff
'With Me.view1.ActiveSheet
' Select Case .ActiveColumn.Label
' Case "형식및용량"
' If (.Cells(.ActiveRowIndex, .ActiveColumnIndex - 1).Text = "" OrElse _
' .Cells(.ActiveRowIndex, .ActiveColumnIndex - 1).Text = vbNullString) AndAlso _
' .ActiveCell.Text.Length = 4 Then
' .ActiveCell.Text = .ActiveCell.Text.Substring(0, 2) & "-" & .ActiveCell.Text.Substring(2, 1) & "-" & .ActiveCell.Text.Substring(3)
' 'Else
' ' Me.Text = .ActiveCell.Text.Length & "/" & .Cells(.ActiveRowIndex, .ActiveColumnIndex - 1).Text
' End If
' Case "기기명"
' Select Case .ActiveCell.Text.ToUpper
' Case "SW"
' .ActiveCell.Text = "PAD SW"
' Case "SK"
' .ActiveCell.Text = "지상개폐기"
' Case "TR"
' .ActiveCell.Text = "PAD TR"
' Case "TK"
' .ActiveCell.Text = "지상변압기"
' End Select
' End Select
'End With
End Sub
Private Sub view1_DragFillBlockCompleted(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.DragFillBlockCompletedEventArgs) Handles view1.DragFillBlockCompleted
For i As Integer = e.RowBegin To e.RowBegin + e.NumberToCopy
' Dim ds As DataSet = FpSpread1.Sheets(0).DataSource
Me.IreaDataSet1.Detail_Cable.Rows(view1.Sheets(0).GetModelRowFromViewRow(i)).EndEdit()
Next
End Sub
Private Sub Check_Sorted()
If Me.Sorted = ESorted.NULL Then '//아직 검색이된건지 확인안해봣다
Me.Sorted = ESorted.No
For i As Short = 0 To IIf(Me.DT.Rows.Count > 10, 10, Me.DT.Rows.Count - 1)
If NVL(DT.Rows(i)("정렬번호")) <> "" AndAlso NVL(DT.Rows(i)("정렬번호")) <> "히히히000000000" AndAlso NVL(DT.Rows(i)("정렬번호")) <> "" Then '//데이터가있다면
Me.Sorted = ESorted.YES
Exit For
End If
Next
End If
End Sub
Private Sub Make_Index()
Work_Form("인덱스를 생성하고 있습니다")
Form_Work.ProgressBar1.Minimum = 0
Form_Work.ProgressBar1.Maximum = Me.DT.Rows.Count
Dim Num As Short
For i As Integer = 0 To Me.DT.Rows.Count - 1
Form_Work.pval = i
Num = Me.DT.Rows(i)("번호")
Me.DT.Rows(i)("정렬번호") = "1" & Format(Num, "00000") & "1000"
Next
Form_Work.Close() '//작업창 닫기
Me.Sorted = ESorted.YES
End Sub
Private Sub bt_insertrow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_insertrow.Click
' Me.view1.AInsertNewRow() '//번호문제도있다.
'//현재줄 바로위에 한줄을삽입한다.
'//새로운ID는 전줄의ID+1 이며
Me.bs.EndEdit()
'//위에서부터 5개또는 마지막까지 이게 정렬된데이터인지 확인합니다.
If Me.Sorted = ESorted.NULL Then Check_Sorted()
If Me.Sorted = ESorted.No Then Make_Index() '//인덱스를 생성한다.
Dim NR As ireaDataSet.Detail_CableRow = Me.DT.NewDetail_CableRow '//삽입은 현재줄 위에 삽입하는것이다. 현재줄의 인덱스번호가 숫자형태라면 정렬이안된데이터다
Dim 정렬번호 As String = bs.Current("정렬번호")
Dim N정렬번호 As String
If Not Me.Sorted = ESorted.CANT AndAlso IsNumeric(정렬번호) AndAlso 정렬번호.Length >= 8 Then '//숫자라면 인덱스정렬법이다.
Dim MN As String = 정렬번호.Substring(0, 6)
Dim SN As Short = 정렬번호.Substring(6)
'NR.번호 = bs.Current("번호") - 1 '//번호는 -1하고
'If NR.번호 < 1 Then NR.번호 = 0
N정렬번호 = MN & Format(SN - 1, "0000") '//현재 일련번호에 -을 해서 넣느다. 이부분 변경하자..변경한이름이 있을경우 해당위로의 숫자를 -1해야한다.
'//새로우 정렬번호랑 같은것들은 -1해준다.
For Each DR As DataRow In Me.DT.Select("정렬번호 like '" & MN & "%' and 정렬번호 <= '" & N정렬번호 & "'")
MN = DR("정렬번호").Substring(0, 6)
SN = DR("정렬번호").Substring(6)
DR("정렬번호") = MN & Format(SN - 1, "0000") '//원래번호-1해준다.
Next
'//
NR.정렬번호 = N정렬번호
Dim AR As Integer = Me.view1.ActiveSheet.ActiveRowIndex
Me.DT.AddDetail_CableRow(NR)
Me.view1.ActiveSheet.ActiveRowIndex = AR
Else '//전주번호정렬법이다 이것은 정렬이 별도로 존재한다.
MsgBox("번호형식으로 정렬되어있는 데이터입니다" & vbCrLf & "이데이터는 [한줄삽입]이 되지않습니다.", MsgBoxStyle.Information, "확인")
Me.Sorted = ESorted.CANT
'Me.bt_addrow.PerformClick() '//한줄추가화럴ㅇ()
End If
End Sub
Private Sub oolStripMenuItemipMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles oolStripMenuItem.Click
Me.ToolStripButton2.PerformClick()
End Sub
Private Sub ToolStripButton3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton3.Click
Process.Start(HomePage)
End Sub
Private Sub ToolStripButton5_Click_2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton5.Click
Me.Close()
End Sub
Private Sub bt_save_all_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_save_all.Click
Dim a As New SaveFileDialog
a.Filter = "[모든데이터내보내기] 엑셀 워크시트파일(*.XLS)|*.XLS"
a.FilterIndex = 0
a.Title = "저장할 엑셀 파일을 지정하세요"
If a.ShowDialog() <> System.Windows.Forms.DialogResult.Cancel Then
Dim msg As New System.Text.StringBuilder
Me.view1.SaveExcel(a.FileName, FarPoint.Excel.ExcelSaveFlags.SaveAsViewed)
msg.AppendLine("내보내진 파일은 기본값으로 [시트보호]가 되어있습니다")
msg.AppendLine()
msg.AppendLine()
msg.AppendLine("[시트보호] 상태에서는 시트를 편집할 수 없습니다")
msg.AppendLine()
msg.AppendLine("[시트보호]를 해제하려면 해당파일을 엑셀에서 불러온후")
msg.AppendLine("[도구]-[보호]-[시트보호해제]를 클릭하세요")
MsgBox(msg.ToString, MsgBoxStyle.Information, "시트보호")
End If
End Sub
Private Sub bt_save_current_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_save_current.Click
Dim a As New SaveFileDialog
a.Filter = "[현재데이터내보내기] 엑셀 워크시트파일(*.XLS)|*.XLS"
a.FilterIndex = 0
a.Title = "저장할 엑셀 파일을 지정하세요"
If a.ShowDialog() <> System.Windows.Forms.DialogResult.Cancel Then
Dim msg As New System.Text.StringBuilder
Me.view1.SaveExcel(a.FileName, FarPoint.Excel.ExcelSaveFlags.SaveAsFiltered)
msg.AppendLine("내보내진 파일은 기본값으로 [시트보호]가 되어있습니다")
msg.AppendLine()
msg.AppendLine()
msg.AppendLine("[시트보호] 상태에서는 시트를 편집할 수 없습니다")
msg.AppendLine()
msg.AppendLine("[시트보호]를 해제하려면 해당파일을 엑셀에서 불러온후")
msg.AppendLine("[도구]-[보호]-[시트보호해제]를 클릭하세요")
MsgBox(msg.ToString, MsgBoxStyle.Information, "시트보호")
End If
End Sub
Private Sub outsalldatae_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles outsalldatae.Click
Me.bt_save_all.PerformClick()
End Sub
Private Sub savecurrentdata_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles savecurrentdata.Click
Me.bt_save_current.PerformClick()
End Sub
Private Sub AddEpoleJJ_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Validated
Me.view1.Focus()
Me.view1.Focus()
End Sub
Private Sub bt_find_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_find.Click
CHk_Modify()
Display_Data()
End Sub
Private Sub bt_datasort_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_datasort.Click
Dim 번호 As String
Dim 번호B, 번호b2 As System.Text.StringBuilder
Me.pbar.Minimum = 0
Me.pbar.Maximum = Me.IreaDataSet1.jjungtable.Rows.Count - 1
Me.pbar.Value = 0
Dim Cidx As Int16 = 0
Dim Carray As ArrayList
For Each dr As ireaDataSet.jjungtableRow In Me.IreaDataSet1.jjungtable.Rows
번호 = (dr.번호1 & dr.번호2 & dr.번호3 & dr.번호4 & dr.번호5)
If 번호 <> "" Then
Cidx = 0
번호B = New System.Text.StringBuilder
번호b2 = New System.Text.StringBuilder
Carray = New ArrayList
For Each C As Char In 번호.ToCharArray
If Char.IsLetter(C) Then
Carray.Add(C) '//문자위치와 문자를 저장한다.
번호B.Append("@") '//문자는 @로 변환한다.
Else
번호B.Append(C) '//숫자는 바로 저장해버린다.
End If
Cidx += 1
Next
For Each 번호s As String In 번호B.ToString.Split("@")
번호b2.Append(Format(Val(번호s), "000").ToString & "@") '/3자리로바꾼후 문자열을 붙인다
Next
번호b2.Remove(번호b2.Length - 1, 1) '//쓰레기제거
번호 = 번호b2.ToString
For Each c As Char In Carray '//문자와 위치가 있다
Cidx = 번호.IndexOf("@")
If Cidx <> -1 Then 번호 = 번호.Substring(0, Cidx) & c & 번호.Substring(Cidx + 1)
Next
dr.정렬번호 = dr.선로명 & CStr(번호.ToUpper.Replace("K", "0")).Replace("G", "0")
If Me.pbar.Value < Me.pbar.Maximum Then Me.pbar.Value += 1
Else '//번호에 아무것도 없는경우
dr.정렬번호 = dr.선로명 & "0" 'If SORTNULL Then dr.정렬번호 = dr.선로명 & "0"
End If
Next
NOTICE("정렬이 완료되었습니다", Me.lb_msg)
End Sub
Private Sub servoolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles servoolStripMenuItem.Click
Dim Frow, Fcol As Integer
Me.view1.Search(Me.view1.ActiveSheetIndex, InputBox("선택된 열에서 검색할 문자를 입력하세요."), False, False, False, True, True, False, False, 0, 0, Frow, Fcol)
If Frow >= 0 AndAlso Fcol >= 0 Then '//검색됫다면
Me.view1.ActiveSheet.SetActiveCell(Frow, Fcol)
SendKeys.Send("{ENTER}")
End If
End Sub
Private Sub cm_RenewNum_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cm_RenewNum.Click
ReNum(Me.IreaDataSet1.jjungtable, "번호", Me.pbar)
End Sub
Private Sub vripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbt_vselall.Click
For Each A As DataRow In Me.IreaDataSet1.Detail_Cable.Rows
A("출력") = True
Next
End Sub
Private Sub cbt_vusell_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbt_vusell.Click
For Each A As DataRow In Me.IreaDataSet1.Detail_Cable.Rows
A("출력") = False
Next
End Sub
Private Sub cbt_vselrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbt_vselrev.Click
For Each A As DataRow In Me.IreaDataSet1.Detail_Cable.Rows
A("출력") = Not A("출력")
Next
End Sub
Private Sub bt_colsizesave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_colsizesave.Click
Me.view1.ASetting_Save(False, viewTag)
End Sub
Private Sub bt_seldel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_seldel.Click
For i As Integer = Me.view1.ActiveSheet.RowCount - 1 To 0 Step -1
If Me.view1.ActiveSheet.Cells(i, Me.view1.ACheckBox_ColIndex).Value = True Then Me.view1.ActiveSheet.Rows(i).Remove()
Next
End Sub
Private Sub view1_Arin_Before_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles view1.Arin_Before_KeyDown
Select Case e.KeyCode
Case Keys.Insert '//삽입
Me.bt_insertrow.PerformClick()
'Me.bt_addrow.PerformClick()
Case Keys.Enter '/마지막줄에 마지막 열이엿으면 bt_insertrow
With Me.view1.ActiveSheet
Select Case .ActiveColumn.DataField.ToUpper
Case "관리구", "전산번호", "HA단자명", "HB단자명", "HADL", "HA구간", "HBDL", "DB구간", _
"S0번호2", "S0번호3", "S0번호4", _
"S1번호2", "S1번호3", "S1번호4", _
"S2번호2", "S2번호3", "S2번호4", _
"S3번호2", "S3번호3", "S3번호4", _
"S4번호2", "S4번호3", "S4번호4", _
"HASS", "HBSS", "시공년월", "시공회사", "공사번호", "감독자", "S0번호1", "S1번호1", "S2번호1", "S3번호1", "S4번호1", "S0SW명", "S0수용가", "S1SW명", "S2SW명", "S3SW명", "S4SW명", "S1위치", "S2위치", "S2위치", "S4위치", "비고1", "비고2", "비고3", "비고4", "비고5", "비고6"
If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then
.ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
End If
'Case "HADL" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("HASS")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("HASS")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "HA구간" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("HASS")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("HASS")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("HADL")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("HADL")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "HBDL" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("HBSS")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("HBSS")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "HB구간" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("HBSS")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("HBSS")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("HBDL")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("HBDL")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "S0번호2" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("S0번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("S0번호1")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "S0번호3" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("S0번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("S0번호1")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("S0번호2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("S0번호2")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "S0번호4" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("S0번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("S0번호1")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("S0번호2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("S0번호2")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("S0번호3")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("S0번호3")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "s1번호2" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s1번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s1번호1")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "s1번호3" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s1번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s1번호1")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s1번호2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s1번호2")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "s1번호4" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s1번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s1번호1")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s1번호2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s1번호2")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s1번호3")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s1번호3")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "s2번호2" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s2번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s2번호1")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "s2번호3" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s2번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s2번호1")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s2번호2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s2번호2")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "s2번호4" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s2번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s2번호1")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s2번호2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s2번호2")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s2번호3")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s2번호3")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "s3번호2" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s3번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s3번호1")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "s3번호3" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s3번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s3번호1")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s3번호2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s3번호2")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "s3번호4" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s3번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s3번호1")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s3번호2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s3번호2")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s3번호3")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s3번호3")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "s4번호2" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s4번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s4번호1")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "s4번호3" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s4번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s4번호1")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s4번호2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s4번호2")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "s4번호4" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s4번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s4번호1")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s4번호2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s4번호2")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s4번호3")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s4번호3")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
' Case "3" '//번호3
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("1")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("2")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
' Case "4" '//번호4
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("1")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("2")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("3")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("3")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
' Case "5" '//번호5
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("1")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("2")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("3")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("3")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("4")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("4")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
End Select
End With
End Select
End Sub
Private Sub view1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles view1.KeyDown
view1_Arin_AddLog(sender, "원래뷰에서의 keydown 열번호=" & Me.view1.ActiveSheet.ActiveColumnIndex)
End Sub
Private Sub 열너비초기화ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 열너비초기화ToolStripMenuItem.Click
For c As Integer = 1 To view1_Sheet1.ColumnCount
view1_Sheet1.Columns(c - 1).Width = 100
Next
Application.DoEvents()
End Sub
End Class

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,153 @@
<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="StatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>199, 31</value>
</metadata>
<metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>459, 6</value>
</metadata>
<metadata name="ErrorProvider1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>308, 32</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>69</value>
</metadata>
<metadata name="bn.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>169, 6</value>
</metadata>
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>5, 15</value>
</metadata>
<metadata name="IreaDataSet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>588, 5</value>
</metadata>
<metadata name="ContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>307, 5</value>
</metadata>
<metadata name="view1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>760, 3</value>
</metadata>
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>599, 29</value>
</metadata>
<metadata name="TA.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>699, 29</value>
</metadata>
</root>

View File

@@ -0,0 +1,775 @@
Public Class AddEpoleCable2
' Dim SaveFlag As Boolean = False
Dim DT As ireaDataSet.Detail_Cable2DataTable
Dim Sorted As ESorted = ESorted.No
Dim viewTag As String = "jcable2"
Public PrnForm As printformCable2
Dim IsNew As Boolean = False
Private Sub NewRowAddToDataTable(ByVal sender As Object, ByVal e As System.Data.DataTableNewRowEventArgs) 'Handles DT.TableNewRow '//New Row Add & Setting Default Data
Dim NEwrow As DataRow = e.Row
NEwrow("rowid") = System.Guid.NewGuid
NEwrow("관리ID") = CInt(Me.h_id.Text)
NEwrow("번호") = CInt(Me.Get_NewNumber)
NEwrow("출력") = True
NEwrow("비고1") = ""
NEwrow("비고2") = ""
NEwrow("비고3") = ""
NEwrow("비고4") = ""
NEwrow("비고5") = ""
Dim newid As Integer = CInt(Me.Get_NewNumber)
If Me.Sorted = ESorted.CANT Then
NEwrow("정렬번호") = "" & "1" & Format(newid, "00000") & "1000"
Else
NEwrow("정렬번호") = "1" & Format(newid, "00000") & "1000"
End If
End Sub
Public Sub New(ByVal maxid As Integer)
' 이 호출은 Windows Form 디자이너에 필요합니다.
InitializeComponent()
Dim INI As New MyINI2(My.Application.Info.DirectoryPath & "\epole.ini")
Me.h_date.Enabled = True
Me.h_name.Enabled = True
Me.h_bigo.Enabled = True
Me.h_id.Enabled = False
Me.h_dan.Enabled = True
Me.Text = "지중(기기표시찰) 입력(신규작업)"
Me.h_name.Text = INI.Read("main", "lastkname1") 'InputBox("거래처명을 입력하세요", "신규입력-거래처명", "해광기획")
Me.h_dan.Text = "0" 'InputBox("수량별 단가를 입력하세요", "신규입력-단가", "0")
Me.h_id.Text = maxid
Me.h_bigo.Text = "지중(기기표시찰)제작(" & Format(Now, "MM") & "-" & Format(Now, "dd") & ")"
Me.h_date.Text = Format(Now, "yyyy/MM/dd")
Me.IsNew = True
End Sub
Public Sub New(ByVal v_id As String, ByVal V_DATE As String, ByVal V_NAME As String, ByVal V_BIGO As String, ByVal V_DAN As String)
' 이 호출은 Windows Form 디자이너에 필요합니다.
InitializeComponent()
Me.h_date.Text = V_DATE
Me.h_name.Text = V_NAME
Me.h_bigo.Text = V_BIGO
Me.h_dan.Text = V_DAN
Me.h_id.Text = v_id
Me.h_date.Enabled = False
Me.h_name.Enabled = False
Me.h_bigo.Enabled = False
Me.h_id.Enabled = False
Me.h_id.Enabled = False
Me.Text = "지중(기기표시찰) 입력"
End Sub
Private Sub AddEpole_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Me.bs.EndEdit()
If bs.Count > 0 Then
Dim Drv As DataRowView
Drv = bs.Item(bs.Count - 1)
If NVL(Drv("관리구"), "") = "" AndAlso _
NVL(Drv("전산번호"), "") = "" Then
Drv.Delete()
End If
End If
Me.CHk_Modify()
Frm_Main.bt_find.PerformClick()
End Sub
Private Sub AddEpole_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.view1.ASetting_Load(False, Me.viewTag)
Me.view1.한글필드 = New String() {"HASS", "HADL", "HBSS", "HBDL", "시공년월", "시공회사", "감독자", "비고1", "비고2", "비고3", "비고4", "비고5", "비고6", _
"S0수용가", "S1위치", "S2위치", "S3위치", "S4위치", _
"S1번호2", "S1번호3", _
"S2번호2", "S2번호3", _
"S3번호2", "S3번호3", _
"S4번호2", "S4번호3"}
Me.view1.Font = New Font(ViewFont.FontName, ViewFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.bn.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.ToolStrip1.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.StatusStrip1.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
AddHandler IreaDataSet1.Detail_Cable2.TableNewRow, AddressOf NewRowAddToDataTable
DT = Me.IreaDataSet1.Detail_Cable2
Me.SETTOOLTIP()
''''''''데이터보여주기
If Me.IsNew Then '//현재id와같은 데이터는 모두삭제를 하게한다.
Dim Cmd As New OleDbCommand("delete from detail_cable2 where 관리id=" & Me.h_id.Text, Me.TA.Connection)
If Cmd.Connection.State <> ConnectionState.Open Then Cmd.Connection.Open()
Cmd.ExecuteNonQuery()
Me.IsNew = False
End If
Display_Data()
End Sub
Private Sub SETTOOLTIP()
Dim TMSG As New System.Text.StringBuilder()
TMSG.AppendLine()
TMSG.AppendLine("오른쪽 클릭시 기타메뉴가 표시됩니다")
TMSG.AppendLine()
TMSG.AppendLine("<단축키 : ENTER:다음칸 , SHIFT+TAB:이전칸>")
TMSG.AppendLine("<단축키 : DELETE:현재칸 지우기 , SHIFT+DELETE 현재줄 삭제>")
TMSG.AppendLine("<단축키 : F2:현재칸지우고 편집>")
TMSG.AppendLine("<단축키 : SPACE-BAR/F3:현재칸 편집>")
TMSG.AppendLine("<단축키 : CTRL + 마우스휠 : 화면크기를 조절합니다>")
TMSG.AppendLine()
Me.ToolTip1.SetToolTip(Me.view1, TMSG.ToString)
End Sub
Private Sub SetFarPoint()
' Me.view1.AEnterToNextItem()
Me.view1.DataSource = Me.bs
End Sub
''' <summary>
''' 신규추가시 번호를 생성해줍니다(현존최대넘버+1)
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Private Function Get_NewNumber() As Integer
Dim maxCnt As Integer = 0
For i As Integer = 0 To Me.view1_Sheet1.RowCount - 1
If Me.view1_Sheet1.Cells(i, 1).Value > maxCnt Then maxCnt = Me.view1_Sheet1.Cells(i, 1).Value
Next
Return maxCnt + 1
End Function
Private Sub CHk_Modify(Optional ByVal prompt As Boolean = True)
Me.bs.EndEdit()
If Not Me.IreaDataSet1.HasChanges Then
NOTICE("변경된 내용이 없습니다", Me.lb_msg)
Return
End If
If prompt Then
If MsgBox("변경된 데이터를 저장하시겠습니까?", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "저장확인") <> MsgBoxResult.Ok Then Return
End If
Try
Me.TA.Update(Me.IreaDataSet1.Detail_Cable2) '//Commit insert/update/delete
Me.IreaDataSet1.jjungtable.AcceptChanges() '//Set All Green
Try
Dim SQl As String = "insert into 전주관리(id,날짜,거래처명,비고,총수량,단가,금액,번호찰구분) values(:1,:2,:3,:4,:5,:6,:7,8)"
If Me.TA.Connection.State <> ConnectionState.Open Then Me.TA.Connection.Open()
Dim Cmd As New OleDbCommand(SQl, Me.TA.Connection)
Cmd.Parameters.Add(":1", OleDbType.Integer).Value = Val(Me.h_id.Text)
Cmd.Parameters.Add(":2", OleDbType.Date).Value = IIf(Me.h_date.Text.Trim = "", DBNull.Value, Me.h_date.Text.Trim)
Cmd.Parameters.Add(":3", OleDbType.VarChar).Value = Me.h_name.Text
Cmd.Parameters.Add(":4", OleDbType.VarChar).Value = Me.h_bigo.Text
Cmd.Parameters.Add(":5", OleDbType.Integer).Value = Me.IreaDataSet1.Detail_Cable2.Rows.Count 'Me.view1_Sheet1.RowCount
Cmd.Parameters.Add(":6", OleDbType.Integer).Value = Val(Me.h_dan.Text)
Cmd.Parameters.Add(":7", OleDbType.Currency).Value = Val(Me.h_dan.Text) * Me.view1_Sheet1.RowCount
Cmd.ExecuteNonQuery()
Catch ex As Exception
Dim SQl As String = "update 전주관리 set 날짜=:2,거래처명=:3,비고=:4,총수량=:5,단가=:6,금액=:7,번호찰구분=8 where id=:1"
If Me.TA.Connection.State <> ConnectionState.Open Then Me.TA.Connection.Open()
Dim Cmd As New OleDbCommand(SQl, Me.TA.Connection)
Cmd.Parameters.Add(":2", OleDbType.Date).Value = IIf(Me.h_date.Text.Trim = "", DBNull.Value, Me.h_date.Text.Trim)
Cmd.Parameters.Add(":3", OleDbType.VarChar).Value = Me.h_name.Text
Cmd.Parameters.Add(":4", OleDbType.VarChar).Value = Me.h_bigo.Text
Cmd.Parameters.Add(":5", OleDbType.Integer).Value = Me.IreaDataSet1.Detail_Cable2.Rows.Count
Cmd.Parameters.Add(":6", OleDbType.Integer).Value = Val(Me.h_dan.Text)
Cmd.Parameters.Add(":7", OleDbType.Currency).Value = Val(Me.h_dan.Text) * Me.view1_Sheet1.RowCount
Cmd.Parameters.Add(":1", OleDbType.Integer).Value = Val(Me.h_id.Text)
Cmd.ExecuteNonQuery()
Finally
'MakeList.bt_find.PerformClick()
'Display_Data(True)
Dim INI As New MyINI2(My.Application.Info.DirectoryPath & "\epole.ini")
INI.Write("main", "lastkname1", Me.h_name.Text)
NOTICE("저장되었습니다", Me.lb_msg)
My.Computer.Audio.Play(My.Application.Info.DirectoryPath & "\sound\notify.wav", AudioPlayMode.Background)
'MakeList.Display_Data() '//이건 bt_find 에서 재호출된다.
End Try
Catch ex As Exception
MsgBox("데이터베이스 업데이트중 오류가 발생했습니다" & vbCrLf & vbCrLf & ex.ToString, MsgBoxStyle.Critical, "ERROR-")
Me.IreaDataSet1.Detail_Cable2.RejectChanges()
NOTICE("저장 실패!", Me.lb_msg)
Finally
view1.ActiveSheet.GetDataView(True) '//화면을 갱신한다.
End Try
End Sub
Private Sub Display_Data(Optional ByVal AutoSort As Boolean = False) '//뷰에데이터를 표시한다.
Me.bs.Sort = "정렬번호,번호" '//정렬된것들은 정렬된채로 보여준다.
Me.TA.Fill(Me.IreaDataSet1.Detail_Cable2, Me.h_id.Text) '//관리id를 통해서 데이터를 채운다.
SetFarPoint() '//여기서 파포인트를 바인딩 소스와 연결시킨다(바인딩 소스는 테이블에 연결되어있다)
If Me.IreaDataSet1.Detail_Cable2.Rows.Count <= 0 Then
Me.bt_addrow.PerformClick()
NOTICE("데이터가 존재하지 않습니다", Color.Red, Me.lb_msg)
Return
End If
NOTICE(Me.view1.ActiveSheet.RowCount & "개의 데이터가 검색되었습니다", Me.lb_msg)
End Sub
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
Me.bt_commit.PerformClick() '//저장할게잇으면 다 저장한다.
Me.view1.SuspendLayout()
Dim A As New XLSImport(Me.IreaDataSet1, Me.h_id.Text, 8)
A.ShowDialog()
Me.CHk_Modify(False)
Me.Display_Data()
Me.view1.ResumeLayout()
End Sub
Private Sub ToolStripButton2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click
Me.bs.EndEdit()
If Me.view1.Cells("출력").Value = False Then
MsgBox("현재 선택된 줄은 출력이 되지않도록 설정되어있습니다", MsgBoxStyle.Critical, "확인")
Return
End If
PrnForm = New printformCable2(Me.IreaDataSet1.Detail_Cable2, CType(Me.bs.Current, DataRowView)) 'Me.view1.ActiveSheet.ActiveRowIndex)
PrnForm.ShowDialog()
End Sub
Private Sub ToolStripMenuItemolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem.Click
'''''검색방법은 1번개체부터 마지막개체까지 풀루프를 돌면서 동일한 놈을 찾는다.
Dim 원본, 대상 As String 'New System.Text.StringBuilder
Dim fcnt As Integer = 0
Me.pbar.Value = 0
Me.pbar.Minimum = 0
Me.pbar.Maximum = Me.view1.ActiveSheet.RowCount
NOTICE("중복되는 [관리구/전산번호]를 찾는중입니다...", Me.lb_msg)
Me.Invalidate()
For Each A As FarPoint.Win.Spread.Row In Me.view1.ActiveSheet.Rows
원본 = Me.view1.ActiveSheet.Cells(A.Index, 3).Value & Me.view1.ActiveSheet.Cells(A.Index, 4).Value
If 원본.ToString <> "" Then
For Each B As FarPoint.Win.Spread.Row In Me.view1.ActiveSheet.Rows
If A.Index <> B.Index Then '//같은라인은 피하고 그렇지 않은 라인의 번호를 확인한다.
대상 = Me.view1.ActiveSheet.Cells(B.Index, Me.view1.ColIndex("관리구")).Value & Me.view1.ActiveSheet.Cells(B.Index, Me.view1.ColIndex("전산번호")).Value
If 원본.ToString = 대상.ToString Then
fcnt += 1
Me.view1.ActiveSheet.Cells(A.Index, Me.view1.ACheckBox_ColIndex).Value = True
Me.view1.ActiveSheet.Cells(B.Index, Me.view1.ACheckBox_ColIndex).Value = True
End If
End If
Next
End If
If Me.pbar.Value < Me.pbar.Maximum Then Me.pbar.Value += 1
Me.Invalidate()
Next
NOTICE("[관리구/전산번호] 중복검사 완료(" & fcnt & "개의 데이터를 찾았습니다)", Me.lb_msg)
End Sub
Private Sub BindingNavigatorAddNewItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_addrow.Click
If Me.Sorted = ESorted.NULL Then Check_Sorted()
Me.view1.AAddNewRow()
End Sub
Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_commit.Click
'//언바운드된 열을 여기서 바운드시켜분다.
'Me.view1.Attach_Ubound(3)
Me.bs.EndEdit()
If bs.Count > 0 Then
Dim Drv As DataRowView
Drv = bs.Item(bs.Count - 1)
If NVL(Drv("관리구"), "") = "" AndAlso _
NVL(Drv("전산번호"), "") = "" Then
Drv.Delete()
End If
End If
If Not Me.IreaDataSet1.HasChanges Then
NOTICE("변경된 데이터가 없습니다", Me.lb_msg)
Return
End If
Me.bt_find.PerformClick()
End Sub
Private Sub ToolStripButton5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_cancel.Click
Me.bs.EndEdit()
If Me.IreaDataSet1.HasChanges Then
Me.IreaDataSet1.RejectChanges()
NOTICE("변경된 내용이 취소되었습니다.", Me.lb_msg)
Else
NOTICE("변경내역이 없습니다", Me.lb_msg)
End If
End Sub
Private Sub olStripMenuItem1tripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles olStripMenuItem1.Click
Me.view1.ASelect(Me.view1.ACheckBox_ColIndex)
End Sub
Private Sub lStripMenuItem2ipMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lStripMenuItem2.Click
Me.view1.AUnselect(Me.view1.ACheckBox_ColIndex)
End Sub
Private Sub gfsdlStripMenuItem2MenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles gfsdlStripMenuItem2.Click
Me.view1.AReverse(Me.view1.ACheckBox_ColIndex)
End Sub
Private Sub BindingNavigatorDeleteItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorDeleteItem.Click
If Me.view1.ActiveSheet.Rows.Count > 0 Then
Me.view1.ActiveSheet.ActiveRow.Remove()
NOTICE("현재줄이 삭제되었습니다", Me.lb_msg)
Else
MsgBox("더이상 삭제할 줄이 없습니다")
End If
End Sub
Private Sub view1_Arin_AddLog(ByVal sender As Object, ByVal msg As String) Handles view1.Arin_AddLog
If Admin Then Log.Show()
If Admin Then Log.RichTextBox1.AppendText(msg & vbCrLf)
End Sub
Private Sub view1_Arin_Before_EditModeOff(ByVal sender As Object, ByVal e As System.EventArgs) Handles view1.Arin_Before_EditModeOff
'With Me.view1.ActiveSheet
' Select Case .ActiveColumn.Label
' Case "형식및용량"
' If (.Cells(.ActiveRowIndex, .ActiveColumnIndex - 1).Text = "" OrElse _
' .Cells(.ActiveRowIndex, .ActiveColumnIndex - 1).Text = vbNullString) AndAlso _
' .ActiveCell.Text.Length = 4 Then
' .ActiveCell.Text = .ActiveCell.Text.Substring(0, 2) & "-" & .ActiveCell.Text.Substring(2, 1) & "-" & .ActiveCell.Text.Substring(3)
' 'Else
' ' Me.Text = .ActiveCell.Text.Length & "/" & .Cells(.ActiveRowIndex, .ActiveColumnIndex - 1).Text
' End If
' Case "기기명"
' Select Case .ActiveCell.Text.ToUpper
' Case "SW"
' .ActiveCell.Text = "PAD SW"
' Case "SK"
' .ActiveCell.Text = "지상개폐기"
' Case "TR"
' .ActiveCell.Text = "PAD TR"
' Case "TK"
' .ActiveCell.Text = "지상변압기"
' End Select
' End Select
'End With
End Sub
Private Sub view1_DragFillBlockCompleted(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.DragFillBlockCompletedEventArgs) Handles view1.DragFillBlockCompleted
For i As Integer = e.RowBegin To e.RowBegin + e.NumberToCopy
' Dim ds As DataSet = FpSpread1.Sheets(0).DataSource
Me.IreaDataSet1.Detail_Cable2.Rows(view1.Sheets(0).GetModelRowFromViewRow(i)).EndEdit()
Next
End Sub
Private Sub Check_Sorted()
If Me.Sorted = ESorted.NULL Then '//아직 검색이된건지 확인안해봣다
Me.Sorted = ESorted.No
For i As Short = 0 To IIf(Me.DT.Rows.Count > 10, 10, Me.DT.Rows.Count - 1)
If NVL(DT.Rows(i)("정렬번호")) <> "" AndAlso NVL(DT.Rows(i)("정렬번호")) <> "히히히000000000" AndAlso NVL(DT.Rows(i)("정렬번호")) <> "" Then '//데이터가있다면
Me.Sorted = ESorted.YES
Exit For
End If
Next
End If
End Sub
Private Sub Make_Index()
Work_Form("인덱스를 생성하고 있습니다")
Form_Work.ProgressBar1.Minimum = 0
Form_Work.ProgressBar1.Maximum = Me.DT.Rows.Count
Dim Num As Short
For i As Integer = 0 To Me.DT.Rows.Count - 1
Form_Work.pval = i
Num = Me.DT.Rows(i)("번호")
Me.DT.Rows(i)("정렬번호") = "1" & Format(Num, "00000") & "1000"
Next
Form_Work.Close() '//작업창 닫기
Me.Sorted = ESorted.YES
End Sub
Private Sub bt_insertrow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_insertrow.Click
' Me.view1.AInsertNewRow() '//번호문제도있다.
'//현재줄 바로위에 한줄을삽입한다.
'//새로운ID는 전줄의ID+1 이며
Me.bs.EndEdit()
'//위에서부터 5개또는 마지막까지 이게 정렬된데이터인지 확인합니다.
If Me.Sorted = ESorted.NULL Then Check_Sorted()
If Me.Sorted = ESorted.No Then Make_Index() '//인덱스를 생성한다.
Dim NR As ireaDataSet.Detail_Cable2Row = Me.DT.NewDetail_Cable2Row '//삽입은 현재줄 위에 삽입하는것이다. 현재줄의 인덱스번호가 숫자형태라면 정렬이안된데이터다
Dim 정렬번호 As String = bs.Current("정렬번호")
Dim N정렬번호 As String
If Not Me.Sorted = ESorted.CANT AndAlso IsNumeric(정렬번호) AndAlso 정렬번호.Length >= 8 Then '//숫자라면 인덱스정렬법이다.
Dim MN As String = 정렬번호.Substring(0, 6)
Dim SN As Short = 정렬번호.Substring(6)
'NR.번호 = bs.Current("번호") - 1 '//번호는 -1하고
'If NR.번호 < 1 Then NR.번호 = 0
N정렬번호 = MN & Format(SN - 1, "0000") '//현재 일련번호에 -을 해서 넣느다. 이부분 변경하자..변경한이름이 있을경우 해당위로의 숫자를 -1해야한다.
'//새로우 정렬번호랑 같은것들은 -1해준다.
For Each DR As DataRow In Me.DT.Select("정렬번호 like '" & MN & "%' and 정렬번호 <= '" & N정렬번호 & "'")
MN = DR("정렬번호").Substring(0, 6)
SN = DR("정렬번호").Substring(6)
DR("정렬번호") = MN & Format(SN - 1, "0000") '//원래번호-1해준다.
Next
'//
NR.정렬번호 = N정렬번호
Dim AR As Integer = Me.view1.ActiveSheet.ActiveRowIndex
Me.DT.AddDetail_Cable2Row(NR)
Me.view1.ActiveSheet.ActiveRowIndex = AR
Else '//전주번호정렬법이다 이것은 정렬이 별도로 존재한다.
MsgBox("번호형식으로 정렬되어있는 데이터입니다" & vbCrLf & "이데이터는 [한줄삽입]이 되지않습니다.", MsgBoxStyle.Information, "확인")
Me.Sorted = ESorted.CANT
'Me.bt_addrow.PerformClick() '//한줄추가화럴ㅇ()
End If
End Sub
Private Sub oolStripMenuItemipMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles oolStripMenuItem.Click
Me.ToolStripButton2.PerformClick()
End Sub
Private Sub ToolStripButton3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton3.Click
Process.Start(HomePage)
End Sub
Private Sub ToolStripButton5_Click_2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton5.Click
Me.Close()
End Sub
Private Sub bt_save_all_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_save_all.Click
Dim a As New SaveFileDialog
a.Filter = "[모든데이터내보내기] 엑셀 워크시트파일(*.XLS)|*.XLS"
a.FilterIndex = 0
a.Title = "저장할 엑셀 파일을 지정하세요"
If a.ShowDialog() <> System.Windows.Forms.DialogResult.Cancel Then
Dim msg As New System.Text.StringBuilder
Me.view1.SaveExcel(a.FileName, FarPoint.Excel.ExcelSaveFlags.SaveAsViewed)
msg.AppendLine("내보내진 파일은 기본값으로 [시트보호]가 되어있습니다")
msg.AppendLine()
msg.AppendLine()
msg.AppendLine("[시트보호] 상태에서는 시트를 편집할 수 없습니다")
msg.AppendLine()
msg.AppendLine("[시트보호]를 해제하려면 해당파일을 엑셀에서 불러온후")
msg.AppendLine("[도구]-[보호]-[시트보호해제]를 클릭하세요")
MsgBox(msg.ToString, MsgBoxStyle.Information, "시트보호")
End If
End Sub
Private Sub bt_save_current_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_save_current.Click
Dim a As New SaveFileDialog
a.Filter = "[현재데이터내보내기] 엑셀 워크시트파일(*.XLS)|*.XLS"
a.FilterIndex = 0
a.Title = "저장할 엑셀 파일을 지정하세요"
If a.ShowDialog() <> System.Windows.Forms.DialogResult.Cancel Then
Dim msg As New System.Text.StringBuilder
Me.view1.SaveExcel(a.FileName, FarPoint.Excel.ExcelSaveFlags.SaveAsFiltered)
msg.AppendLine("내보내진 파일은 기본값으로 [시트보호]가 되어있습니다")
msg.AppendLine()
msg.AppendLine()
msg.AppendLine("[시트보호] 상태에서는 시트를 편집할 수 없습니다")
msg.AppendLine()
msg.AppendLine("[시트보호]를 해제하려면 해당파일을 엑셀에서 불러온후")
msg.AppendLine("[도구]-[보호]-[시트보호해제]를 클릭하세요")
MsgBox(msg.ToString, MsgBoxStyle.Information, "시트보호")
End If
End Sub
Private Sub outsalldatae_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles outsalldatae.Click
Me.bt_save_all.PerformClick()
End Sub
Private Sub savecurrentdata_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles savecurrentdata.Click
Me.bt_save_current.PerformClick()
End Sub
Private Sub AddEpoleJJ_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Validated
Me.view1.Focus()
Me.view1.Focus()
End Sub
Private Sub bt_find_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_find.Click
CHk_Modify()
Display_Data()
End Sub
Private Sub bt_datasort_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_datasort.Click
Dim 번호 As String
Dim 번호B, 번호b2 As System.Text.StringBuilder
Me.pbar.Minimum = 0
Me.pbar.Maximum = Me.IreaDataSet1.jjungtable.Rows.Count - 1
Me.pbar.Value = 0
Dim Cidx As Int16 = 0
Dim Carray As ArrayList
For Each dr As ireaDataSet.jjungtableRow In Me.IreaDataSet1.jjungtable.Rows
번호 = (dr.번호1 & dr.번호2 & dr.번호3 & dr.번호4 & dr.번호5)
If 번호 <> "" Then
Cidx = 0
번호B = New System.Text.StringBuilder
번호b2 = New System.Text.StringBuilder
Carray = New ArrayList
For Each C As Char In 번호.ToCharArray
If Char.IsLetter(C) Then
Carray.Add(C) '//문자위치와 문자를 저장한다.
번호B.Append("@") '//문자는 @로 변환한다.
Else
번호B.Append(C) '//숫자는 바로 저장해버린다.
End If
Cidx += 1
Next
For Each 번호s As String In 번호B.ToString.Split("@")
번호b2.Append(Format(Val(번호s), "000").ToString & "@") '/3자리로바꾼후 문자열을 붙인다
Next
번호b2.Remove(번호b2.Length - 1, 1) '//쓰레기제거
번호 = 번호b2.ToString
For Each c As Char In Carray '//문자와 위치가 있다
Cidx = 번호.IndexOf("@")
If Cidx <> -1 Then 번호 = 번호.Substring(0, Cidx) & c & 번호.Substring(Cidx + 1)
Next
dr.정렬번호 = dr.선로명 & CStr(번호.ToUpper.Replace("K", "0")).Replace("G", "0")
If Me.pbar.Value < Me.pbar.Maximum Then Me.pbar.Value += 1
Else '//번호에 아무것도 없는경우
dr.정렬번호 = dr.선로명 & "0" 'If SORTNULL Then dr.정렬번호 = dr.선로명 & "0"
End If
Next
NOTICE("정렬이 완료되었습니다", Me.lb_msg)
End Sub
Private Sub servoolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles servoolStripMenuItem.Click
Dim Frow, Fcol As Integer
Me.view1.Search(Me.view1.ActiveSheetIndex, InputBox("선택된 열에서 검색할 문자를 입력하세요."), False, False, False, True, True, False, False, 0, 0, Frow, Fcol)
If Frow >= 0 AndAlso Fcol >= 0 Then '//검색됫다면
Me.view1.ActiveSheet.SetActiveCell(Frow, Fcol)
SendKeys.Send("{ENTER}")
End If
End Sub
Private Sub cm_RenewNum_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cm_RenewNum.Click
ReNum(Me.IreaDataSet1.jjungtable, "번호", Me.pbar)
End Sub
Private Sub vripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbt_vselall.Click
For Each A As DataRow In Me.IreaDataSet1.Detail_Cable2.Rows
A("출력") = True
Next
End Sub
Private Sub cbt_vusell_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbt_vusell.Click
For Each A As DataRow In Me.IreaDataSet1.Detail_Cable2.Rows
A("출력") = False
Next
End Sub
Private Sub cbt_vselrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbt_vselrev.Click
For Each A As DataRow In Me.IreaDataSet1.Detail_Cable2.Rows
A("출력") = Not A("출력")
Next
End Sub
Private Sub bt_colsizesave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_colsizesave.Click
Me.view1.ASetting_Save(False, viewTag)
End Sub
Private Sub bt_seldel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_seldel.Click
For i As Integer = Me.view1.ActiveSheet.RowCount - 1 To 0 Step -1
If Me.view1.ActiveSheet.Cells(i, Me.view1.ACheckBox_ColIndex).Value = True Then Me.view1.ActiveSheet.Rows(i).Remove()
Next
End Sub
Private Sub view1_Arin_Before_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles view1.Arin_Before_KeyDown
Select Case e.KeyCode
Case Keys.Insert '//삽입
Me.bt_insertrow.PerformClick()
'Me.bt_addrow.PerformClick()
Case Keys.Enter '/마지막줄에 마지막 열이엿으면 bt_insertrow
With Me.view1.ActiveSheet
Select Case .ActiveColumn.DataField.ToUpper
Case "관리구", "전산번호", "HA단자명", "HB단자명", "HADL", "HA구간", "HBDL", "DB구간", _
"S0번호2", "S0번호3", "S0번호4", _
"S1번호2", "S1번호3", "S1번호4", _
"S2번호2", "S2번호3", "S2번호4", _
"S3번호2", "S3번호3", "S3번호4", _
"S4번호2", "S4번호3", "S4번호4", _
"HASS", "HBSS", "시공년월", "시공회사", "공사번호", "감독자", "S0번호1", "S1번호1", "S2번호1", "S3번호1", "S4번호1", "S0SW명", "S0수용가", "S1SW명", "S2SW명", "S3SW명", "S4SW명", "S1위치", "S2위치", "S2위치", "S4위치", "비고1", "비고2", "비고3", "비고4", "비고5", "비고6"
If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then
.ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
End If
'Case "HADL" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("HASS")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("HASS")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "HA구간" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("HASS")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("HASS")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("HADL")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("HADL")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "HBDL" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("HBSS")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("HBSS")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "HB구간" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("HBSS")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("HBSS")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("HBDL")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("HBDL")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "S0번호2" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("S0번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("S0번호1")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "S0번호3" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("S0번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("S0번호1")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("S0번호2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("S0번호2")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "S0번호4" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("S0번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("S0번호1")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("S0번호2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("S0번호2")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("S0번호3")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("S0번호3")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "s1번호2" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s1번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s1번호1")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "s1번호3" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s1번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s1번호1")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s1번호2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s1번호2")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "s1번호4" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s1번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s1번호1")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s1번호2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s1번호2")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s1번호3")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s1번호3")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "s2번호2" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s2번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s2번호1")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "s2번호3" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s2번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s2번호1")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s2번호2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s2번호2")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "s2번호4" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s2번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s2번호1")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s2번호2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s2번호2")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s2번호3")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s2번호3")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "s3번호2" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s3번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s3번호1")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "s3번호3" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s3번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s3번호1")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s3번호2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s3번호2")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "s3번호4" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s3번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s3번호1")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s3번호2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s3번호2")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s3번호3")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s3번호3")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "s4번호2" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s4번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s4번호1")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "s4번호3" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s4번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s4번호1")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s4번호2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s4번호2")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
'Case "s4번호4" '//번호2
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s4번호1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s4번호1")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s4번호2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s4번호2")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("s4번호3")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("s4번호3")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
' Case "3" '//번호3
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("1")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("2")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
' Case "4" '//번호4
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("1")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("2")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("3")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("3")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
' Case "5" '//번호5
' If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
' If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("1")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("2")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("3")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("3")).Text AndAlso _
' .Cells(.ActiveRowIndex, Me.view1.ColIndex2("4")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("4")).Text Then
' .ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
' End If
' End If
End Select
End With
End Select
End Sub
Private Sub view1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles view1.KeyDown
view1_Arin_AddLog(sender, "원래뷰에서의 keydown 열번호=" & Me.view1.ActiveSheet.ActiveColumnIndex)
End Sub
Private Sub 열너비초기화ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 열너비초기화ToolStripMenuItem.Click
For c As Integer = 1 To view1_Sheet1.ColumnCount
view1_Sheet1.Columns(c - 1).Width = 100
Next
Application.DoEvents()
End Sub
End Class

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,153 @@
<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="StatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>199, 31</value>
</metadata>
<metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>459, 6</value>
</metadata>
<metadata name="ErrorProvider1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>308, 32</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>69</value>
</metadata>
<metadata name="ContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>307, 5</value>
</metadata>
<metadata name="view1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>760, 3</value>
</metadata>
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>5, 15</value>
</metadata>
<metadata name="IreaDataSet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>588, 5</value>
</metadata>
<metadata name="bn.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>169, 6</value>
</metadata>
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>599, 29</value>
</metadata>
<metadata name="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>85, 15</value>
</metadata>
</root>

View File

@@ -0,0 +1,732 @@
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''' 2007-10-01 : 소스개발자 : 아린(tindevil.nate.com)
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Class AddEpoleCableLabel
' Dim SaveFlag As Boolean = False
Dim DT As ireaDataSet.Detail_CableLabelDataTable
Dim Sorted As ESorted = ESorted.No
Dim viewTag As String = "jcablelabel"
Public PrnForm As printformCableLABEL
Dim IsNew As Boolean = False
Private Sub NewRowAddToDataTable(ByVal sender As Object, ByVal e As System.Data.DataTableNewRowEventArgs) 'Handles DT.TableNewRow '//New Row Add & Setting Default Data
Dim NEwrow As DataRow = e.Row
NEwrow("rowid") = System.Guid.NewGuid
NEwrow("관리ID") = CInt(Me.h_id.Text)
NEwrow("번호") = CInt(Me.Get_NewNumber)
NEwrow("출력") = True
'NEwrow("비고1") = ""
'NEwrow("비고2") = ""
'NEwrow("비고3") = ""
'NEwrow("비고4") = ""
'NEwrow("비고5") = ""
Dim newid As Integer = CInt(Me.Get_NewNumber)
If Me.Sorted = ESorted.CANT Then
NEwrow("정렬번호") = "" & "1" & Format(newid, "00000") & "1000"
Else
NEwrow("정렬번호") = "1" & Format(newid, "00000") & "1000"
End If
End Sub
Public Sub New(ByVal maxid As Integer)
' 이 호출은 Windows Form 디자이너에 필요합니다.
InitializeComponent()
Dim INI As New MyINI2(My.Application.Info.DirectoryPath & "\epole.ini")
Me.h_date.Enabled = True
Me.h_name.Enabled = True
Me.h_bigo.Enabled = True
Me.h_id.Enabled = False
Me.h_dan.Enabled = True
Me.Text = "지중(케이블표시라벨) 입력(신규작업)"
Me.h_name.Text = INI.Read("main", "lastkname1") 'InputBox("거래처명을 입력하세요", "신규입력-거래처명", "해광기획")
Me.h_dan.Text = "0" 'InputBox("수량별 단가를 입력하세요", "신규입력-단가", "0")
Me.h_id.Text = maxid
Me.h_bigo.Text = "지중(케이블표시라벨)제작(" & Format(Now, "MM") & "-" & Format(Now, "dd") & ")"
Me.h_date.Text = Format(Now, "yyyy/MM/dd")
Me.IsNew = True
End Sub
Public Sub New(ByVal v_id As String, ByVal V_DATE As String, ByVal V_NAME As String, ByVal V_BIGO As String, ByVal V_DAN As String)
' 이 호출은 Windows Form 디자이너에 필요합니다.
InitializeComponent()
Me.h_date.Text = V_DATE
Me.h_name.Text = V_NAME
Me.h_bigo.Text = V_BIGO
Me.h_dan.Text = V_DAN
Me.h_id.Text = v_id
Me.h_date.Enabled = False
Me.h_name.Enabled = False
Me.h_bigo.Enabled = False
Me.h_id.Enabled = False
Me.h_id.Enabled = False
Me.Text = "지중(케이블표시라벨) 입력"
End Sub
Public Sub FixedSTring(Optional ByVal ReadType As Boolean = True)
Dim a As New tinyIni(My.Application.Info.DirectoryPath & "\FixedString.INI")
'//파일이 존재할때 불러온다.
If ReadType Then
Me.stb1.Text = a.Read(Me.Name & Me.h_id.Text, "fb1", "현위치")
Me.stb2.Text = a.Read(Me.Name & Me.h_id.Text, "fb2", "단자명")
Me.stb3.Text = a.Read(Me.Name & Me.h_id.Text, "fb3", "S/S")
Me.stb4.Text = a.Read(Me.Name & Me.h_id.Text, "fb4", "D/L")
Me.stb5.Text = a.Read(Me.Name & Me.h_id.Text, "fb5", "상대측")
Me.stb6.Text = a.Read(Me.Name & Me.h_id.Text, "fb6", "상대측")
Me.stc1.Text = a.Read(Me.Name & Me.h_id.Text, "fc1", "현위치")
Me.stc2.Text = a.Read(Me.Name & Me.h_id.Text, "fc2", "회선")
Me.stc3.Text = a.Read(Me.Name & Me.h_id.Text, "fc3", "공급상")
Me.stc4.Text = a.Read(Me.Name & Me.h_id.Text, "fc4", "변압기")
Me.stc5.Text = a.Read(Me.Name & Me.h_id.Text, "fc5", "전원측")
Me.stc6.Text = a.Read(Me.Name & Me.h_id.Text, "fc6", "부하측")
Me.stc7.Text = a.Read(Me.Name & Me.h_id.Text, "fc7", "고객명")
Me.std1.Text = a.Read(Me.Name & Me.h_id.Text, "fd1", "현위치")
Me.std2.Text = a.Read(Me.Name & Me.h_id.Text, "fd2", "회선")
Me.std3.Text = a.Read(Me.Name & Me.h_id.Text, "fd3", "공급상")
Me.std4.Text = a.Read(Me.Name & Me.h_id.Text, "fd4", "변압기")
Me.std5.Text = a.Read(Me.Name & Me.h_id.Text, "fd5", "전원측")
Me.std6.Text = a.Read(Me.Name & Me.h_id.Text, "fd6", "부하측")
Me.std7.Text = a.Read(Me.Name & Me.h_id.Text, "fd7", "고객명")
Else
a.Write(Me.Name & Me.h_id.Text, "fb1", Me.stb1.Text)
a.Write(Me.Name & Me.h_id.Text, "fb2", Me.stb2.Text)
a.Write(Me.Name & Me.h_id.Text, "fb3", Me.stb3.Text)
a.Write(Me.Name & Me.h_id.Text, "fb4", Me.stb4.Text)
a.Write(Me.Name & Me.h_id.Text, "fb5", Me.stb5.Text)
a.Write(Me.Name & Me.h_id.Text, "fb6", Me.stb6.Text)
a.Write(Me.Name & Me.h_id.Text, "fc1", Me.stc1.Text)
a.Write(Me.Name & Me.h_id.Text, "fc2", Me.stc2.Text)
a.Write(Me.Name & Me.h_id.Text, "fc3", Me.stc3.Text)
a.Write(Me.Name & Me.h_id.Text, "fc4", Me.stc4.Text)
a.Write(Me.Name & Me.h_id.Text, "fc5", Me.stc5.Text)
a.Write(Me.Name & Me.h_id.Text, "fc6", Me.stc6.Text)
a.Write(Me.Name & Me.h_id.Text, "fc7", Me.stc7.Text)
a.Write(Me.Name & Me.h_id.Text, "fd1", Me.std1.Text)
a.Write(Me.Name & Me.h_id.Text, "fd2", Me.std2.Text)
a.Write(Me.Name & Me.h_id.Text, "fd3", Me.std3.Text)
a.Write(Me.Name & Me.h_id.Text, "fd4", Me.std4.Text)
a.Write(Me.Name & Me.h_id.Text, "fd5", Me.std5.Text)
a.Write(Me.Name & Me.h_id.Text, "fd6", Me.std6.Text)
a.Write(Me.Name & Me.h_id.Text, "fd7", Me.std7.Text)
End If
'//고정문자를 가져옵니다.
a = Nothing
End Sub
Private Sub AddEpole_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Me.bs.EndEdit()
Me.FixedSTring(False)
If bs.Count > 0 Then
Dim Drv As DataRowView
Drv = bs.Item(bs.Count - 1)
If NVL(Drv("N10"), "") = "" AndAlso _
NVL(Drv("N30"), "") = "" AndAlso _
NVL(Drv("N20"), "") = "" Then
Drv.Delete()
End If
End If
Me.CHk_Modify()
Frm_Main.bt_find.PerformClick()
End Sub
Private Sub AddEpole_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.view1.ASetting_Load(False, Me.viewTag)
Me.view1.한글필드 = New String() { _
"N1S", "N1L", _
"N2B", "N2C", _
"N3B", "N3C" _
}
Me.FixedSTring() '//고정문자불러오기
Me.view1.Font = New Font(ViewFont.FontName, ViewFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.bn.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.ToolStrip1.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.StatusStrip1.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
AddHandler IreaDataSet1.Detail_CableLabel.TableNewRow, AddressOf NewRowAddToDataTable
DT = Me.IreaDataSet1.Detail_CableLabel
Me.SETTOOLTIP()
''''''''데이터보여주기
If Me.IsNew Then '//현재id와같은 데이터는 모두삭제를 하게한다.
Dim Cmd As New OleDbCommand("delete from Detail_CableLabel where 관리id=" & Me.h_id.Text, Me.ta.Connection)
If Cmd.Connection.State <> ConnectionState.Open Then Cmd.Connection.Open()
Cmd.ExecuteNonQuery()
Me.IsNew = False
End If
Display_Data()
End Sub
Private Sub SETTOOLTIP()
Dim TMSG As New System.Text.StringBuilder()
TMSG.AppendLine()
TMSG.AppendLine("오른쪽 클릭시 기타메뉴가 표시됩니다")
TMSG.AppendLine()
TMSG.AppendLine("<단축키 : ENTER:다음칸 , SHIFT+TAB:이전칸>")
TMSG.AppendLine("<단축키 : DELETE:현재칸 지우기 , SHIFT+DELETE 현재줄 삭제>")
TMSG.AppendLine("<단축키 : F2:현재칸지우고 편집>")
TMSG.AppendLine("<단축키 : SPACE-BAR/F3:현재칸 편집>")
TMSG.AppendLine("<단축키 : CTRL + 마우스휠 : 화면크기를 조절합니다>")
TMSG.AppendLine()
Me.ToolTip1.SetToolTip(Me.view1, TMSG.ToString)
End Sub
Private Sub SetFarPoint()
' Me.view1.AEnterToNextItem()
Me.view1.DataSource = Me.bs
End Sub
''' <summary>
''' 신규추가시 번호를 생성해줍니다(현존최대넘버+1)
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Private Function Get_NewNumber() As Integer
Dim maxCnt As Integer = 0
For i As Integer = 0 To Me.view1_Sheet1.RowCount - 1
If Me.view1_Sheet1.Cells(i, 1).Value > maxCnt Then maxCnt = Me.view1_Sheet1.Cells(i, 1).Value
Next
Return maxCnt + 1
End Function
Private Sub CHk_Modify(Optional ByVal prompt As Boolean = True)
Me.bs.EndEdit()
If Not Me.IreaDataSet1.HasChanges Then
NOTICE("변경된 내용이 없습니다", Me.lb_msg)
Return
End If
If prompt Then
If MsgBox("변경된 데이터를 저장하시겠습니까?", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "저장확인") <> MsgBoxResult.Ok Then Return
End If
Try
Me.ta.Update(Me.IreaDataSet1.Detail_CableLabel) '//Commit insert/update/delete
Me.IreaDataSet1.jjungtable.AcceptChanges() '//Set All Green
Try
Dim SQl As String = "insert into 전주관리(id,날짜,거래처명,비고,총수량,단가,금액,번호찰구분) values(:1,:2,:3,:4,:5,:6,:7,7)"
If Me.ta.Connection.State <> ConnectionState.Open Then Me.ta.Connection.Open()
Dim Cmd As New OleDbCommand(SQl, Me.ta.Connection)
Cmd.Parameters.Add(":1", OleDbType.Integer).Value = Val(Me.h_id.Text)
Cmd.Parameters.Add(":2", OleDbType.Date).Value = IIf(Me.h_date.Text.Trim = "", DBNull.Value, Me.h_date.Text.Trim)
Cmd.Parameters.Add(":3", OleDbType.VarChar).Value = Me.h_name.Text
Cmd.Parameters.Add(":4", OleDbType.VarChar).Value = Me.h_bigo.Text
Cmd.Parameters.Add(":5", OleDbType.Integer).Value = Me.IreaDataSet1.Detail_CableLabel.Rows.Count 'Me.view1_Sheet1.RowCount
Cmd.Parameters.Add(":6", OleDbType.Integer).Value = Val(Me.h_dan.Text)
Cmd.Parameters.Add(":7", OleDbType.Currency).Value = Val(Me.h_dan.Text) * Me.view1_Sheet1.RowCount
Cmd.ExecuteNonQuery()
Catch ex As Exception
Dim SQl As String = "update 전주관리 set 날짜=:2,거래처명=:3,비고=:4,총수량=:5,단가=:6,금액=:7,번호찰구분=7 where id=:1"
If Me.ta.Connection.State <> ConnectionState.Open Then Me.ta.Connection.Open()
Dim Cmd As New OleDbCommand(SQl, Me.ta.Connection)
Cmd.Parameters.Add(":2", OleDbType.Date).Value = IIf(Me.h_date.Text.Trim = "", DBNull.Value, Me.h_date.Text.Trim)
Cmd.Parameters.Add(":3", OleDbType.VarChar).Value = Me.h_name.Text
Cmd.Parameters.Add(":4", OleDbType.VarChar).Value = Me.h_bigo.Text
Cmd.Parameters.Add(":5", OleDbType.Integer).Value = Me.IreaDataSet1.Detail_CableLabel.Rows.Count
Cmd.Parameters.Add(":6", OleDbType.Integer).Value = Val(Me.h_dan.Text)
Cmd.Parameters.Add(":7", OleDbType.Currency).Value = Val(Me.h_dan.Text) * Me.view1_Sheet1.RowCount
Cmd.Parameters.Add(":1", OleDbType.Integer).Value = Val(Me.h_id.Text)
Cmd.ExecuteNonQuery()
Finally
'MakeList.bt_find.PerformClick()
'Display_Data(True)
Dim INI As New MyINI2(My.Application.Info.DirectoryPath & "\epole.ini")
INI.Write("main", "lastkname1", Me.h_name.Text)
NOTICE("저장되었습니다", Me.lb_msg)
My.Computer.Audio.Play(My.Application.Info.DirectoryPath & "\sound\notify.wav", AudioPlayMode.Background)
'MakeList.Display_Data() '//이건 bt_find 에서 재호출된다.
End Try
Catch ex As Exception
MsgBox("데이터베이스 업데이트중 오류가 발생했습니다" & vbCrLf & vbCrLf & ex.ToString, MsgBoxStyle.Critical, "ERROR-")
Me.IreaDataSet1.Detail_CableLabel.RejectChanges()
NOTICE("저장 실패!", Me.lb_msg)
Finally
view1.ActiveSheet.GetDataView(True) '//화면을 갱신한다.
End Try
End Sub
Private Sub Display_Data(Optional ByVal AutoSort As Boolean = False) '//뷰에데이터를 표시한다.
Me.bs.Sort = "정렬번호,번호" '//정렬된것들은 정렬된채로 보여준다.
Me.ta.Fill(Me.IreaDataSet1.Detail_CableLabel, Me.h_id.Text) '//관리id를 통해서 데이터를 채운다.
SetFarPoint() '//여기서 파포인트를 바인딩 소스와 연결시킨다(바인딩 소스는 테이블에 연결되어있다)
If Me.IreaDataSet1.Detail_CableLabel.Rows.Count <= 0 Then
Me.bt_addrow.PerformClick()
NOTICE("데이터가 존재하지 않습니다", Color.Red, Me.lb_msg)
Return
End If
NOTICE(Me.view1.ActiveSheet.RowCount & "개의 데이터가 검색되었습니다", Me.lb_msg)
End Sub
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
Me.bt_commit.PerformClick() '//저장할게잇으면 다 저장한다.
Me.view1.SuspendLayout()
Dim A As New XLSImport(Me.IreaDataSet1, Me.h_id.Text, 7)
A.ShowDialog()
Me.CHk_Modify(False)
Me.Display_Data()
Me.view1.ResumeLayout()
End Sub
Private Sub ToolStripButton2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click
'Me.bs.EndEdit()
'If Me.view1.Cells("출력").Value = False Then
' MsgBox("현재 선택된 줄은 출력이 되지않도록 설정되어있습니다", MsgBoxStyle.Critical, "확인")
' Return
'End If
'Dim Aa As New Cls_CableLabel.PrintForm(Me.DT, True, Me.view1.기본스타일인덱스, CType(Me.bs.Current, DataRowView))
'Aa.Show()
Me.bs.EndEdit()
If Me.view1.Cells("출력").Value = False Then
MsgBox("현재 선택된 줄은 출력이 되지않도록 설정되어있습니다", MsgBoxStyle.Critical, "확인")
Return
End If
Dim Stastr() As String = New String() {Me.stb1.Text, _
Me.stb2.Text, _
Me.stb3.Text, _
Me.stb4.Text, _
Me.stb5.Text, _
Me.stb6.Text, _
Me.stc1.Text, _
Me.stc2.Text, _
Me.stc3.Text, _
Me.stc4.Text, _
Me.stc5.Text, _
Me.stc6.Text, _
Me.stc7.Text, _
Me.std1.Text, _
Me.std2.Text, _
Me.std3.Text, _
Me.std4.Text, _
Me.std5.Text, _
Me.std6.Text, _
Me.std7.Text _
}
PrnForm = New printformCableLABEL(Me.IreaDataSet1.Detail_CableLabel, CType(Me.bs.Current, DataRowView), Stastr) 'Me.view1.ActiveSheet.ActiveRowIndex)
If Admin Then
PrnForm.Show()
Else
PrnForm.ShowDialog()
End If
End Sub
Private Sub ToolStripMenuItemolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem.Click
'''''검색방법은 1번개체부터 마지막개체까지 풀루프를 돌면서 동일한 놈을 찾는다.
Dim 원본, 대상 As String 'New System.Text.StringBuilder
Dim fcnt As Integer = 0
Me.pbar.Value = 0
Me.pbar.Minimum = 0
Me.pbar.Maximum = Me.view1.ActiveSheet.RowCount
NOTICE("중복되는 [전산번호]를 찾는중입니다...", Me.lb_msg)
Me.Invalidate()
For Each A As FarPoint.Win.Spread.Row In Me.view1.ActiveSheet.Rows
원본 = Me.view1.ActiveSheet.Cells(A.Index, 2).Value
If 원본.ToString <> "" Then
For Each B As FarPoint.Win.Spread.Row In Me.view1.ActiveSheet.Rows
If A.Index <> B.Index Then '//같은라인은 피하고 그렇지 않은 라인의 번호를 확인한다.
대상 = Me.view1.ActiveSheet.Cells(B.Index, Me.view1.ColIndex("N10")).Value
If 원본.ToString = 대상.ToString Then
fcnt += 1
Me.view1.ActiveSheet.Cells(A.Index, Me.view1.ACheckBox_ColIndex).Value = True
Me.view1.ActiveSheet.Cells(B.Index, Me.view1.ACheckBox_ColIndex).Value = True
End If
End If
Next
End If
If Me.pbar.Value < Me.pbar.Maximum Then Me.pbar.Value += 1
Me.Invalidate()
Next
NOTICE("[전산번호] 중복검사 완료(" & fcnt & "개의 데이터를 찾았습니다)", Me.lb_msg)
End Sub
Private Sub BindingNavigatorAddNewItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_addrow.Click
If Me.Sorted = ESorted.NULL Then Check_Sorted()
Me.view1.AAddNewRow()
End Sub
Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_commit.Click
'//언바운드된 열을 여기서 바운드시켜분다.
'Me.view1.Attach_Ubound(3)
Me.bs.EndEdit()
If bs.Count > 0 Then
Dim Drv As DataRowView
Drv = bs.Item(bs.Count - 1)
If NVL(Drv("N10"), "") = "" Then
Drv.Delete()
End If
End If
If Not Me.IreaDataSet1.HasChanges Then
NOTICE("변경된 데이터가 없습니다", Me.lb_msg)
Return
End If
Me.bt_find.PerformClick()
End Sub
Private Sub ToolStripButton5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_cancel.Click
Me.bs.EndEdit()
If Me.IreaDataSet1.HasChanges Then
Me.IreaDataSet1.RejectChanges()
NOTICE("변경된 내용이 취소되었습니다.", Me.lb_msg)
Else
NOTICE("변경내역이 없습니다", Me.lb_msg)
End If
End Sub
Private Sub olStripMenuItem1tripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles olStripMenuItem1.Click
Me.view1.ASelect(Me.view1.ACheckBox_ColIndex)
End Sub
Private Sub lStripMenuItem2ipMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lStripMenuItem2.Click
Me.view1.AUnselect(Me.view1.ACheckBox_ColIndex)
End Sub
Private Sub gfsdlStripMenuItem2MenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles gfsdlStripMenuItem2.Click
Me.view1.AReverse(Me.view1.ACheckBox_ColIndex)
End Sub
Private Sub BindingNavigatorDeleteItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorDeleteItem.Click
If Me.view1.ActiveSheet.Rows.Count > 0 Then
Me.view1.ActiveSheet.ActiveRow.Remove()
NOTICE("현재줄이 삭제되었습니다", Me.lb_msg)
Else
MsgBox("더이상 삭제할 줄이 없습니다")
End If
End Sub
Private Sub view1_Arin_AddLog(ByVal sender As Object, ByVal msg As String) Handles view1.Arin_AddLog
If Admin Then Log.Show()
If Admin Then Log.RichTextBox1.AppendText(msg & vbCrLf)
End Sub
Private Sub view1_Arin_Before_EditModeOff(ByVal sender As Object, ByVal e As System.EventArgs) Handles view1.Arin_Before_EditModeOff
'With Me.view1.ActiveSheet
' Select Case .ActiveColumn.Label
' Case "형식및용량"
' If (.Cells(.ActiveRowIndex, .ActiveColumnIndex - 1).Text = "" OrElse _
' .Cells(.ActiveRowIndex, .ActiveColumnIndex - 1).Text = vbNullString) AndAlso _
' .ActiveCell.Text.Length = 4 Then
' .ActiveCell.Text = .ActiveCell.Text.Substring(0, 2) & "-" & .ActiveCell.Text.Substring(2, 1) & "-" & .ActiveCell.Text.Substring(3)
' 'Else
' ' Me.Text = .ActiveCell.Text.Length & "/" & .Cells(.ActiveRowIndex, .ActiveColumnIndex - 1).Text
' End If
' Case "기기명"
' Select Case .ActiveCell.Text.ToUpper
' Case "SW"
' .ActiveCell.Text = "PAD SW"
' Case "SK"
' .ActiveCell.Text = "지상개폐기"
' Case "TR"
' .ActiveCell.Text = "PAD TR"
' Case "TK"
' .ActiveCell.Text = "지상변압기"
' End Select
' End Select
'End With
End Sub
Private Sub view1_DragFillBlockCompleted(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.DragFillBlockCompletedEventArgs) Handles view1.DragFillBlockCompleted
For i As Integer = e.RowBegin To e.RowBegin + e.NumberToCopy
' Dim ds As DataSet = FpSpread1.Sheets(0).DataSource
Me.IreaDataSet1.Detail_CableLabel.Rows(view1.Sheets(0).GetModelRowFromViewRow(i)).EndEdit()
Next
End Sub
Private Sub Check_Sorted()
If Me.Sorted = ESorted.NULL Then '//아직 검색이된건지 확인안해봣다
Me.Sorted = ESorted.No
For i As Short = 0 To IIf(Me.DT.Rows.Count > 10, 10, Me.DT.Rows.Count - 1)
If NVL(DT.Rows(i)("정렬번호")) <> "" AndAlso NVL(DT.Rows(i)("정렬번호")) <> "히히히000000000" AndAlso NVL(DT.Rows(i)("정렬번호")) <> "" Then '//데이터가있다면
Me.Sorted = ESorted.YES
Exit For
End If
Next
End If
End Sub
Private Sub Make_Index()
Work_Form("인덱스를 생성하고 있습니다")
Form_Work.ProgressBar1.Minimum = 0
Form_Work.ProgressBar1.Maximum = Me.DT.Rows.Count
Dim Num As Short
For i As Integer = 0 To Me.DT.Rows.Count - 1
Form_Work.pval = i
Num = Me.DT.Rows(i)("번호")
Me.DT.Rows(i)("정렬번호") = "1" & Format(Num, "00000") & "1000"
Next
Form_Work.Close() '//작업창 닫기
Me.Sorted = ESorted.YES
End Sub
Private Sub bt_insertrow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_insertrow.Click
' Me.view1.AInsertNewRow() '//번호문제도있다.
'//현재줄 바로위에 한줄을삽입한다.
'//새로운ID는 전줄의ID+1 이며
Me.bs.EndEdit()
'//위에서부터 5개또는 마지막까지 이게 정렬된데이터인지 확인합니다.
If Me.Sorted = ESorted.NULL Then Check_Sorted()
If Me.Sorted = ESorted.No Then Make_Index() '//인덱스를 생성한다.
Dim NR As ireaDataSet.Detail_CableLabelRow = Me.DT.NewDetail_CableLabelRow '//삽입은 현재줄 위에 삽입하는것이다. 현재줄의 인덱스번호가 숫자형태라면 정렬이안된데이터다
Dim 정렬번호 As String = bs.Current("정렬번호")
Dim N정렬번호 As String
If Not Me.Sorted = ESorted.CANT AndAlso IsNumeric(정렬번호) AndAlso 정렬번호.Length >= 8 Then '//숫자라면 인덱스정렬법이다.
Dim MN As String = 정렬번호.Substring(0, 6)
Dim SN As Short = 정렬번호.Substring(6)
'NR.번호 = bs.Current("번호") - 1 '//번호는 -1하고
'If NR.번호 < 1 Then NR.번호 = 0
N정렬번호 = MN & Format(SN - 1, "0000") '//현재 일련번호에 -을 해서 넣느다. 이부분 변경하자..변경한이름이 있을경우 해당위로의 숫자를 -1해야한다.
'//새로우 정렬번호랑 같은것들은 -1해준다.
For Each DR As DataRow In Me.DT.Select("정렬번호 like '" & MN & "%' and 정렬번호 <= '" & N정렬번호 & "'")
MN = DR("정렬번호").Substring(0, 6)
SN = DR("정렬번호").Substring(6)
DR("정렬번호") = MN & Format(SN - 1, "0000") '//원래번호-1해준다.
Next
'//
NR.정렬번호 = N정렬번호
Dim AR As Integer = Me.view1.ActiveSheet.ActiveRowIndex
Me.DT.AddDetail_CableLabelRow(NR)
Me.view1.ActiveSheet.ActiveRowIndex = AR
Else '//전주번호정렬법이다 이것은 정렬이 별도로 존재한다.
MsgBox("번호형식으로 정렬되어있는 데이터입니다" & vbCrLf & "이데이터는 [한줄삽입]이 되지않습니다.", MsgBoxStyle.Information, "확인")
Me.Sorted = ESorted.CANT
'Me.bt_addrow.PerformClick() '//한줄추가화럴ㅇ()
End If
End Sub
Private Sub oolStripMenuItemipMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles oolStripMenuItem.Click
Me.ToolStripButton2.PerformClick()
End Sub
Private Sub ToolStripButton3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton3.Click
Process.Start(HomePage)
End Sub
Private Sub ToolStripButton5_Click_2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton5.Click
Me.Close()
End Sub
Private Sub bt_save_all_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_save_all.Click
Dim a As New SaveFileDialog
a.Filter = "[모든데이터내보내기] 엑셀 워크시트파일(*.XLS)|*.XLS"
a.FilterIndex = 0
a.Title = "저장할 엑셀 파일을 지정하세요"
If a.ShowDialog() <> System.Windows.Forms.DialogResult.Cancel Then
Dim msg As New System.Text.StringBuilder
Me.view1.SaveExcel(a.FileName, FarPoint.Excel.ExcelSaveFlags.SaveAsViewed)
msg.AppendLine("내보내진 파일은 기본값으로 [시트보호]가 되어있습니다")
msg.AppendLine()
msg.AppendLine()
msg.AppendLine("[시트보호] 상태에서는 시트를 편집할 수 없습니다")
msg.AppendLine()
msg.AppendLine("[시트보호]를 해제하려면 해당파일을 엑셀에서 불러온후")
msg.AppendLine("[도구]-[보호]-[시트보호해제]를 클릭하세요")
MsgBox(msg.ToString, MsgBoxStyle.Information, "시트보호")
End If
End Sub
Private Sub bt_save_current_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_save_current.Click
Dim a As New SaveFileDialog
a.Filter = "[현재데이터내보내기] 엑셀 워크시트파일(*.XLS)|*.XLS"
a.FilterIndex = 0
a.Title = "저장할 엑셀 파일을 지정하세요"
If a.ShowDialog() <> System.Windows.Forms.DialogResult.Cancel Then
Dim msg As New System.Text.StringBuilder
Me.view1.SaveExcel(a.FileName, FarPoint.Excel.ExcelSaveFlags.SaveAsFiltered)
msg.AppendLine("내보내진 파일은 기본값으로 [시트보호]가 되어있습니다")
msg.AppendLine()
msg.AppendLine()
msg.AppendLine("[시트보호] 상태에서는 시트를 편집할 수 없습니다")
msg.AppendLine()
msg.AppendLine("[시트보호]를 해제하려면 해당파일을 엑셀에서 불러온후")
msg.AppendLine("[도구]-[보호]-[시트보호해제]를 클릭하세요")
MsgBox(msg.ToString, MsgBoxStyle.Information, "시트보호")
End If
End Sub
Private Sub outsalldatae_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles outsalldatae.Click
Me.bt_save_all.PerformClick()
End Sub
Private Sub savecurrentdata_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles savecurrentdata.Click
Me.bt_save_current.PerformClick()
End Sub
Private Sub AddEpoleJJ_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Validated
Me.view1.Focus()
Me.view1.Focus()
End Sub
Private Sub bt_find_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_find.Click
CHk_Modify()
Display_Data()
End Sub
Private Sub bt_datasort_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_datasort.Click
'Dim 번호 As String
'Dim 번호B, 번호b2 As System.Text.StringBuilder
'Me.pbar.Minimum = 0
'Me.pbar.Maximum = Me.IreaDataSet1.Detail_CableLabel.Rows.Count - 1
'Me.pbar.Value = 0
'Dim Cidx As Int16 = 0
'Dim Carray As ArrayList
'For Each dr As ireaDataSet.Detail_CableLabelRow In Me.IreaDataSet1.Detail_CableLabel.Rows
' 번호 = (dr.번호1 & dr.번호2 & dr.번호3 & dr.번호4 & dr.번호5)
' If 번호 <> "" Then
' Cidx = 0
' 번호B = New System.Text.StringBuilder
' 번호b2 = New System.Text.StringBuilder
' Carray = New ArrayList
' For Each C As Char In 번호.ToCharArray
' If Char.IsLetter(C) Then
' Carray.Add(C) '//문자위치와 문자를 저장한다.
' 번호B.Append("@") '//문자는 @로 변환한다.
' Else
' 번호B.Append(C) '//숫자는 바로 저장해버린다.
' End If
' Cidx += 1
' Next
' For Each 번호s As String In 번호B.ToString.Split("@")
' 번호b2.Append(Format(Val(번호s), "000").ToString & "@") '/3자리로바꾼후 문자열을 붙인다
' Next
' 번호b2.Remove(번호b2.Length - 1, 1) '//쓰레기제거
' 번호 = 번호b2.ToString
' For Each c As Char In Carray '//문자와 위치가 있다
' Cidx = 번호.IndexOf("@")
' If Cidx <> -1 Then 번호 = 번호.Substring(0, Cidx) & c & 번호.Substring(Cidx + 1)
' Next
' dr.정렬번호 = dr.선로명 & CStr(번호.ToUpper.Replace("K", "0")).Replace("G", "0")
' If Me.pbar.Value < Me.pbar.Maximum Then Me.pbar.Value += 1
' Else '//번호에 아무것도 없는경우
' dr.정렬번호 = dr.선로명 & "0" 'If SORTNULL Then dr.정렬번호 = dr.선로명 & "0"
' End If
'Next
'NOTICE("정렬이 완료되었습니다", Me.lb_msg)
End Sub
Private Sub servoolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles servoolStripMenuItem.Click
Dim Frow, Fcol As Integer
Me.view1.Search(Me.view1.ActiveSheetIndex, InputBox("선택된 열에서 검색할 문자를 입력하세요."), False, False, False, True, True, False, False, 0, 0, Frow, Fcol)
If Frow >= 0 AndAlso Fcol >= 0 Then '//검색됫다면
Me.view1.ActiveSheet.SetActiveCell(Frow, Fcol)
SendKeys.Send("{ENTER}")
End If
End Sub
Private Sub cm_RenewNum_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cm_RenewNum.Click
ReNum(Me.IreaDataSet1.Detail_CableLabel, "번호", Me.pbar)
End Sub
Private Sub vripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbt_vselall.Click
For Each A As DataRow In Me.IreaDataSet1.Detail_CableLabel.Rows
A("출력") = True
Next
End Sub
Private Sub cbt_vusell_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbt_vusell.Click
For Each A As DataRow In Me.IreaDataSet1.Detail_CableLabel.Rows
A("출력") = False
Next
End Sub
Private Sub cbt_vselrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbt_vselrev.Click
For Each A As DataRow In Me.IreaDataSet1.Detail_CableLabel.Rows
A("출력") = Not A("출력")
Next
End Sub
Private Sub bt_colsizesave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_colsizesave.Click
Me.view1.ASetting_Save(False, viewTag)
End Sub
Private Sub bt_seldel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_seldel.Click
For i As Integer = Me.view1.ActiveSheet.RowCount - 1 To 0 Step -1
If Me.view1.ActiveSheet.Cells(i, Me.view1.ACheckBox_ColIndex).Value = True Then Me.view1.ActiveSheet.Rows(i).Remove()
Next
End Sub
Private Sub view1_Arin_Before_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles view1.Arin_Before_KeyDown
Select Case e.KeyCode
Case Keys.Insert '//삽입
Me.bt_insertrow.PerformClick()
'Me.bt_addrow.PerformClick()
Case Keys.Enter '/마지막줄에 마지막 열이엿으면 bt_insertrow
'MsgBox("beforkey")
With Me.view1.ActiveSheet
If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then
.ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
End If
End With
End Select
End Sub
Private Sub view1_EditModeOff(ByVal sender As Object, ByVal e As System.EventArgs) Handles view1.EditModeOff
With Me.view1.ActiveSheet
If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then
.ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
End If
'Me.Text = .ActiveColumn.DataField.ToUpper
Select Case .ActiveColumn.DataField.ToUpper
Case "N10", "N20", "N21", "N22", "N30", "N31", "N32"
If .ActiveCell.Text.Length > 5 AndAlso .ActiveCell.Text.IndexOf(".") = -1 Then
.ActiveCell.Text = .ActiveCell.Text.Substring(0, 5) & "." & .ActiveCell.Text.Substring(5)
End If
End Select
End With
End Sub
Private Sub 열너비초기화ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 열너비초기화ToolStripMenuItem.Click
For c As Integer = 1 To view1_Sheet1.ColumnCount
view1_Sheet1.Columns(c - 1).Width = 100
Next
Application.DoEvents()
End Sub
End Class

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,153 @@
<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="StatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>150, 34</value>
</metadata>
<metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>305, 15</value>
</metadata>
<metadata name="ErrorProvider1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>260, 37</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>69</value>
</metadata>
<metadata name="bn.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>7, 37</value>
</metadata>
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>5, 15</value>
</metadata>
<metadata name="IreaDataSet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>406, 22</value>
</metadata>
<metadata name="ContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>148, 11</value>
</metadata>
<metadata name="view1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>760, 3</value>
</metadata>
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>394, 37</value>
</metadata>
<metadata name="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>906, 29</value>
</metadata>
</root>

View File

@@ -0,0 +1,575 @@
Public Class AddEpoleDung
' Dim SaveFlag As Boolean = False
Dim WithEvents DT As ireaDataSet.Detail_DeungDataTable
Dim Sorted As ESorted = ESorted.NULL
Dim IsNew As Boolean = False
Private Sub NewRowAddToDataTable(ByVal sender As Object, ByVal e As System.Data.DataTableNewRowEventArgs) Handles DT.TableNewRow '//New Row Add & Setting Default Data
Dim NEwrow As DataRow = e.Row
NEwrow("rowid") = System.Guid.NewGuid
NEwrow("관리ID") = CInt(Me.h_id.Text)
NEwrow("번호") = CInt(Me.Get_NewNumber)
NEwrow("출력") = True
Dim newid As Integer = CInt(Me.Get_NewNumber)
If Me.Sorted = ESorted.CANT Then
NEwrow("정렬번호") = "" & "1" & Format(newid, "00000") & "1000"
Else
NEwrow("정렬번호") = "1" & Format(newid, "00000") & "1000"
End If
End Sub
Public Sub New(ByVal maxid As Integer)
' 이 호출은 Windows Form 디자이너에 필요합니다.
InitializeComponent()
Dim INI As New MyINI2(My.Application.Info.DirectoryPath & "\epole.ini")
Me.h_date.Enabled = True
Me.h_name.Enabled = True
Me.h_bigo.Enabled = True
Me.h_id.Enabled = False
Me.h_dan.Enabled = True
Me.Text = "정액등 입력(신규작업)"
Me.h_name.Text = INI.Read("main", "lastkname1") 'InputBox("거래처명을 입력하세요", "신규입력-거래처명", "해광기획")
Me.h_dan.Text = "0" 'InputBox("수량별 단가를 입력하세요", "신규입력-단가", "0")
Me.h_id.Text = maxid
Me.h_bigo.Text = "정액등제작(" & Format(Now, "MM") & "-" & Format(Now, "dd") & ")"
Me.h_date.Text = Format(Now, "yyyy/MM/dd")
Me.IsNew = True
End Sub
Public Sub New(ByVal v_id As String, ByVal V_DATE As String, ByVal V_NAME As String, ByVal V_BIGO As String, ByVal V_DAN As String)
' 이 호출은 Windows Form 디자이너에 필요합니다.
InitializeComponent()
Me.h_date.Text = V_DATE
Me.h_name.Text = V_NAME
Me.h_bigo.Text = V_BIGO
Me.h_dan.Text = V_DAN
Me.h_id.Text = v_id
Me.h_date.Enabled = False
Me.h_name.Enabled = False
Me.h_bigo.Enabled = False
Me.h_id.Enabled = False
Me.h_id.Enabled = False
Me.Text = "정액등 입력"
End Sub
Private Sub AddEpole_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
bs.EndEdit()
If bs.Count > 0 Then
Dim Drv As DataRowView
Drv = bs.Item(bs.Count - 1)
If NVL(Drv("고객번호1"), "") = "" AndAlso NVL(Drv("고객번호2"), "") = "" AndAlso NVL(Drv("고객번호3"), "") = "" AndAlso _
NVL(Drv("관리번호1"), "") = "" AndAlso NVL(Drv("관리번호2"), "") = "" AndAlso NVL(Drv("관리번호3"), "") = "" AndAlso NVL(Drv("지점명"), "") = "" Then
Drv.Delete()
End If
End If
Me.CHk_Modify()
' Me.view1.Setting_Save(False, "view_deung")
Frm_Main.bt_find.PerformClick()
' If Me.SaveFlag Then Me.DialogResult = System.Windows.Forms.DialogResult.OK
End Sub
Private Sub AddEpole_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'Me.Detail_DeungTableAdapter.Connection.ConnectionString = ConString
Me.view1.Setting_Load(False, "view_deung")
Me.view1.Font = New Font(ViewFont.FontName, ViewFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.bn.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.ToolStrip1.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.StatusStrip1.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
DT = Me.IreaDataSet1.Detail_Deung
Me.SETTOOLTIP()
''''''''데이터보여주기
If Me.IsNew Then '//현재id와같은 데이터는 모두삭제를 하게한다.
Dim Cmd As New OleDbCommand("delete from Detail_Deung where 관리id=" & Me.h_id.Text, Me.ta.Connection)
If Cmd.Connection.State <> ConnectionState.Open Then Cmd.Connection.Open()
Cmd.ExecuteNonQuery()
Me.IsNew = False
End If
Display_Data()
End Sub
Private Sub SETTOOLTIP()
Dim TMSG As New System.Text.StringBuilder()
TMSG.AppendLine()
TMSG.AppendLine("오른쪽 클릭시 기타메뉴가 표시됩니다")
TMSG.AppendLine()
TMSG.AppendLine("<단축키 : ENTER:다음칸 , SHIFT+TAB:이전칸 , ALT+ENTER:윗칸복사>")
TMSG.AppendLine("<단축키 : DELETE:현재칸 지우기 , SHIFT+DELETE 현재줄 삭제>")
TMSG.AppendLine("<단축키 : F2:현재칸지우고 편집>")
TMSG.AppendLine("<단축키 : SPACE-BAR/F3:현재칸 편집>")
TMSG.AppendLine("<단축키 : CTRL + 마우스휠 : 화면크기를 조절합니다>")
TMSG.AppendLine()
Me.ToolTip1.SetToolTip(Me.view1, TMSG.ToString)
'TMSG = New System.Text.StringBuilder()
'TMSG.AppendLine()
'TMSG.AppendLine("검색문자의 우선순위 : 숫자->영문자->한글")
'TMSG.AppendLine(" ->0 은 000 보다 우선순위가 높습니다.")
''Me.bt_find.ToolTipText = "데이터베이스의 내용을 다시 불러옵니다" & vbCrLf & "번호정렬은 우측의 ▼ 를 클릭하세요"
End Sub
Private Sub SetFarPoint()
Me.view1.EnterToNextItem()
Me.view1.DataSource = Me.bs
End Sub
''' <summary>
''' 신규추가시 번호를 생성해줍니다(현존최대넘버+1)
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Private Function Get_NewNumber() As Integer
Dim maxCnt As Integer = 0
For i As Integer = 0 To Me.view1_Sheet1.RowCount - 1
If Me.view1_Sheet1.Cells(i, 2).Value > maxCnt Then maxCnt = Me.view1_Sheet1.Cells(i, 2).Value
Next
Return maxCnt + 1
End Function
Private Sub CHk_Modify(Optional ByVal prompt As Boolean = True)
Me.bs.EndEdit()
If Not Me.IreaDataSet1.HasChanges Then
NOTICE("변경된 내용이 없습니다", Me.lb_msg)
Return
End If
If prompt Then
If MsgBox("변경된 데이터를 저장하시겠습니까?", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "저장확인") <> MsgBoxResult.Ok Then Return
End If
Try
Me.ta.Update(Me.IreaDataSet1.Detail_Deung) '//Commit insert/update/delete
Me.IreaDataSet1.Detail_Deung.AcceptChanges() '//Set All Green
Try
Dim SQl As String = "insert into 전주관리(id,날짜,거래처명,비고,총수량,단가,금액,번호찰구분) values(:1,:2,:3,:4,:5,:6,:7,2)"
If Me.ta.Connection.State <> ConnectionState.Open Then Me.ta.Connection.Open()
Dim Cmd As New OleDbCommand(SQl, Me.ta.Connection)
Cmd.Parameters.Add(":1", OleDbType.Integer).Value = Val(Me.h_id.Text)
Cmd.Parameters.Add(":2", OleDbType.Date).Value = IIf(Me.h_date.Text.Trim = "", DBNull.Value, Me.h_date.Text.Trim)
Cmd.Parameters.Add(":3", OleDbType.VarChar).Value = Me.h_name.Text
Cmd.Parameters.Add(":4", OleDbType.VarChar).Value = Me.h_bigo.Text
Cmd.Parameters.Add(":5", OleDbType.Integer).Value = Me.IreaDataSet1.Detail_Deung.Rows.Count 'Me.view1_Sheet1.RowCount
Cmd.Parameters.Add(":6", OleDbType.Integer).Value = Val(Me.h_dan.Text)
Cmd.Parameters.Add(":7", OleDbType.Currency).Value = Val(Me.h_dan.Text) * Me.view1_Sheet1.RowCount
Cmd.ExecuteNonQuery()
Catch ex As Exception
Dim SQl As String = "update 전주관리 set 날짜=:2,거래처명=:3,비고=:4,총수량=:5,단가=:6,금액=:7,번호찰구분=2 where id=:1"
If Me.ta.Connection.State <> ConnectionState.Open Then Me.ta.Connection.Open()
Dim Cmd As New OleDbCommand(SQl, Me.ta.Connection)
Cmd.Parameters.Add(":2", OleDbType.Date).Value = IIf(Me.h_date.Text.Trim = "", DBNull.Value, Me.h_date.Text.Trim)
Cmd.Parameters.Add(":3", OleDbType.VarChar).Value = Me.h_name.Text
Cmd.Parameters.Add(":4", OleDbType.VarChar).Value = Me.h_bigo.Text
Cmd.Parameters.Add(":5", OleDbType.Integer).Value = Me.IreaDataSet1.Detail_Deung.Rows.Count
Cmd.Parameters.Add(":6", OleDbType.Integer).Value = Val(Me.h_dan.Text)
Cmd.Parameters.Add(":7", OleDbType.Currency).Value = Val(Me.h_dan.Text) * Me.view1_Sheet1.RowCount
Cmd.Parameters.Add(":1", OleDbType.Integer).Value = Val(Me.h_id.Text)
Cmd.ExecuteNonQuery()
Finally
'MakeList.bt_find.PerformClick()
'Display_Data(True)
Dim INI As New MyINI2(My.Application.Info.DirectoryPath & "\epole.ini")
INI.Write("main", "lastkname1", Me.h_name.Text)
NOTICE("저장되었습니다", Me.lb_msg)
My.Computer.Audio.Play(My.Application.Info.DirectoryPath & "\sound\notify.wav", AudioPlayMode.Background)
'MakeList.Display_Data() '//이건 bt_find 에서 재호출된다.
End Try
Catch ex As Exception
MsgBox("데이터베이스 업데이트중 오류가 발생했습니다" & vbCrLf & vbCrLf & ex.ToString, MsgBoxStyle.Critical, "ERROR-")
Me.IreaDataSet1.Detail_Deung.RejectChanges()
NOTICE("저장 실패!", Me.lb_msg)
Finally
view1.ActiveSheet.GetDataView(True) '//화면을 갱신한다.
End Try
End Sub
Private Sub Display_Data(Optional ByVal AutoSort As Boolean = False) '//뷰에데이터를 표시한다.
Me.bs.Sort = "정렬번호,번호" '//정렬된것들은 정렬된채로 보여준다.
Me.ta.Fill(Me.IreaDataSet1.Detail_Deung, Me.h_id.Text) '//관리id를 통해서 데이터를 채운다.
SetFarPoint() '//여기서 파포인트를 바인딩 소스와 연결시킨다(바인딩 소스는 테이블에 연결되어있다)
If Me.IreaDataSet1.Detail_Deung.Rows.Count <= 0 Then
NOTICE("데이터가 존재하지 않습니다", Color.Red, Me.lb_msg)
Me.bt_addrow.PerformClick()
Return
End If
NOTICE(Me.view1.ActiveSheet.RowCount & "개의 데이터가 검색되었습니다", Me.lb_msg)
End Sub
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
Me.bt_commit.PerformClick() '//저장할게잇으면 다 저장한다.
Me.view1.SuspendLayout()
Dim A As New XLSImport(Me.IreaDataSet1, Me.h_id.Text, 2)
A.ShowDialog()
Me.CHk_Modify(False)
Me.Display_Data()
Me.view1.ResumeLayout()
End Sub
Private Sub ToolStripButton2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click
Me.bs.EndEdit()
If Me.view1.Cells("출력").Value = False Then
MsgBox("현재 선택된 줄은 출력이 되지않도록 설정되어있습니다", MsgBoxStyle.Critical, "확인")
Return
End If
'//수정요망
Dim A As New Printform_deung(Me.IreaDataSet1.Detail_Deung, CType(Me.bs.Current, DataRowView)) 'Me.view1.ActiveSheet.ActiveRowIndex)
A.ShowDialog()
End Sub
Private Sub ToolStripMenuItemolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_dchk1.Click
'''''검색방법은 1번개체부터 마지막개체까지 풀루프를 돌면서 동일한 놈을 찾는다.
Dim 원본() As Short = New Short() {3, 4, 5} ', 대상 As String 'New System.Text.StringBuilder
Dim fcnt As Integer = 0
Me.pbar.Value = 0
Me.pbar.Minimum = 0
Me.pbar.Maximum = Me.view1.ActiveSheet.RowCount
NOTICE("중복되는 [고객번호]를 찾는중입니다...", Me.lb_msg)
fcnt = Me.view1.중복검사(0, Me.view1.ActiveSheet.RowCount - 1, 원본, 원본, Me.view1.선택줄번호, Me.pbar)
NOTICE("[고객번호] 중복검사 완료(" & fcnt & "개의 데이터를 찾았습니다)", Me.lb_msg)
End Sub
Private Sub lStripMenuItemripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_dchk2.Click
'''''검색방법은 1번개체부터 마지막개체까지 풀루프를 돌면서 동일한 놈을 찾는다.
Dim 원본() As Short = New Short() {6, 7, 8} ', 대상 As String 'New System.Text.StringBuilder
Dim fcnt As Integer = 0
Me.pbar.Value = 0
Me.pbar.Minimum = 0
Me.pbar.Maximum = Me.view1.ActiveSheet.RowCount
NOTICE("중복되는 [관리번호]를 찾는중입니다...", Me.lb_msg)
fcnt = Me.view1.중복검사(0, Me.view1.ActiveSheet.RowCount - 1, 원본, 원본, Me.view1.선택줄번호, Me.pbar)
NOTICE("[관리번호] 중복검사 완료(" & fcnt & "개의 데이터를 찾았습니다)", Me.lb_msg)
End Sub
Private Sub bt_dchk3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_dchk3.Click
'''''검색방법은 1번개체부터 마지막개체까지 풀루프를 돌면서 동일한 놈을 찾는다.
Dim 원본() As Short = New Short() {3, 4, 5, 6, 7, 8} ', 대상 As String 'New System.Text.StringBuilder
Dim fcnt As Integer = 0
Me.pbar.Value = 0
Me.pbar.Minimum = 0
Me.pbar.Maximum = Me.view1.ActiveSheet.RowCount
NOTICE("중복되는 [고객번호+관리번호]를 찾는중입니다...", Me.lb_msg)
fcnt = Me.view1.중복검사(0, Me.view1.ActiveSheet.RowCount - 1, 원본, 원본, Me.view1.선택줄번호, Me.pbar)
NOTICE("[고객번호+관리번호] 중복검사 완료(" & fcnt & "개의 데이터를 찾았습니다)", Me.lb_msg)
End Sub
Private Sub Check_Sorted()
If Me.Sorted = ESorted.NULL Then '//아직 검색이된건지 확인안해봣다
Me.Sorted = ESorted.No
For i As Short = 0 To IIf(Me.DT.Rows.Count > 10, 10, Me.DT.Rows.Count - 1)
If NVL(DT.Rows(i)("정렬번호")) <> "" AndAlso NVL(DT.Rows(i)("정렬번호")) <> "히히히000000000" AndAlso NVL(DT.Rows(i)("정렬번호")) <> "" Then '//데이터가있다면
Me.Sorted = ESorted.YES
Exit For
End If
Next
End If
End Sub
Private Sub Make_Index()
Work_Form("인덱스를 생성하고 있습니다")
Form_Work.ProgressBar1.Minimum = 0
Form_Work.ProgressBar1.Maximum = Me.DT.Rows.Count
Dim Num As Short
For i As Integer = 0 To Me.DT.Rows.Count - 1
Form_Work.pval = i
Num = Me.DT.Rows(i)("번호")
Me.DT.Rows(i)("정렬번호") = "1" & Format(Num, "00000") & "1000"
Next
Form_Work.Close() '//작업창 닫기
Me.Sorted = ESorted.YES
End Sub
Private Sub bt_insertrow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_insertrow.Click
' Me.view1.AInsertNewRow() '//번호문제도있다.
'//현재줄 바로위에 한줄을삽입한다.
'//새로운ID는 전줄의ID+1 이며
Me.bs.EndEdit()
'//위에서부터 5개또는 마지막까지 이게 정렬된데이터인지 확인합니다.
If Me.Sorted = ESorted.NULL Then Check_Sorted()
If Me.Sorted = ESorted.No Then Make_Index() '//인덱스를 생성한다.
Dim NR As ireaDataSet.Detail_DeungRow = Me.DT.NewDetail_DeungRow '//삽입은 현재줄 위에 삽입하는것이다. 현재줄의 인덱스번호가 숫자형태라면 정렬이안된데이터다
Dim 정렬번호 As String = bs.Current("정렬번호")
Dim N정렬번호 As String
If Not Me.Sorted = ESorted.CANT AndAlso IsNumeric(정렬번호) AndAlso 정렬번호.Length >= 8 Then '//숫자라면 인덱스정렬법이다.
Dim MN As String = 정렬번호.Substring(0, 6)
Dim SN As Short = 정렬번호.Substring(6)
'NR.번호 = bs.Current("번호") - 1 '//번호는 -1하고
'If NR.번호 < 1 Then NR.번호 = 0
N정렬번호 = MN & Format(SN - 1, "0000") '//현재 일련번호에 -을 해서 넣느다. 이부분 변경하자..변경한이름이 있을경우 해당위로의 숫자를 -1해야한다.
'//새로우 정렬번호랑 같은것들은 -1해준다.
For Each DR As DataRow In Me.DT.Select("정렬번호 like '" & MN & "%' and 정렬번호 <= '" & N정렬번호 & "'")
MN = DR("정렬번호").Substring(0, 6)
SN = DR("정렬번호").Substring(6)
DR("정렬번호") = MN & Format(SN - 1, "0000") '//원래번호-1해준다.
Next
'//
NR.정렬번호 = N정렬번호
Dim AR As Integer = Me.view1.ActiveSheet.ActiveRowIndex
Me.DT.AddDetail_DeungRow(NR)
Me.view1.ActiveSheet.ActiveRowIndex = AR
Else '//전주번호정렬법이다 이것은 정렬이 별도로 존재한다.
MsgBox("번호형식으로 정렬되어있는 데이터입니다" & vbCrLf & "이데이터는 [한줄삽입]이 되지않습니다.", MsgBoxStyle.Information, "확인")
Me.Sorted = ESorted.CANT
'Me.bt_addrow.PerformClick() '//한줄추가화럴ㅇ()
End If
End Sub
Private Sub BindingNavigatorAddNewItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_addrow.Click
If Me.Sorted = ESorted.NULL Then Check_Sorted()
Me.view1.Arin_AddNewRow()
End Sub
Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_commit.Click
'//언바운드된 열을 여기서 바운드시켜분다.
'Me.view1.Attach_Ubound(3)
Me.bs.EndEdit()
If bs.Count > 0 Then
Dim Drv As DataRowView
Drv = bs.Item(bs.Count - 1)
If NVL(Drv("고객번호1"), "") = "" AndAlso NVL(Drv("고객번호2"), "") = "" AndAlso NVL(Drv("고객번호3"), "") = "" AndAlso _
NVL(Drv("관리번호1"), "") = "" AndAlso NVL(Drv("관리번호2"), "") = "" AndAlso NVL(Drv("관리번호3"), "") = "" AndAlso NVL(Drv("지점명"), "") = "" Then
Drv.Delete()
End If
End If
If Not Me.IreaDataSet1.HasChanges Then
NOTICE("변경된 데이터가 없습니다", Me.lb_msg)
Return
End If
Me.bt_find.PerformClick()
End Sub
Private Sub ToolStripButton5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_cancel.Click
Me.bs.EndEdit()
If Me.IreaDataSet1.HasChanges Then
Me.IreaDataSet1.RejectChanges()
NOTICE("변경된 내용이 취소되었습니다.", Me.lb_msg)
Else
NOTICE("변경내역이 없습니다", Me.lb_msg)
End If
End Sub
Private Sub olStripMenuItem1tripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles olStripMenuItem1.Click
Me.view1.ItemCheck_Select(Me.view1.선택줄번호)
End Sub
Private Sub lStripMenuItem2ipMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lStripMenuItem2.Click
Me.view1.ItemCheck_Unselect(Me.view1.선택줄번호)
End Sub
Private Sub gfsdlStripMenuItem2MenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles gfsdlStripMenuItem2.Click
Me.view1.ItemCheck_Reverse(Me.view1.선택줄번호)
End Sub
Private Sub BindingNavigatorDeleteItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorDeleteItem.Click
If Me.view1.ActiveSheet.Rows.Count > 0 Then
Me.view1.ActiveSheet.ActiveRow.Remove()
NOTICE("현재줄이 삭제되었습니다", Me.lb_msg)
Else
MsgBox("더이상 삭제할 줄이 없습니다")
End If
End Sub
Private Sub view1_EditModeOff(ByVal sender As Object, ByVal e As System.EventArgs) Handles view1.EditModeOff
'With Me.view1.ActiveSheet
' Select Case .ActiveColumnIndex
' Case 14 '//상별뒤 형식 입력후 나올때.
' '//상별이 비어있고 입력된것의 길이 가 4이면 쪼개서 보여준다.
' If .Cells(.ActiveRowIndex, .ActiveColumnIndex - 1).Text = "" AndAlso .ActiveCell.Text.Length = 4 Then
' .ActiveCell.Text = .ActiveCell.Text.Substring(0, 2) & "-" & .ActiveCell.Text.Substring(2, 1) & "-" & .ActiveCell.Text.Substring(3)
' End If
' Case 10 '//전주번호5에서 빠져나올때
' If Me.view1.ActiveSheet.Cells(Me.view1.ActiveSheet.ActiveRowIndex, 6).Text <> "" AndAlso _
' Me.view1.ActiveSheet.Cells(Me.view1.ActiveSheet.ActiveRowIndex, 7).Text <> "" AndAlso _
' Me.view1.ActiveSheet.Cells(Me.view1.ActiveSheet.ActiveRowIndex, 8).Text <> "" AndAlso _
' Me.view1.ActiveSheet.Cells(Me.view1.ActiveSheet.ActiveRowIndex, 9).Text <> "" AndAlso _
' Me.view1.ActiveSheet.Cells(Me.view1.ActiveSheet.ActiveRowIndex, 10).Text <> "" Then
' 'MsgBox("ok")
' Me.view1.ActiveSheet.Cells(Me.view1.ActiveSheet.ActiveRowIndex, 7).Text = "-" & Me.view1.ActiveSheet.Cells(Me.view1.ActiveSheet.ActiveRowIndex, 7).Text
' Me.view1.ActiveSheet.Cells(Me.view1.ActiveSheet.ActiveRowIndex, 10).Text = "-" & Me.view1.ActiveSheet.Cells(Me.view1.ActiveSheet.ActiveRowIndex, 10).Text
' Me.view1.ActiveSheet.Cells(Me.view1.ActiveSheet.ActiveRowIndex, 8).Text = ";" & Me.view1.ActiveSheet.Cells(Me.view1.ActiveSheet.ActiveRowIndex, 8).Text & ";"
' End If
' End Select
'End With
End Sub
Private Sub view1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles view1.KeyDown
Select Case e.KeyCode
Case Keys.F
If e.Control Then Me.bt_findview.PerformClick()
Case Keys.Insert '//삽입
Me.bt_insertrow.PerformClick()
Case Keys.Enter
With Me.view1.ActiveSheet
Select Case .ActiveColumnIndex
Case 3 To 15 '//전산화번호 - 관리구 / 시공년월 / 시공자
If .ActiveCell.Text = "" Then
.ActiveCell.Text = .Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), .ActiveColumnIndex).Text
End If
End Select
End With
End Select
End Sub
Private Sub view1_Change(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.ChangeEventArgs) Handles view1.Change
'//선택에 체크된것을 색상을 바꿔준다.
If e.Column = Me.view1.선택줄번호 AndAlso Me.view1.ActiveSheet.Cells(e.Row, Me.view1.선택줄번호).Value = True Then '//선택
Me.view1.ActiveSheet.Rows(e.Row).BackColor = Color.LightGreen
Else
Me.view1.ActiveSheet.Rows(e.Row).BackColor = Color.White
End If
End Sub
Private Sub view1_EnterCell(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.EnterCellEventArgs) Handles view1.EnterCell
Select Case Me.view1.ActiveSheet.ActiveColumn.Label
Case "지점명", "선로명" '//지점명
Me.view1.ImeMode = System.Windows.Forms.ImeMode.Hangul
NOTICE("현재 셀 위치 (" & Me.view1.ActiveSheet.ActiveRowIndex + 1 & "," & Me.view1.ActiveSheet.ActiveColumnIndex + 1 & ") 입력형태(한글)", Me.lb_msg)
Case Else
Me.view1.ImeMode = System.Windows.Forms.ImeMode.Alpha
End Select
End Sub
Private Sub oolStripMenuItemipMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles oolStripMenuItem.Click
Me.ToolStripButton2.PerformClick()
End Sub
Private Sub ToolStripButton3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton3.Click
Process.Start(HomePage)
End Sub
Private Sub StripMenuItempMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
Private Sub ToolStripButton5_Click_2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton5.Click
Me.Close()
End Sub
Private Sub bt_save_all_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_save_all.Click
Dim a As New SaveFileDialog
a.Filter = "[모든데이터내보내기] 엑셀 워크시트파일(*.XLS)|*.XLS"
a.FilterIndex = 0
a.Title = "저장할 엑셀 파일을 지정하세요"
If a.ShowDialog() <> System.Windows.Forms.DialogResult.Cancel Then
Dim msg As New System.Text.StringBuilder
Me.view1.SaveExcel(a.FileName, FarPoint.Excel.ExcelSaveFlags.SaveAsViewed)
msg.AppendLine("내보내진 파일은 기본값으로 [시트보호]가 되어있습니다")
msg.AppendLine()
msg.AppendLine()
msg.AppendLine("[시트보호] 상태에서는 시트를 편집할 수 없습니다")
msg.AppendLine()
msg.AppendLine("[시트보호]를 해제하려면 해당파일을 엑셀에서 불러온후")
msg.AppendLine("[도구]-[보호]-[시트보호해제]를 클릭하세요")
MsgBox(msg.ToString, MsgBoxStyle.Information, "시트보호")
End If
End Sub
Private Sub bt_save_current_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_save_current.Click
Dim a As New SaveFileDialog
a.Filter = "[현재데이터내보내기] 엑셀 워크시트파일(*.XLS)|*.XLS"
a.FilterIndex = 0
a.Title = "저장할 엑셀 파일을 지정하세요"
If a.ShowDialog() <> System.Windows.Forms.DialogResult.Cancel Then
Dim msg As New System.Text.StringBuilder
Me.view1.SaveExcel(a.FileName, FarPoint.Excel.ExcelSaveFlags.SaveAsFiltered)
msg.AppendLine("내보내진 파일은 기본값으로 [시트보호]가 되어있습니다")
msg.AppendLine()
msg.AppendLine()
msg.AppendLine("[시트보호] 상태에서는 시트를 편집할 수 없습니다")
msg.AppendLine()
msg.AppendLine("[시트보호]를 해제하려면 해당파일을 엑셀에서 불러온후")
msg.AppendLine("[도구]-[보호]-[시트보호해제]를 클릭하세요")
MsgBox(msg.ToString, MsgBoxStyle.Information, "시트보호")
End If
End Sub
Private Sub outsalldatae_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles outsalldatae.Click
Me.bt_save_all.PerformClick()
End Sub
Private Sub savecurrentdata_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles savecurrentdata.Click
Me.bt_save_current.PerformClick()
End Sub
Private Sub AddEpoleJJ_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Validated
Me.view1.Focus()
Me.view1.Focus()
End Sub
Private Sub bt_find_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_find.Click
CHk_Modify()
Display_Data()
End Sub
Private Sub servoolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_findview.Click
Dim Frow, Fcol As Integer
Me.view1.Search(Me.view1.ActiveSheetIndex, InputBox("선택된 열에서 검색할 문자를 입력하세요.", "검색문자를 입력하세요"), False, False, False, True, True, False, False, 0, 0, Frow, Fcol)
If Frow >= 0 AndAlso Fcol >= 0 Then '//검색됫다면
Me.view1.ActiveSheet.SetActiveCell(Frow, Fcol)
SendKeys.Send("{ENTER}")
End If
End Sub
Private Sub cm_RenewNum_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cm_RenewNum.Click
ReNum(Me.IreaDataSet1.Detail_Deung, "번호", Me.pbar)
End Sub
Private Sub vripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbt_vselall.Click
For Each A As DataRow In Me.IreaDataSet1.Detail_Deung.Rows
A("출력") = True
Next
End Sub
Private Sub cbt_vusell_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbt_vusell.Click
For Each A As DataRow In Me.IreaDataSet1.Detail_Deung.Rows
A("출력") = False
Next
End Sub
Private Sub cbt_vselrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbt_vselrev.Click
For Each A As DataRow In Me.IreaDataSet1.Detail_Deung.Rows
A("출력") = Not A("출력")
Next
End Sub
Private Sub BtsavecolsizeToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_colsize.Click
Me.view1.Setting_Save(False, "view_deung")
End Sub
Private Sub view1_CellClick(ByVal sender As System.Object, ByVal e As FarPoint.Win.Spread.CellClickEventArgs) Handles view1.CellClick
End Sub
Private Sub bt_chkdel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_chkdel.Click
For i As Integer = Me.view1.ActiveSheet.RowCount - 1 To 0 Step -1
If Me.view1.ActiveSheet.Cells(i, Me.view1.선택줄번호).Value = True Then Me.view1.ActiveSheet.Rows(i).Remove()
Next
End Sub
Private Sub 열너비초기화ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 열너비초기화ToolStripMenuItem.Click
For c As Integer = 1 To view1_Sheet1.ColumnCount
view1_Sheet1.Columns(c - 1).Width = 100
Next
Application.DoEvents()
End Sub
End Class

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,159 @@
<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="StatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>298, 9</value>
</metadata>
<metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>340, 43</value>
</metadata>
<metadata name="ErrorProvider1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>450, 43</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>92</value>
</metadata>
<metadata name="ContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>442, 7</value>
</metadata>
<metadata name="view1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>178, 9</value>
</metadata>
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>25, 15</value>
</metadata>
<metadata name="IreaDataSet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>583, 43</value>
</metadata>
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>776, 6</value>
</metadata>
<metadata name="bn.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>183, 43</value>
</metadata>
<metadata name="Timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>877, 6</value>
</metadata>
<metadata name="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>614, 9</value>
</metadata>
<metadata name="etcdetailTableAdapter.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>20, 36</value>
</metadata>
</root>

View File

@@ -0,0 +1,783 @@
Public Class AddEpoleETC
Dim WithEvents DT As ireaDataSet.EtcTableDataTable
Dim Sorted As ESorted = ESorted.NULL
Dim IsNew As Boolean = False
Private Sub NewRowAddToDataTable(ByVal sender As Object, ByVal e As System.Data.DataTableNewRowEventArgs) Handles DT.TableNewRow '//New Row Add & Setting Default Data
Dim NEwrow As DataRow = e.Row
NEwrow("rowid") = System.Guid.NewGuid
NEwrow("관리ID") = CInt(Me.h_id.Text)
NEwrow("번호") = CInt(Me.Get_NewNumber)
NEwrow("출력") = True
Dim newid As Integer = CInt(Me.Get_NewNumber)
If Me.Sorted = ESorted.CANT Then
NEwrow("정렬번호") = "" & "1" & Format(newid, "00000") & "1000"
Else
NEwrow("정렬번호") = "1" & Format(newid, "00000") & "1000"
End If
End Sub
Public Sub New(ByVal maxid As Integer)
' 이 호출은 Windows Form 디자이너에 필요합니다.
InitializeComponent()
Dim INI As New MyINI2(My.Application.Info.DirectoryPath & "\epole.ini")
Me.h_date.Enabled = True
Me.h_name.Enabled = True
Me.h_bigo.Enabled = True
Me.h_id.Enabled = False
Me.h_dan.Enabled = True
Me.Text = "중요수용 번호표찰 입력(신규작업)"
Me.h_name.Text = INI.Read("main", "lastkname2") 'InputBox("거래처명을 입력하세요", "신규입력-거래처명", "해광기획")
Me.h_dan.Text = "0" 'InputBox("수량별 단가를 입력하세요", "신규입력-단가", "0")
Me.h_id.Text = maxid
Me.h_bigo.Text = "중요수용 번호표찰(" & Format(Now, "MM") & "-" & Format(Now, "dd") & ")"
Me.h_date.Text = Format(Now, "yyyy/MM/dd")
Me.view1.EnterToNextItem()
Me.IsNew = True
'신규작업이므로 id를 재게산해서 지정해준다.
'MsgBox(New_MID)
End Sub
Public Sub New(ByVal v_id As String, ByVal V_DATE As String, ByVal V_NAME As String, ByVal V_BIGO As String, ByVal V_DAN As String)
' 이 호출은 Windows Form 디자이너에 필요합니다.
InitializeComponent()
Me.h_date.Text = V_DATE
Me.h_name.Text = V_NAME
Me.h_bigo.Text = V_BIGO
Me.h_dan.Text = V_DAN
Me.h_id.Text = v_id
Me.h_date.Enabled = False
Me.h_name.Enabled = False
Me.h_bigo.Enabled = False
Me.h_id.Enabled = False
Me.h_id.Enabled = False
Me.view1.EnterToNextItem()
Me.Text = "중요수용 번호표찰 입력"
' MsgBox("new")
End Sub
Private Sub AddEpole_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Me.bs.EndEdit()
If bs.Count > 0 Then
Dim Drv As DataRowView
Drv = bs.Item(bs.Count - 1)
If NVL(Drv("관리구"), "") = "" AndAlso NVL(Drv("전주번호"), "") = "" AndAlso NVL(Drv("선로명"), "") = "" AndAlso _
NVL(Drv("번호1"), "") = "" AndAlso NVL(Drv("번호2"), "") = "" AndAlso NVL(Drv("번호3"), "") = "" AndAlso NVL(Drv("번호4"), "") = "" AndAlso _
NVL(Drv("번호5"), "") = "" AndAlso NVL(Drv("비고1"), "") = "" AndAlso NVL(Drv("비고2"), "") = "" AndAlso NVL(Drv("비고3"), "") = "" Then
Drv.Delete()
End If
End If
Me.CHk_Modify()
Frm_Main.bt_find.PerformClick()
End Sub
Private Sub AddEpole_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'Me.view1.ColSize_Load()
'Me.view1.ColName_Load()
Me.view1.Setting_Load(False)
'Ubound.Clear()
'Me.etcdetailTableAdapter.Connection.ConnectionString = ConString
Me.view1.Font = New Font(ViewFont.FontName, ViewFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.bn.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.ToolStrip1.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.StatusStrip1.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.SETTOOLTIP()
DT = Me.IreaDataSet1.EtcTable
''''''''데이터보여주기
If Me.IsNew Then '//현재id와같은 데이터는 모두삭제를 하게한다.
Dim Cmd As New OleDbCommand("delete from 기타세부 where 관리id=" & Me.h_id.Text, Me.ta.Connection)
If Cmd.Connection.State <> ConnectionState.Open Then Cmd.Connection.Open()
Cmd.ExecuteNonQuery()
Me.IsNew = False
End If
Display_Data()
'''''데이터보여주기
' If Me.view1.ActiveSheet.RowCount <= 0 Then Me.bt_insertrow.PerformClick()
Me.Show()
End Sub
Private Sub SETTOOLTIP()
Dim TMSG As New System.Text.StringBuilder()
TMSG.AppendLine()
TMSG.AppendLine("오른쪽 클릭시 기타메뉴가 표시됩니다")
TMSG.AppendLine()
TMSG.AppendLine("<단축키 : ENTER:다음칸 , SHIFT+TAB:이전칸 , ALT+ENTER:윗칸복사>")
TMSG.AppendLine("<단축키 : DELETE:현재칸 지우기 , SHIFT+DELETE 현재줄 삭제>")
TMSG.AppendLine("<단축키 : F2:현재칸지우고 편집>")
TMSG.AppendLine("<단축키 : SPACE-BAR/F3:현재칸 편집>")
TMSG.AppendLine("<단축키 : CTRL + 마우스휠 : 화면크기를 조절합니다>")
TMSG.AppendLine()
Me.ToolTip1.SetToolTip(Me.view1, TMSG.ToString)
'TMSG = New System.Text.StringBuilder()
'TMSG.AppendLine()
'TMSG.AppendLine("검색문자의 우선순위 : 숫자->영문자->한글")
'TMSG.AppendLine(" ->0 은 000 보다 우선순위가 높습니다.")
'Me.bt_findmenu.ToolTipText = "데이터베이스의 내용을 다시 불러옵니다" & vbCrLf & "번호정렬은 우측의 ▼ 를 클릭하세요"
End Sub
Private Sub SetFarPoint()
Me.view1.EnterToNextItem()
Me.view1.DataSource = Me.bs
'Dim A As FarPoint.Win.Spread.CellType.TextCellType = Me.view1.ActiveSheet.Columns(2).CellType
'A.CharacterSet = FarPoint.Win.Spread.CellType.CharacterSet.Ascii
'A.CharacterCasing = CharacterCasing.Upper
'Me.view1.ActiveSheet.Columns(2).CellType = A
'Me.view1.ActiveSheet.Columns(3).CellType = A
'Me.view1.ActiveSheet.Columns(4).CellType = A
'Me.view1.ActiveSheet.Columns(5).CellType = A
'Me.view1.ActiveSheet.Columns(6).CellType = A
'Me.view1.ActiveSheet.Columns(7).CellType = A
'Me.view1.ActiveSheet.Columns(8).CellType = A
'Me.view1.ActiveSheet.Columns(9).CellType = A
'Me.view1.ActiveSheet.Columns(10).CellType = A
'Me.view1.ActiveSheet.Columns(11).CellType = A
'Me.view1.ActiveSheet.Columns(12).CellType = A
'Me.view1.ActiveSheet.Columns(13).CellType = A
''A.CharacterSet = FarPoint.Win.Spread.CellType.CharacterSet.Numeric
'' Me.view1.ActiveSheet.Columns(14).DataField = "선택"
'Me.view1.ActiveSheet.Columns(15).DataField = "정렬번호"
End Sub
''' <summary>
''' 신규추가시 번호를 생성해줍니다(현존최대넘버+1)
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Private Function Get_NewNumber() As Integer
Dim maxCnt As Integer = 0
For i As Integer = 0 To Me.view1_Sheet1.RowCount - 1
If Me.view1_Sheet1.Cells(i, 1).Value > maxCnt Then maxCnt = Me.view1_Sheet1.Cells(i, 1).Value
Next
Return maxCnt + 1
End Function
Private Sub CHk_Modify(Optional ByVal prompt As Boolean = True)
Me.bs.EndEdit()
If Not Me.IreaDataSet1.HasChanges Then
NOTICE("변경된 내용이 없습니다", Me.lb_msg)
Return
End If
If prompt Then
If MsgBox("변경된 데이터를 저장하시겠습니까?", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "저장확인") <> MsgBoxResult.Ok Then Return
End If
Try
Me.etcdetailTableAdapter.Update(Me.IreaDataSet1.EtcTable) '//Commit insert/update/delete
Me.IreaDataSet1.EtcTable.AcceptChanges() '//Set All Green
Try
Dim SQl As String = "insert into 전주관리(id,날짜,거래처명,비고,총수량,단가,금액,번호찰구분) values(:1,:2,:3,:4,:5,:6,:7,9)"
If Me.etcdetailTableAdapter.Connection.State <> ConnectionState.Open Then Me.etcdetailTableAdapter.Connection.Open()
Dim Cmd As New OleDbCommand(SQl, Me.etcdetailTableAdapter.Connection)
Cmd.Parameters.Add(":1", OleDbType.Integer).Value = Val(Me.h_id.Text)
Cmd.Parameters.Add(":2", OleDbType.Date).Value = IIf(Me.h_date.Text.Trim = "", DBNull.Value, Me.h_date.Text.Trim)
Cmd.Parameters.Add(":3", OleDbType.VarChar).Value = Me.h_name.Text
Cmd.Parameters.Add(":4", OleDbType.VarChar).Value = Me.h_bigo.Text
Cmd.Parameters.Add(":5", OleDbType.Integer).Value = Me.IreaDataSet1.EtcTable.Rows.Count 'Me.view1_Sheet1.RowCount
Cmd.Parameters.Add(":6", OleDbType.Integer).Value = Val(Me.h_dan.Text)
Cmd.Parameters.Add(":7", OleDbType.Currency).Value = Val(Me.h_dan.Text) * Me.view1_Sheet1.RowCount
Cmd.ExecuteNonQuery()
Catch ex As Exception
Dim SQl As String = "update 전주관리 set 날짜=:2,거래처명=:3,비고=:4,총수량=:5,단가=:6,금액=:7,번호찰구분=9 where id=:1"
If Me.etcdetailTableAdapter.Connection.State <> ConnectionState.Open Then Me.etcdetailTableAdapter.Connection.Open()
Dim Cmd As New OleDbCommand(SQl, Me.etcdetailTableAdapter.Connection)
Cmd.Parameters.Add(":2", OleDbType.Date).Value = IIf(Me.h_date.Text.Trim = "", DBNull.Value, Me.h_date.Text.Trim)
Cmd.Parameters.Add(":3", OleDbType.VarChar).Value = Me.h_name.Text
Cmd.Parameters.Add(":4", OleDbType.VarChar).Value = Me.h_bigo.Text
Cmd.Parameters.Add(":5", OleDbType.Integer).Value = Me.IreaDataSet1.EtcTable.Rows.Count 'Me.view1_Sheet1.RowCount
Cmd.Parameters.Add(":6", OleDbType.Integer).Value = Val(Me.h_dan.Text)
Cmd.Parameters.Add(":7", OleDbType.Currency).Value = Val(Me.h_dan.Text) * Me.view1_Sheet1.RowCount
Cmd.Parameters.Add(":1", OleDbType.Integer).Value = Val(Me.h_id.Text)
Cmd.ExecuteNonQuery()
Finally
'MakeList.bt_find.PerformClick()
'Display_Data(True)
Dim INI As New MyINI2(My.Application.Info.DirectoryPath & "\epole.ini")
INI.Write("main", "lastkname2", Me.h_name.Text)
NOTICE("저장되었습니다", Me.lb_msg)
My.Computer.Audio.Play(My.Application.Info.DirectoryPath & "\sound\notify.wav", AudioPlayMode.Background)
'MakeList.Display_Data() '//이건 bt_find 에서 재호출된다.
End Try
Catch ex As Exception
MsgBox("데이터베이스 업데이트중 오류가 발생했습니다" & vbCrLf & vbCrLf & ex.ToString, MsgBoxStyle.Critical, "ERROR-")
Me.IreaDataSet1.EtcTable.RejectChanges()
NOTICE("저장 실패!", Me.lb_msg)
Finally
view1.ActiveSheet.GetDataView(True) '//화면을 갱신한다.
End Try
End Sub
Private Sub Display_Data() '//뷰에데이터를 표시한다.
Me.bs.Sort = "정렬번호,번호" '//정렬된것들은 정렬된채로 보여준다.
Me.etcdetailTableAdapter.Fill(Me.IreaDataSet1.EtcTable, Me.h_id.Text) '//관리id를 통해서 데이터를 채운다.
SetFarPoint() '//여기서 파포인트를 바인딩 소스와 연결시킨다(바인딩 소스는 테이블에 연결되어있다)
If Me.IreaDataSet1.EtcTable.Rows.Count <= 0 Then
NOTICE("데이터가 존재하지 않습니다", Color.Red, Me.lb_msg)
Me.bt_addrow.PerformClick()
Return
End If
NOTICE(Me.view1.ActiveSheet.RowCount & "개의 데이터가 검색되었습니다", Me.lb_msg)
End Sub
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
Me.bt_commit.PerformClick() '//저장할게잇으면 다 저장한다.
Me.view1.SuspendLayout()
Dim A As New XLSImport(Me.IreaDataSet1, Me.h_id.Text, 9)
A.ShowDialog()
Me.CHk_Modify(False)
Me.Display_Data()
Me.view1.ResumeLayout()
End Sub
Private Sub ToolStripButton2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click
Me.bs.EndEdit()
If Me.view1.Cells("출력").Value = False Then
MsgBox("현재 선택된 줄은 출력이 되지않도록 설정되어있습니다", MsgBoxStyle.Critical, "확인")
Return
End If
Dim A As New printformsy(Me.IreaDataSet1.EtcTable, CType(Me.bs.Current, DataRowView)) 'Me.view1.ActiveSheet.ActiveRowIndex)
A.ShowDialog()
End Sub
Private Sub StripMenuItemolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StripMenuItem.Click
'''''검색방법은 1번개체부터 마지막개체까지 풀루프를 돌면서 동일한 놈을 찾는다.
Dim 원본, 대상 As String 'New System.Text.StringBuilder
Dim fcnt As Integer = 0
Me.pbar.Value = 0
Me.pbar.Minimum = 0
Me.pbar.Maximum = Me.view1.ActiveSheet.RowCount
NOTICE("중복되는 [관리구/전산번호]를 찾는중입니다...", Me.lb_msg)
Me.Invalidate()
For Each A As FarPoint.Win.Spread.Row In Me.view1.ActiveSheet.Rows
원본 = Me.view1.ActiveSheet.Cells(A.Index, 2).Value & Me.view1.ActiveSheet.Cells(A.Index, 3).Value
If 원본.ToString <> "" Then
For Each B As FarPoint.Win.Spread.Row In Me.view1.ActiveSheet.Rows
If A.Index <> B.Index Then '//같은라인은 피하고 그렇지 않은 라인의 번호를 확인한다.
대상 = Me.view1.ActiveSheet.Cells(B.Index, 2).Value & Me.view1.ActiveSheet.Cells(B.Index, 3).Value
If 원본.ToString = 대상.ToString Then
fcnt += 1
Me.view1.ActiveSheet.Cells(A.Index, 14).Value = True
Me.view1.ActiveSheet.Cells(B.Index, 14).Value = True
End If
End If
Next
End If
If Me.pbar.Value < Me.pbar.Maximum Then Me.pbar.Value += 1
Me.Invalidate()
Next
NOTICE("[관리구/전산번호] 중복검사 완료(" & fcnt & "개의 데이터를 찾았습니다)", Me.lb_msg)
End Sub
Private Sub dipdfsolStripMenuItemMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dipdfsolStripMenuItem.Click
'''''검색방법은 1번개체부터 마지막개체까지 풀루프를 돌면서 동일한 놈을 찾는다.
Dim 원본, 대상 As String 'New System.Text.StringBuilder
Dim fcnt As Integer = 0
Me.pbar.Value = 0
Me.pbar.Minimum = 0
Me.pbar.Maximum = Me.view1.ActiveSheet.RowCount
NOTICE("중복되는 [전주번호]를 찾는중입니다...", Me.lb_msg)
Me.Invalidate()
For Each A As FarPoint.Win.Spread.Row In Me.view1.ActiveSheet.Rows
원본 = Me.view1.ActiveSheet.Cells(A.Index, 5).Value & Me.view1.ActiveSheet.Cells(A.Index, 6).Value & Me.view1.ActiveSheet.Cells(A.Index, 7).Value & _
Me.view1.ActiveSheet.Cells(A.Index, 8).Value & Me.view1.ActiveSheet.Cells(A.Index, 9).Value
If 원본.ToString <> "" Then
For Each B As FarPoint.Win.Spread.Row In Me.view1.ActiveSheet.Rows
If A.Index <> B.Index Then '//같은라인은 피하고 그렇지 않은 라인의 번호를 확인한다.
대상 = Me.view1.ActiveSheet.Cells(B.Index, 5).Value & Me.view1.ActiveSheet.Cells(B.Index, 6).Value & Me.view1.ActiveSheet.Cells(B.Index, 7).Value & _
Me.view1.ActiveSheet.Cells(B.Index, 8).Value & Me.view1.ActiveSheet.Cells(B.Index, 9).Value
If 원본.ToString = 대상.ToString Then
fcnt += 1
Me.view1.ActiveSheet.Cells(A.Index, 14).Value = True
Me.view1.ActiveSheet.Cells(B.Index, 14).Value = True
End If
End If
Next
End If
If Me.pbar.Value < Me.pbar.Maximum Then Me.pbar.Value += 1
Me.Invalidate()
Next
NOTICE("[전주번호] 중복검사 완료(" & fcnt & "개의 데이터를 찾았습니다)", Me.lb_msg)
End Sub
Private Sub BindingNavigatorAddNewItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_addrow.Click
If Me.Sorted = ESorted.NULL Then Check_Sorted()
Me.view1.Arin_AddNewRow()
'Dim NewRowIndex As Integer = Me.view1.NewRowsU()
'With Me.view1.ActiveSheet
' .Cells(NewRowIndex, 0).Value = CInt(Me.h_id.Text)
' .Cells(NewRowIndex, 1).Value = CInt(Me.Get_NewNumber)
' .ActiveRowIndex = NewRowIndex
' .SetActiveCell(NewRowIndex, Me.view1.FIRST_FOCUSINDEX)
' SendKeys.Send("{ENTER}")
'End With
End Sub
Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_commit.Click
'//언바운드된 열을 여기서 바운드시켜분다.
' Me.view1.Attach_Ubound(3)
Me.bs.EndEdit()
If bs.Count > 0 Then
Dim Drv As DataRowView
Drv = bs.Item(bs.Count - 1)
If NVL(Drv("관리구"), "") = "" AndAlso NVL(Drv("전주번호"), "") = "" AndAlso NVL(Drv("선로명"), "") = "" AndAlso _
NVL(Drv("번호1"), "") = "" AndAlso NVL(Drv("번호2"), "") = "" AndAlso NVL(Drv("번호3"), "") = "" AndAlso NVL(Drv("번호4"), "") = "" Then
Drv.Delete()
End If
End If
If Not Me.IreaDataSet1.HasChanges Then
NOTICE("변경된 데이터가 없습니다", Me.lb_msg)
Return
End If
'Me.bt_find.PerformClick()
Me.bt_find.PerformClick()
'Return
'CHk_Modify()
End Sub
Private Sub ToolStripButton5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_cancel.Click
Me.view1.Attach_Ubound(3)
Me.bs.EndEdit()
If Me.IreaDataSet1.HasChanges Then
Me.IreaDataSet1.RejectChanges()
NOTICE("변경된 내용이 취소되었습니다.", Me.lb_msg)
Else
NOTICE("변경내역이 없습니다", Me.lb_msg)
End If
End Sub
Private Sub allseloolStripMenuItem1nuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles allseloolStripMenuItem1.Click
Me.view1.ItemCheck_Select(Me.view1.선택줄번호)
End Sub
Private Sub lStripMenuItem2enuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lStripMenuItem2.Click
Me.view1.ItemCheck_Unselect(Me.view1.선택줄번호)
End Sub
Private Sub MenuItem2enuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem2.Click
Me.view1.ItemCheck_Reverse(Me.view1.선택줄번호)
End Sub
Private Sub BindingNavigatorDeleteItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorDeleteItem.Click
If Me.view1.ActiveSheet.Rows.Count > 0 Then
Me.view1.ActiveSheet.ActiveRow.Remove()
NOTICE("현재줄이 삭제되었습니다", Me.lb_msg)
Else
MsgBox("더이상 삭제할 줄이 없습니다")
End If
End Sub
Private Sub view1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles view1.KeyDown
Select Case e.KeyCode
Case Keys.Insert '//삽입
Me.bt_insertrow.PerformClick()
'Me.bt_addrow.PerformClick()
Case Keys.Enter '/마지막줄에 마지막 열이엿으면 bt_insertrow
With Me.view1.ActiveSheet
' Me.Text = .ActiveRowIndex & "/" & .ActiveColumnIndex
Select Case .ActiveColumnIndex
Case 2 '//구전산화번호 - 관리구 / 신전산화번호 - 관리구 / 시공년월 / 시공자
If .ActiveCell.Text = "" Then
.ActiveCell.Text = .Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), .ActiveColumnIndex).Text
End If
Case 3 '//구전산화번호 - 전산번호 / 시전산화번호 - 전산번호
If .ActiveCell.Text = "" AndAlso _
.Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), .ActiveColumnIndex).Text <> "" AndAlso _
.Cells(.ActiveRowIndex, .ActiveColumnIndex - 1).Text = .Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), .ActiveColumnIndex - 1).Text Then
Dim Pnum As String = CInt(.Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), .ActiveColumnIndex).Text)
Dim PnumI As Integer = IIf(Pnum = "", 0, CInt(Pnum))
.ActiveCell.Text = Format(Pnum, "000")
End If
Case 4 '//선로명
If .ActiveCell.Text = "" AndAlso _
.Cells(.ActiveRowIndex, 2).Text = .Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), 2).Text Then
Dim Pnum As String = (.Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), .ActiveColumnIndex).Text)
.ActiveCell.Text = Pnum
End If
Case 5 '//전주번호1,장척
If .ActiveCell.Text = "" AndAlso _
.Cells(.ActiveRowIndex, 2).Text = .Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), 2).Text AndAlso _
.Cells(.ActiveRowIndex, 4).Text = .Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), 4).Text Then
Dim Pnum As String = (.Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), .ActiveColumnIndex).Text)
.ActiveCell.Text = Pnum
End If
Case 6 '//번호2
If .ActiveCell.Text = "" AndAlso _
.Cells(.ActiveRowIndex, 5).Text = .Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), 5).Text Then
Dim Pnum As String = (.Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), .ActiveColumnIndex).Text)
.ActiveCell.Text = Pnum
End If
Case 7 '//번호3
If .ActiveCell.Text = "" AndAlso _
.Cells(.ActiveRowIndex, 5).Text = .Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), 5).Text AndAlso _
.Cells(.ActiveRowIndex, 6).Text = .Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), 6).Text Then
Dim Pnum As String = (.Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), .ActiveColumnIndex).Text)
.ActiveCell.Text = Pnum
End If
Case 8 '//번호4
If .ActiveCell.Text = "" AndAlso _
.Cells(.ActiveRowIndex, 5).Text = .Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), 5).Text AndAlso _
.Cells(.ActiveRowIndex, 6).Text = .Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), 6).Text AndAlso _
.Cells(.ActiveRowIndex, 7).Text = .Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), 7).Text Then
Dim Pnum As String = (.Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), .ActiveColumnIndex).Text)
.ActiveCell.Text = Pnum
End If
Case 9 '//번호5
If .ActiveCell.Text = "" AndAlso _
.Cells(.ActiveRowIndex, 5).Text = .Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), 5).Text AndAlso _
.Cells(.ActiveRowIndex, 6).Text = .Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), 6).Text AndAlso _
.Cells(.ActiveRowIndex, 7).Text = .Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), 7).Text AndAlso _
.Cells(.ActiveRowIndex, 8).Text = .Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), 8).Text Then
Dim Pnum As String = (.Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), .ActiveColumnIndex).Text)
.ActiveCell.Text = Pnum
End If
' Case 9
' If .ActiveCell.Text = "" Then
'Dim Pnum As String = (.Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), .ActiveColumnIndex).Text)
'.ActiveCell.Text = Pnum
' End If
Case 11 '//비고1,비고2,비고3,비고4
If .ActiveCell.Text = "" AndAlso _
.Cells(.ActiveRowIndex, 9).Text = .Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), 9).Text Then
Dim Pnum As String = (.Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), .ActiveColumnIndex).Text)
.ActiveCell.Text = Pnum
End If
Case 12 '//비고1,비고2,비고3,비고4
If .ActiveCell.Text = "" AndAlso _
.Cells(.ActiveRowIndex, 9).Text = .Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), 9).Text AndAlso _
.Cells(.ActiveRowIndex, 10).Text = .Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), 10).Text Then
Dim Pnum As String = (.Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), .ActiveColumnIndex).Text)
.ActiveCell.Text = Pnum
End If
Case 13 '//비고1,비고2,비고3,비고4
If .ActiveCell.Text = "" AndAlso _
.Cells(.ActiveRowIndex, 9).Text = .Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), 9).Text AndAlso _
.Cells(.ActiveRowIndex, 10).Text = .Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), 10).Text AndAlso _
.Cells(.ActiveRowIndex, 11).Text = .Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), 11).Text Then
Dim Pnum As String = (.Cells(IIf(.ActiveRowIndex > 0, .ActiveRowIndex - 1, 0), .ActiveColumnIndex).Text)
.ActiveCell.Text = Pnum
End If
End Select
End With
If Me.view1.ActiveSheet.ActiveRowIndex = Me.view1.ActiveSheet.RowCount - 1 Then '//마지막줄에
If Me.view1.NextRow_Index = Me.view1.ActiveSheet.ActiveColumnIndex Then '//다음줄로가아햘 경우라면
Me.bt_addrow.PerformClick()
Me.view1.ActiveSheet.SetActiveCell(Me.view1.ActiveSheet.RowCount - 1, Me.view1.FIRST_FOCUSINDEX)
e.Handled = True
ElseIf Me.view1.ActiveSheet.ActiveColumnIndex = Me.view1.ActiveSheet.ColumnCount - 1 Then '//마지막열이라면
Me.bt_addrow.PerformClick()
Me.view1.ActiveSheet.SetActiveCell(Me.view1.ActiveSheet.RowCount - 1, Me.view1.FIRST_FOCUSINDEX)
e.Handled = True
End If
End If
End Select
End Sub
Private Sub view1_DragFillBlockCompleted(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.DragFillBlockCompletedEventArgs) Handles view1.DragFillBlockCompleted
For i As Integer = e.RowBegin To e.RowBegin + e.NumberToCopy
' Dim ds As DataSet = FpSpread1.Sheets(0).DataSource
Me.IreaDataSet1.EtcTable.Rows(view1.Sheets(0).GetModelRowFromViewRow(i)).EndEdit()
Next
End Sub
Private Sub view1_Change(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.ChangeEventArgs) Handles view1.Change
'//선택에 체크된것을 색상을 바꿔준다.
If e.Column = Me.view1.선택줄번호 AndAlso Me.view1.ActiveSheet.Cells(e.Row, Me.view1.선택줄번호).Value = True Then '//선택
Me.view1.ActiveSheet.Rows(e.Row).BackColor = Color.LightGreen
Else
Me.view1.ActiveSheet.Rows(e.Row).BackColor = Color.White
End If
End Sub
Private Sub Check_Sorted()
If Me.Sorted = ESorted.NULL Then '//아직 검색이된건지 확인안해봣다
Me.Sorted = ESorted.No
For i As Short = 0 To IIf(Me.DT.Rows.Count > 10, 10, Me.DT.Rows.Count - 1)
If NVL(DT.Rows(i)("정렬번호")) <> "" AndAlso NVL(DT.Rows(i)("정렬번호")) <> "히히히000000000" AndAlso NVL(DT.Rows(i)("정렬번호")) <> "" Then '//데이터가있다면
Me.Sorted = ESorted.YES
Exit For
End If
Next
End If
End Sub
Private Sub Make_Index()
Work_Form("인덱스를 생성하고 있습니다")
Form_Work.ProgressBar1.Minimum = 0
Form_Work.ProgressBar1.Maximum = Me.DT.Rows.Count
Dim Num As Short
For i As Integer = 0 To Me.DT.Rows.Count - 1
Form_Work.pval = i
Num = Me.DT.Rows(i)("번호")
Me.DT.Rows(i)("정렬번호") = "1" & Format(Num, "00000") & "1000"
Next
Form_Work.Close() '//작업창 닫기
Me.Sorted = ESorted.YES
End Sub
Private Sub bt_insertrow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_insertrow.Click
' Me.view1.AInsertNewRow() '//번호문제도있다.
'//현재줄 바로위에 한줄을삽입한다.
'//새로운ID는 전줄의ID+1 이며
Me.bs.EndEdit()
'//위에서부터 5개또는 마지막까지 이게 정렬된데이터인지 확인합니다.
If Me.Sorted = ESorted.NULL Then Check_Sorted()
If Me.Sorted = ESorted.No Then Make_Index() '//인덱스를 생성한다.
Dim NR As ireaDataSet.EtcTableRow = Me.DT.NewEtcTableRow '//삽입은 현재줄 위에 삽입하는것이다. 현재줄의 인덱스번호가 숫자형태라면 정렬이안된데이터다
Dim 정렬번호 As String = bs.Current("정렬번호")
Dim N정렬번호 As String
If Not Me.Sorted = ESorted.CANT AndAlso IsNumeric(정렬번호) AndAlso 정렬번호.Length >= 8 Then '//숫자라면 인덱스정렬법이다.
Dim MN As String = 정렬번호.Substring(0, 6)
Dim SN As Short = 정렬번호.Substring(6)
'NR.번호 = bs.Current("번호") - 1 '//번호는 -1하고
'If NR.번호 < 1 Then NR.번호 = 0
N정렬번호 = MN & Format(SN - 1, "0000") '//현재 일련번호에 -을 해서 넣느다. 이부분 변경하자..변경한이름이 있을경우 해당위로의 숫자를 -1해야한다.
'//새로우 정렬번호랑 같은것들은 -1해준다.
For Each DR As DataRow In Me.DT.Select("정렬번호 like '" & MN & "%' and 정렬번호 <= '" & N정렬번호 & "'")
MN = DR("정렬번호").Substring(0, 6)
SN = DR("정렬번호").Substring(6)
DR("정렬번호") = MN & Format(SN - 1, "0000") '//원래번호-1해준다.
Next
'//
NR.정렬번호 = N정렬번호
Dim AR As Integer = Me.view1.ActiveSheet.ActiveRowIndex
Me.DT.AddEtcTableRow(NR)
Me.view1.ActiveSheet.ActiveRowIndex = AR
Else '//전주번호정렬법이다 이것은 정렬이 별도로 존재한다.
MsgBox("번호형식으로 정렬되어있는 데이터입니다" & vbCrLf & "이데이터는 [한줄삽입]이 되지않습니다.", MsgBoxStyle.Information, "확인")
Me.Sorted = ESorted.CANT
'Me.bt_addrow.PerformClick() '//한줄추가화럴ㅇ()
End If
End Sub
Private Sub Timer1_Tick_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Me.Text = Me.view1.ActiveSheet.ActiveRowIndex & "/" & Me.view1.ActiveSheet.ActiveColumnIndex
End Sub
Private Sub view1_EnterCell(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.EnterCellEventArgs) Handles view1.EnterCell
Select Case Me.view1.ActiveSheet.ActiveColumnIndex
Case 4, 10, 11, 12, 13
Me.view1.ImeMode = System.Windows.Forms.ImeMode.Hangul
NOTICE("현재 셀 위치 (" & Me.view1.ActiveSheet.ActiveRowIndex + 1 & "," & Me.view1.ActiveSheet.ActiveColumnIndex + 1 & ") 입력형태(한글)", Me.lb_msg)
Case Else
Me.view1.ImeMode = System.Windows.Forms.ImeMode.NoControl
NOTICE("현재 셀 위치 (" & Me.view1.ActiveSheet.ActiveRowIndex + 1 & "," & Me.view1.ActiveSheet.ActiveColumnIndex + 1 & ") 입력형태(일반)", Me.lb_msg)
End Select
End Sub
Private Sub gdfolStripMenuItemtripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles gdfolStripMenuItem.Click
Me.ToolStripButton2.PerformClick()
End Sub
Private Sub ToolStripButton3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton3.Click
Process.Start(HomePage)
End Sub
Private Sub alldellStripMenuItemuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles alldellStripMenuItem.Click
For i As Integer = Me.view1.ActiveSheet.RowCount - 1 To 0 Step -1
If Me.view1.ActiveSheet.Cells(i, Me.view1.선택줄번호).Value = True Then Me.view1.ActiveSheet.Rows(i).Remove()
Next
' For Each Dr As ireaDataSet.etctableRow In Me.IreaDataSet1.etctable.Rows
' If Dr.선택 Then Dr.Delete()
' Next
End Sub
Private Sub ToolStripButton4_Click_2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton4.Click
Me.Close()
End Sub
Private Sub bt_save_all_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_save_all.Click
Dim a As New SaveFileDialog
a.Filter = "엑셀 워크시트파일(*.XLS)|*.XLS"
a.FilterIndex = 0
a.Title = "[모든데이터내보내기] 저장할 엑셀 파일을 지정하세요"
If a.ShowDialog() <> System.Windows.Forms.DialogResult.Cancel Then
Dim msg As New System.Text.StringBuilder
Me.view1.SaveExcel(a.FileName, FarPoint.Excel.ExcelSaveFlags.SaveAsViewed)
msg.AppendLine("내보내진 파일은 기본값으로 [시트보호]가 되어있습니다")
msg.AppendLine()
msg.AppendLine()
msg.AppendLine("[시트보호] 상태에서는 시트를 편집할 수 없습니다")
msg.AppendLine()
msg.AppendLine("[시트보호]를 해제하려면 해당파일을 엑셀에서 불러온후")
msg.AppendLine("[도구]-[보호]-[시트보호해제]를 클릭하세요")
MsgBox(msg.ToString, MsgBoxStyle.Information, "시트보호")
End If
End Sub
Private Sub bt_save_current_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_save_current.Click
Dim a As New SaveFileDialog
a.Filter = "엑셀 워크시트파일(*.XLS)|*.XLS"
a.FilterIndex = 0
a.Title = "[현재데이터내보내기] 저장할 엑셀 파일을 지정하세요"
If a.ShowDialog() <> System.Windows.Forms.DialogResult.Cancel Then
Dim msg As New System.Text.StringBuilder
Me.view1.SaveExcel(a.FileName, FarPoint.Excel.ExcelSaveFlags.SaveAsFiltered)
msg.AppendLine("내보내진 파일은 기본값으로 [시트보호]가 되어있습니다")
msg.AppendLine()
msg.AppendLine()
msg.AppendLine("[시트보호] 상태에서는 시트를 편집할 수 없습니다")
msg.AppendLine()
msg.AppendLine("[시트보호]를 해제하려면 해당파일을 엑셀에서 불러온후")
msg.AppendLine("[도구]-[보호]-[시트보호해제]를 클릭하세요")
MsgBox(msg.ToString, MsgBoxStyle.Information, "시트보호")
End If
End Sub
Private Sub fdsdfStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles outsalldatae.Click
Me.bt_save_all.PerformClick()
End Sub
Private Sub savecurrentdata_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles savecurrentdata.Click
Me.bt_save_current.PerformClick()
End Sub
Private Sub AddEpoleETC_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Validated
Me.view1.Focus()
Me.view1.Focus()
End Sub
Private Sub bt_datasort_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_datasort.Click
Dim 번호 As String
Dim 번호B, 번호b2 As System.Text.StringBuilder
Me.pbar.Minimum = 0
Me.pbar.Maximum = Me.IreaDataSet1.EtcTable.Rows.Count - 1
Me.pbar.Value = 0
Dim Cidx As Int16 = 0
Dim Carray As ArrayList
For Each dr As ireaDataSet.EtcTableRow In Me.IreaDataSet1.EtcTable.Rows
번호 = (dr.번호1 & dr.번호2 & dr.번호3 & dr.번호4 & dr.번호5)
If 번호 <> "" Then
Cidx = 0
번호B = New System.Text.StringBuilder
번호b2 = New System.Text.StringBuilder
Carray = New ArrayList
For Each C As Char In 번호.ToCharArray
If Char.IsLetter(C) Then
Carray.Add(C) '//문자위치와 문자를 저장한다.
번호B.Append("@") '//문자는 @로 변환한다.
Else
번호B.Append(C) '//숫자는 바로 저장해버린다.
End If
Cidx += 1
Next
For Each 번호s As String In 번호B.ToString.Split("@")
번호b2.Append(Format(Val(번호s), "000").ToString & "@") '/3자리로바꾼후 문자열을 붙인다
Next
번호b2.Remove(번호b2.Length - 1, 1) '//쓰레기제거
번호 = 번호b2.ToString
For Each c As Char In Carray '//문자와 위치가 있다
Cidx = 번호.IndexOf("@")
If Cidx <> -1 Then 번호 = 번호.Substring(0, Cidx) & c & 번호.Substring(Cidx + 1)
Next
dr.정렬번호 = dr.선로명 & CStr(번호.ToUpper.Replace("K", "0")).Replace("G", "0")
If Me.pbar.Value < Me.pbar.Maximum Then Me.pbar.Value += 1
Else '//번호에 아무것도 없는경우
dr.정렬번호 = dr.선로명 & "0" 'If SORTNULL Then dr.정렬번호 = dr.선로명 & "0"
End If
Next
NOTICE("정렬이 완료되었습니다", Me.lb_msg)
End Sub
Private Sub bt_find_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_find.Click
CHk_Modify()
Display_Data()
End Sub
Private Sub tripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tripMenuItem.Click
Dim Frow, Fcol As Integer
Me.view1.Search(Me.view1.ActiveSheetIndex, InputBox("선택된 열에서 검색할 문자를 입력하세요."), False, False, False, True, True, False, False, 0, 0, Frow, Fcol)
If Frow >= 0 AndAlso Fcol >= 0 Then '//검색됫다면
Me.view1.ActiveSheet.SetActiveCell(Frow, Fcol)
SendKeys.Send("{ENTER}")
End If
End Sub
Private Sub cm_RenewNum_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cm_RenewNum.Click
ReNum(Me.IreaDataSet1.EtcTable, "번호", Me.pbar)
End Sub
Private Sub vripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbt_vselall.Click
For Each A As DataRow In Me.IreaDataSet1.EtcTable.Rows
A("출력") = True
Next
End Sub
Private Sub cbt_vusell_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbt_vusell.Click
For Each A As DataRow In Me.IreaDataSet1.EtcTable.Rows
A("출력") = False
Next
End Sub
Private Sub cbt_vselrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbt_vselrev.Click
For Each A As DataRow In Me.IreaDataSet1.EtcTable.Rows
A("출력") = Not A("출력")
Next
End Sub
Private Sub ToolStripMenuItem5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem5.Click
End Sub
Private Sub bt_colsizesave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_colsizesave.Click
Me.view1.Setting_Save(False) '//셋팅저장
End Sub
Private Sub 열너비초기화ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 열너비초기화ToolStripMenuItem.Click
For c As Integer = 1 To view1_Sheet1.ColumnCount
view1_Sheet1.Columns(c - 1).Width = 100
Next
Application.DoEvents()
End Sub
End Class

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,156 @@
<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="StatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>331, 17</value>
</metadata>
<metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>865, 17</value>
</metadata>
<metadata name="ErrorProvider1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>974, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>94</value>
</metadata>
<metadata name="bn.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>799, 17</value>
</metadata>
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>140, 17</value>
</metadata>
<metadata name="IreaDataSet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="ContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>449, 17</value>
</metadata>
<metadata name="view1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>204, 17</value>
</metadata>
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>609, 17</value>
</metadata>
<metadata name="Timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>709, 17</value>
</metadata>
<metadata name="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1106, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,709 @@
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''' 2007-10-01 : 소스개발자 : 아린(tindevil.nate.com)
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Class AddEpolekiki
' Dim NeedIndexSort As Boolean = False
Dim DT As ireaDataSet.Detail_kikiDataTable
Dim Sorted As ESorted = ESorted.NULL
Dim IsNew As Boolean = False
Private Sub NewRowAddToDataTable(ByVal sender As Object, ByVal e As System.Data.DataTableNewRowEventArgs) '//New Row Add & Setting Default Data
Dim NewId As Integer = CInt(Me.Get_NewNumber)
Dim NEwrow As DataRow = e.Row
NEwrow("rowid") = System.Guid.NewGuid
NEwrow("관리ID") = CInt(Me.h_id.Text)
NEwrow("번호") = NewId
NEwrow("출력") = True
If Me.Sorted = ESorted.CANT Then
NEwrow("정렬번호") = "" & "1" & NewId.ToString("00000") & "1000"
Else
NEwrow("정렬번호") = "1" & NewId.ToString("00000") & "1000"
End If
End Sub
'Dim SaveFlag As Boolean = False
Public Sub New(ByVal maxid As Integer)
' 이 호출은 Windows Form 디자이너에 필요합니다.
InitializeComponent()
Dim INI As New MyINI2(My.Application.Info.DirectoryPath & "\epole.ini")
Me.h_date.Enabled = True
Me.h_name.Enabled = True
Me.h_bigo.Enabled = True
Me.h_id.Enabled = False
Me.h_dan.Enabled = True
Me.Text = "가공(기기) 입력(신규작업)"
Me.h_name.Text = INI.Read("main", "lastkname1") 'InputBox("거래처명을 입력하세요", "신규입력-거래처명", "해광기획")
Me.h_dan.Text = "0" 'InputBox("수량별 단가를 입력하세요", "신규입력-단가", "0")
Me.h_id.Text = maxid
Me.h_bigo.Text = "가공(기기)번호찰제작(" & Format(Now, "MM") & "-" & Format(Now, "dd") & ")"
Me.h_date.Text = Format(Now, "yyyy/MM/dd")
Me.IsNew = True
End Sub
Public Sub Init(ByVal v_id As String, ByVal V_DATE As String, ByVal V_NAME As String, ByVal V_BIGO As String, ByVal V_DAN As String)
' 이 호출은 Windows Form 디자이너에 필요합니다.
InitializeComponent()
Me.h_date.Text = V_DATE
Me.h_name.Text = V_NAME
Me.h_bigo.Text = V_BIGO
Me.h_dan.Text = V_DAN
Me.h_id.Text = v_id
Me.h_date.Enabled = False
Me.h_name.Enabled = False
Me.h_bigo.Enabled = False
Me.h_id.Enabled = False
Me.h_id.Enabled = False
Me.Text = "가공(기기) 입력"
Me.Display_Data()
End Sub
Public Sub New(ByVal v_id As String, ByVal V_DATE As String, ByVal V_NAME As String, ByVal V_BIGO As String, ByVal V_DAN As String)
' 이 호출은 Windows Form 디자이너에 필요합니다.
InitializeComponent()
Me.h_date.Text = V_DATE
Me.h_name.Text = V_NAME
Me.h_bigo.Text = V_BIGO
Me.h_dan.Text = V_DAN
Me.h_id.Text = v_id
Me.h_date.Enabled = False
Me.h_name.Enabled = False
Me.h_bigo.Enabled = False
Me.h_id.Enabled = False
Me.h_id.Enabled = False
Me.Text = "가공(기기) 입력"
End Sub
Private Sub AddEpole_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
RemoveHandler DT.TableNewRow, AddressOf NewRowAddToDataTable
bs.EndEdit()
If bs.Count > 0 Then
Dim Drv As DataRowView
Drv = bs.Item(bs.Count - 1)
If NVL(Drv("관리구"), "") = "" AndAlso NVL(Drv("전주번호"), "") = "" AndAlso NVL(Drv("선로명"), "") = "" AndAlso _
NVL(Drv("번호1"), "") = "" AndAlso NVL(Drv("번호2"), "") = "" AndAlso NVL(Drv("번호3"), "") = "" AndAlso NVL(Drv("번호4"), "") = "" Then
Drv.Delete()
End If
End If
Me.CHk_Modify()
Frm_Main.bt_find.PerformClick() '//빠져나가면서 목록의 검색버튼을 누르게한다.(저장된 내용이 바로보이게 한다)
'If Me.SaveFlag Then Me.DialogResult = System.Windows.Forms.DialogResult.OK '//saveflag 가 셋트되어잇으면 결과를 ok라 한다.
End Sub
Private Sub AddEpole_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.view1.ASetting_Load(False)
Me.view1.한글필드 = New String() {"선로명B", _
"D11", "D12", "D13", "D14", "D15", _
"D21", "D22", "D23", "D24", "D25", _
"D31", "D32", "D33", "D34", "D35", _
"비고3", "비고4"}
Me.view1.Font = New Font(ViewFont.FontName, ViewFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.bn.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.ToolStrip1.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.StatusStrip1.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.SETTOOLTIP()
DT = Me.IreaDataSet1.Detail_kiki
Me.Show()
Me.view1.ACheckBox_ColIndex = Me.view1.ActiveSheet.Columns("선택").Index
AddHandler DT.TableNewRow, AddressOf NewRowAddToDataTable
'Me.Refresh()
If Me.IsNew Then '//현재id와같은 데이터는 모두삭제를 하게한다.
Dim Cmd As New OleDbCommand("delete from 기기세부 where 관리id=" & Me.h_id.Text, Me.ta.Connection)
If Cmd.Connection.State <> ConnectionState.Open Then Cmd.Connection.Open()
Cmd.ExecuteNonQuery()
Me.IsNew = False
End If
Display_Data() ''''''''데이터보여주기
End Sub
Private Sub SETTOOLTIP()
Dim TMSG As New System.Text.StringBuilder()
TMSG.AppendLine()
TMSG.AppendLine("오른쪽 클릭시 기타메뉴가 표시됩니다")
TMSG.AppendLine()
TMSG.AppendLine("<단축키 : ENTER:다음칸 , SHIFT+TAB:이전칸 , ALT+ENTER:윗칸복사>")
TMSG.AppendLine("<단축키 : DELETE:현재칸 지우기 , SHIFT+DELETE 현재줄 삭제>")
TMSG.AppendLine("<단축키 : F2:현재칸지우고 편집>")
TMSG.AppendLine("<단축키 : SPACE-BAR/F3:현재칸 편집>")
TMSG.AppendLine("<단축키 : CTRL + 마우스휠 : 화면크기를 조절합니다>")
TMSG.AppendLine()
Me.ToolTip1.SetToolTip(Me.view1, TMSG.ToString)
End Sub
Private Sub SetFarPoint()
'Me.view1.AEnterToNextItem(False) '//에디트모드에서는 enter 를 사용하지 않게한다.
Me.view1.DataSource = Me.bs
End Sub
''' <summary>
''' 신규추가시 번호를 생성해줍니다(현존최대넘버+1)
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Private Function Get_NewNumber() As Integer
Dim maxCnt As Integer = 0
For i As Integer = 0 To Me.view1_Sheet1.RowCount - 1
If Me.view1_Sheet1.Cells(i, 1).Value > maxCnt Then maxCnt = Me.view1_Sheet1.Cells(i, 1).Value
Next
Return maxCnt + 1
End Function
Private Sub CHk_Modify(Optional ByVal prompt As Boolean = True)
Me.bs.EndEdit()
If Not Me.IreaDataSet1.HasChanges Then
NOTICE("변경된 내용이 없습니다", Me.lb_msg)
Return
End If
If prompt Then
If MsgBox("변경된 데이터를 저장하시겠습니까?", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "저장확인") <> MsgBoxResult.Ok Then Return
End If
'If Me.NeedIndexSort Then '//번호 재정렬해야할경우 열삽입햇을때
' Dim DV As New DataView(Me.DT, "", "번호 ASC", DataViewRowState.CurrentRows)
' Dim Index As Integer = 0
' For Each Drv As DataRowView In DV
' Index += 1
' Drv("번호") = Index
' Next
'End If
Try
Me.ta.Update(Me.IreaDataSet1.Detail_kiki) '//Commit insert/update/delete
Me.IreaDataSet1.Detail_kiki.AcceptChanges() '//Set All Green
Try
Dim SQl As String = "insert into 전주관리(id,날짜,거래처명,비고,총수량,단가,금액,번호찰구분) values(:1,:2,:3,:4,:5,:6,:7,4)"
If Me.ta.Connection.State <> ConnectionState.Open Then Me.ta.Connection.Open()
Dim Cmd As New OleDbCommand(SQl, Me.ta.Connection)
Cmd.Parameters.Add(":1", OleDbType.Integer).Value = Val(Me.h_id.Text)
Cmd.Parameters.Add(":2", OleDbType.Date).Value = IIf(Me.h_date.Text.Trim = "", DBNull.Value, Me.h_date.Text.Trim)
Cmd.Parameters.Add(":3", OleDbType.VarChar).Value = Me.h_name.Text
Cmd.Parameters.Add(":4", OleDbType.VarChar).Value = Me.h_bigo.Text
Cmd.Parameters.Add(":5", OleDbType.Integer).Value = Me.IreaDataSet1.Detail_kiki.Rows.Count 'Me.view1_Sheet1.RowCount
Cmd.Parameters.Add(":6", OleDbType.Integer).Value = Val(Me.h_dan.Text)
Cmd.Parameters.Add(":7", OleDbType.Currency).Value = Val(Me.h_dan.Text) * Me.view1_Sheet1.RowCount
Cmd.ExecuteNonQuery()
Catch ex As Exception
Dim SQl As String = "update 전주관리 set 날짜=:2,거래처명=:3,비고=:4,총수량=:5,단가=:6,금액=:7,번호찰구분=4 where id=:1"
If Me.ta.Connection.State <> ConnectionState.Open Then Me.ta.Connection.Open()
Dim Cmd As New OleDbCommand(SQl, Me.ta.Connection)
Cmd.Parameters.Add(":2", OleDbType.Date).Value = IIf(Me.h_date.Text.Trim = "", DBNull.Value, Me.h_date.Text.Trim)
Cmd.Parameters.Add(":3", OleDbType.VarChar).Value = Me.h_name.Text
Cmd.Parameters.Add(":4", OleDbType.VarChar).Value = Me.h_bigo.Text
Cmd.Parameters.Add(":5", OleDbType.Integer).Value = Me.IreaDataSet1.Detail_kiki.Rows.Count 'Me.view1_Sheet1.RowCount
Cmd.Parameters.Add(":6", OleDbType.Integer).Value = Val(Me.h_dan.Text)
Cmd.Parameters.Add(":7", OleDbType.Currency).Value = Val(Me.h_dan.Text) * Me.view1_Sheet1.RowCount
Cmd.Parameters.Add(":1", OleDbType.Integer).Value = Val(Me.h_id.Text)
Cmd.ExecuteNonQuery()
Finally
'MakeList.bt_find.PerformClick()
'Display_Data(True)
Dim INI As New MyINI2(My.Application.Info.DirectoryPath & "\epole.ini")
INI.Write("main", "lastkname1", Me.h_name.Text)
NOTICE("저장되었습니다", Me.lb_msg)
My.Computer.Audio.Play(My.Application.Info.DirectoryPath & "\sound\notify.wav", AudioPlayMode.Background)
'MakeList.Display_Data() '//이건 bt_find 에서 재호출된다.
End Try
Catch ex As Exception
MsgBox("데이터베이스 업데이트중 오류가 발생했습니다" & vbCrLf & vbCrLf & ex.ToString, MsgBoxStyle.Critical, "ERROR-")
Me.IreaDataSet1.Detail_kiki.RejectChanges()
NOTICE("저장 실패!", Color.Red, Me.lb_msg)
Finally
view1.ActiveSheet.GetDataView(True) '//화면을 갱신한다.
End Try
'Me.SaveFlag = True
Me.bs.EndEdit()
End Sub
Private Sub Display_Data(Optional ByVal AutoSort As Boolean = False) '//뷰에데이터를 표시한다.
Me.bs.Sort = "정렬번호,번호" '//정렬된것들은 정렬된채로 보여준다.
Me.ta.Fill(Me.IreaDataSet1.Detail_kiki, Me.h_id.Text) '//관리id를 통해서 데이터를 채운다.
SetFarPoint() '//여기서 파포인트를 바인딩 소스와 연결시킨다(바인딩 소스는 테이블에 연결되어있다)
If Me.IreaDataSet1.Detail_kiki.Rows.Count <= 0 Then
Me.bt_addrow.PerformClick()
NOTICE("데이터가 존재하지 않습니다", Color.Red, Me.lb_msg)
Return
End If
NOTICE(Me.view1.ActiveSheet.RowCount & "개의 데이터가 검색되었습니다", Me.lb_msg)
End Sub
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_import.Click '//엑셀불러오기
Me.bt_commit.PerformClick() '//저장할게잇으면 다 저장한다.
Me.view1.SuspendLayout()
Dim A As New XLSImport(Me.IreaDataSet1, Me.h_id.Text, 4)
A.ShowDialog()
Me.CHk_Modify(False)
Me.Display_Data(False)
Me.view1.ResumeLayout()
End Sub
Private Sub BindingNavigatorAddNewItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_addrow.Click '//한줄추가
If Me.Sorted = ESorted.NULL Then Check_Sorted()
bs.AddNew()
view1.ActiveSheet.SetActiveCell(view1.ActiveSheet.RowCount, view1.AFirstColumn_Index) '//첫위치로 변경한다.
'Me.view1.AAddNewRow()
End Sub
Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_commit.Click
'Me.view1.Attach_Ubound(2) '//언바운드된 열을 여기서 바운드시켜분다.
Me.bs.EndEdit() '//편집중인 데이터는 모두 마킹
If bs.Count > 0 Then
Dim Drv As DataRowView
Drv = bs.Item(bs.Count - 1)
If NVL(Drv("관리구"), "") = "" AndAlso NVL(Drv("전주번호"), "") = "" AndAlso NVL(Drv("선로명"), "") = "" AndAlso _
NVL(Drv("번호1"), "") = "" AndAlso NVL(Drv("번호2"), "") = "" AndAlso NVL(Drv("번호3"), "") = "" AndAlso NVL(Drv("번호4"), "") = "" Then
Drv.Delete()
End If
End If
If Not Me.IreaDataSet1.HasChanges Then
NOTICE("변경된 데이터가 없습니다", Me.lb_msg)
Return
End If
Me.bt_find.PerformClick()
End Sub
Private Sub ToolStripButton5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_cancel.Click
'Me.view1.Attach_Ubound(2)
Me.bs.EndEdit()
If Me.IreaDataSet1.HasChanges Then
Me.IreaDataSet1.RejectChanges()
NOTICE("변경된 내용이 취소되었습니다.", Me.lb_msg)
Else
NOTICE("변경내역이 없습니다", Me.lb_msg)
End If
End Sub
Private Sub view1_Arin_AddLog(ByVal sender As Object, ByVal msg As String) Handles view1.Arin_AddLog
If Admin Then Log.Show()
If Admin Then Log.RichTextBox1.AppendText(msg & vbCrLf)
End Sub
Private Sub sdStripMenuItemMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles gfsdStripMenuItem1.Click
Me.view1.ASelect(Me.view1.ACheckBox_ColIndex)
End Sub
Private Sub folStripMenuItuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles gsdfolStripMenuItem2.Click
Me.view1.AUnselect(Me.view1.ACheckBox_ColIndex)
End Sub
Private Sub gwsolStripMenuIteStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles gwsolStripMenuItem2.Click
Me.view1.AReverse(Me.view1.ACheckBox_ColIndex)
End Sub
Private Sub BindingNavigatorDeleteItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorDeleteItem.Click
If Me.view1.ActiveSheet.Rows.Count > 0 Then
Me.view1.ActiveSheet.ActiveRow.Remove()
NOTICE("현재줄이 삭제되었습니다", Me.lb_msg)
Else
MsgBox("더이상 삭제할 줄이 없습니다")
End If
End Sub
Private Sub view1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles view1.KeyDown
view1_Arin_AddLog(sender, "원래뷰에서의 keydown 열번호=" & Me.view1.ActiveSheet.ActiveColumnIndex)
End Sub
Private Sub view1_DragFillBlockCompleted(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.DragFillBlockCompletedEventArgs) Handles view1.DragFillBlockCompleted
For i As Integer = e.RowBegin To e.RowBegin + e.NumberToCopy
' Dim ds As DataSet = FpSpread1.Sheets(0).DataSource
Me.IreaDataSet1.Detail_kiki.Rows(view1.Sheets(0).GetModelRowFromViewRow(i)).EndEdit()
Next
End Sub
Private Sub view1_Change(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.ChangeEventArgs) Handles view1.Change
'//선택에 체크된것을 색상을 바꿔준다.
If e.Column = Me.view1.ACheckBox_ColIndex AndAlso Me.view1.ActiveSheet.Cells(e.Row, Me.view1.ACheckBox_ColIndex).Value = True Then '//선택
Me.view1.ActiveSheet.Rows(e.Row).BackColor = Color.LightGreen
Else
Me.view1.ActiveSheet.Rows(e.Row).BackColor = Color.White
End If
End Sub
Private Sub Check_Sorted()
If Me.Sorted = ESorted.NULL Then '//아직 검색이된건지 확인안해봣다
Me.Sorted = ESorted.No
For i As Short = 0 To IIf(Me.DT.Rows.Count > 10, 10, Me.DT.Rows.Count - 1)
If NVL(DT.Rows(i)("정렬번호")) <> "" AndAlso NVL(DT.Rows(i)("정렬번호")) <> "히히히000000000" AndAlso NVL(DT.Rows(i)("정렬번호")) <> "" Then '//데이터가있다면
Me.Sorted = ESorted.YES
Exit For
End If
Next
End If
End Sub
Private Sub Make_Index()
Work_Form("인덱스를 생성하고 있습니다")
Form_Work.ProgressBar1.Minimum = 0
Form_Work.ProgressBar1.Maximum = Me.DT.Rows.Count
Dim Num As Short
For i As Integer = 0 To Me.DT.Rows.Count - 1
Form_Work.pval = i
Num = Me.DT.Rows(i)("번호")
Me.DT.Rows(i)("정렬번호") = "1" & Format(Num, "00000") & "1000"
Next
Form_Work.Close() '//작업창 닫기
Me.Sorted = ESorted.YES
End Sub
Private Sub bt_insertrow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_insertrow.Click
' Me.view1.AInsertNewRow() '//번호문제도있다.
'//현재줄 바로위에 한줄을삽입한다.
'//새로운ID는 전줄의ID+1 이며
Me.bs.EndEdit()
'//위에서부터 5개또는 마지막까지 이게 정렬된데이터인지 확인합니다.
If Me.Sorted = ESorted.NULL Then Check_Sorted()
If Me.Sorted = ESorted.No Then Make_Index() '//인덱스를 생성한다.
Dim NR As ireaDataSet.Detail_kikiRow = Me.DT.NewDetail_kikiRow '//삽입은 현재줄 위에 삽입하는것이다. 현재줄의 인덱스번호가 숫자형태라면 정렬이안된데이터다
Dim 정렬번호 As String = bs.Current("정렬번호")
Dim N정렬번호 As String
If Not Me.Sorted = ESorted.CANT AndAlso IsNumeric(정렬번호) AndAlso 정렬번호.Length >= 8 Then '//숫자라면 인덱스정렬법이다.
Dim MN As String = 정렬번호.Substring(0, 6)
Dim SN As Short = 정렬번호.Substring(6)
'NR.번호 = bs.Current("번호") - 1 '//번호는 -1하고
'If NR.번호 < 1 Then NR.번호 = 0
N정렬번호 = MN & Format(SN - 1, "0000") '//현재 일련번호에 -을 해서 넣느다. 이부분 변경하자..변경한이름이 있을경우 해당위로의 숫자를 -1해야한다.
'//새로우 정렬번호랑 같은것들은 -1해준다.
For Each DR As DataRow In Me.DT.Select("정렬번호 like '" & MN & "%' and 정렬번호 <= '" & N정렬번호 & "'")
MN = DR("정렬번호").Substring(0, 6)
SN = DR("정렬번호").Substring(6)
DR("정렬번호") = MN & Format(SN - 1, "0000") '//원래번호-1해준다.
Next
'//
NR.정렬번호 = N정렬번호
Dim AR As Integer = Me.view1.ActiveSheet.ActiveRowIndex
Me.DT.AddDetail_kikiRow(NR)
Me.view1.ActiveSheet.ActiveRowIndex = AR
Else '//전주번호정렬법이다 이것은 정렬이 별도로 존재한다.
MsgBox("번호형식으로 정렬되어있는 데이터입니다" & vbCrLf & "이데이터는 [한줄삽입]이 되지않습니다.", MsgBoxStyle.Information, "확인")
Me.Sorted = ESorted.CANT
'Me.bt_addrow.PerformClick() '//한줄추가화럴ㅇ()
End If
End Sub
Private Sub Timer1_Tick_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Me.Text = Me.view1.ActiveSheet.ActiveRowIndex & "/" & Me.view1.ActiveSheet.ActiveColumnIndex
End Sub
Private Sub ToolStripButton3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton3.Click
Process.Start(HomePage)
End Sub
Private Sub gfsdolStripMenuItempMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles gfsdolStripMenuItem.Click
For i As Integer = Me.view1.ActiveSheet.RowCount - 1 To 0 Step -1
If Me.view1.ActiveSheet.Cells(i, Me.view1.ACheckBox_ColIndex).Value = True Then Me.view1.ActiveSheet.Rows(i).Remove()
Next
End Sub
Private Sub ToolStripButton5_Click_2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton5.Click
Me.Close()
End Sub
Private Sub bt_save_all_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_save_all.Click
Dim a As New SaveFileDialog
a.Filter = "엑셀 워크시트파일(*.XLS)|*.XLS"
a.FilterIndex = 0
a.Title = "[모든데이터내보내기] 저장할 엑셀 파일을 지정하세요"
If a.ShowDialog() <> System.Windows.Forms.DialogResult.Cancel Then
Dim msg As New System.Text.StringBuilder
Me.view1.SaveExcel(a.FileName, FarPoint.Excel.ExcelSaveFlags.SaveAsViewed)
msg.AppendLine("내보내진 파일은 기본값으로 [시트보호]가 되어있습니다")
msg.AppendLine()
msg.AppendLine()
msg.AppendLine("[시트보호] 상태에서는 시트를 편집할 수 없습니다")
msg.AppendLine()
msg.AppendLine("[시트보호]를 해제하려면 해당파일을 엑셀에서 불러온후")
msg.AppendLine("[도구]-[보호]-[시트보호해제]를 클릭하세요")
MsgBox(msg.ToString, MsgBoxStyle.Information, "시트보호")
End If
End Sub
Private Sub bt_save_current_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_save_current.Click
Dim a As New SaveFileDialog
a.Filter = "엑셀 워크시트파일(*.XLS)|*.XLS"
a.FilterIndex = 0
a.Title = "[현재데이터내보내기] 저장할 엑셀 파일을 지정하세요"
If a.ShowDialog() <> System.Windows.Forms.DialogResult.Cancel Then
Dim msg As New System.Text.StringBuilder
Me.view1.SaveExcel(a.FileName, FarPoint.Excel.ExcelSaveFlags.SaveAsFiltered)
msg.AppendLine("내보내진 파일은 기본값으로 [시트보호]가 되어있습니다")
msg.AppendLine()
msg.AppendLine()
msg.AppendLine("[시트보호] 상태에서는 시트를 편집할 수 없습니다")
msg.AppendLine()
msg.AppendLine("[시트보호]를 해제하려면 해당파일을 엑셀에서 불러온후")
msg.AppendLine("[도구]-[보호]-[시트보호해제]를 클릭하세요")
MsgBox(msg.ToString, MsgBoxStyle.Information, "시트보호")
End If
End Sub
Private Sub allsavedataMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles allsavedata.Click
Me.bt_save_all.PerformClick()
End Sub
Private Sub currentsavedataoolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles currentsavedata.Click
Me.bt_save_current.PerformClick()
End Sub
Private Sub ToolStripButton6_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs)
Me.view1.Focus()
Me.view1.ActiveSheet.SetActiveCell(1, 5)
End Sub
Private Sub AddEpole_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Validated
Me.view1.Focus()
Me.view1.Focus()
End Sub
Private Sub ToolStripButton6_Click_2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_datasort.Click
If MsgBox("전주번호순으로 데이터가 정렬됩니다" & vbCrLf & vbCrLf & "계속하시겠습니까?", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "확인") <> MsgBoxResult.Ok Then Return
Dim 번호 As String
Dim 번호B, 번호b2 As System.Text.StringBuilder
Me.pbar.Minimum = 0
Me.pbar.Maximum = Me.IreaDataSet1.Detail_kiki.Rows.Count - 1
Me.pbar.Value = 0
Dim Cidx As Int16 = 0
Dim Carray As ArrayList
For Each dr As ireaDataSet.Detail_kikiRow In Me.IreaDataSet1.Detail_kiki.Rows
번호 = (dr.번호1 & dr.번호2 & dr.번호3 & dr.번호4 & dr.번호5)
If 번호 <> "" Then '// 123H1R1R2H3
Cidx = 0
번호B = New System.Text.StringBuilder
번호b2 = New System.Text.StringBuilder
Carray = New ArrayList
For Each C As Char In 번호.ToCharArray
If Char.IsLetter(C) Then
Carray.Add(C) '//문자위치와 문자를 저장한다.
번호B.Append("@") '//문자는 @로 변환한다.
Else
번호B.Append(C) '//숫자는 바로 저장해버린다.
End If
Cidx += 1
Next
'// 123@1@1@2@3
For Each 번호s As String In 번호B.ToString.Split("@")
번호b2.Append(Format(Val(번호s), "000").ToString & "@") '/3자리로바꾼후 문자열을 붙인다
Next
번호b2.Remove(번호b2.Length - 1, 1) '//쓰레기제거
번호 = 번호b2.ToString '//123@001@001@002@003
For Each c As Char In Carray '//문자와 위치가 있다
Cidx = 번호.IndexOf("@")
If Cidx <> -1 Then 번호 = 번호.Substring(0, Cidx) & c & 번호.Substring(Cidx + 1)
Next
번호 = 번호.Replace("H", "@")
'//H계산식 : 바로앞번호를 1빼고 H??? 를 0000 으로 변경
'//H는 본주보다 먼저와야하고 H끼리서로 정렬되어야 한다.
'If 번호.IndexOf("H") <> -1 Then '//H가있다는것이다 H는 바로앞과H를 0으로 바꾼다.
' Dim 전문자 As String = 번호.Substring(0, 번호.IndexOf("H") - 3)
' Dim 앞번호 As Short = 번호.Substring(번호.IndexOf("H") - 3, 3)
' Dim 후문자 As String = 번호.Substring(번호.IndexOf("H") + 4)
' '번호 = 전문자 & Format(앞번호 - 1, "000") & "ZZZ" & 후문자
' 번호 = 전문자 & Format(앞번호 - 1, "000") & "ZZZ" & 번호.Substring(번호.IndexOf("H") + 1) & 후문자
'End If
'If 번호.IndexOf("H") <> -1 Then GoTo LBL_H
dr.정렬번호 = dr.선로명 & 번호
If Me.pbar.Value < Me.pbar.Maximum Then Me.pbar.Value += 1
Else '//번호에 아무것도 없는경우
dr.정렬번호 = dr.선로명 & "0" 'If SORTNULL Then dr.정렬번호 = dr.선로명 & "0"
End If
Next
NOTICE("정렬이 완료되었습니다", Me.lb_msg)
End Sub
Private Sub bt_find_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_find.Click
CHk_Modify()
Display_Data()
End Sub
Private Sub MenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles findtextlStripMenuItem.Click
Dim Frow, Fcol As Integer
Me.view1.Search(Me.view1.ActiveSheetIndex, InputBox("선택된 열에서 검색할 문자를 입력하세요."), False, False, False, True, True, False, False, 0, 0, Frow, Fcol)
If Frow >= 0 AndAlso Fcol >= 0 Then '//검색됫다면
Me.view1.ActiveSheet.SetActiveCell(Frow, Fcol)
SendKeys.Send("{ENTER}")
End If
End Sub
Private Sub cm_RenewNum_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cm_RenewNum.Click
ReNum(Me.IreaDataSet1.Detail_kiki, "번호", Me.pbar)
End Sub
Private Sub vripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbt_vselall.Click
For Each A As DataRow In Me.IreaDataSet1.Detail_kiki.Rows
A("출력") = True
Next
End Sub
Private Sub cbt_vusell_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbt_vusell.Click
For Each A As DataRow In Me.IreaDataSet1.Detail_kiki.Rows
A("출력") = False
Next
End Sub
Private Sub cbt_vselrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbt_vselrev.Click
For Each A As DataRow In Me.IreaDataSet1.Detail_kiki.Rows
A("출력") = Not A("출력")
Next
End Sub
Private Sub ToolStripMenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem4.Click
Me.bt_print.PerformClick()
End Sub
Private Sub bt_print_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_print.Click
Me.bs.EndEdit()
If Me.view1.Cells("출력").Value = False Then
MsgBox("현재 선택된 줄은 출력이 되지않도록 설정되어있습니다", MsgBoxStyle.Critical, "확인")
Return
End If
Dim A As New printformkiki(Me.IreaDataSet1.Detail_kiki, CType(Me.bs.Current, DataRowView)) 'Me.view1.ActiveSheet.ActiveRowIndex)
If Admin Then
A.Show()
Else
A.ShowDialog()
End If
End Sub
Private Sub bt_savecolsize_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_savecolsize.Click
Me.view1.ASetting_Save(False)
End Sub
Private Sub view1_Arin_Before_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles view1.Arin_Before_KeyDown
view1_Arin_AddLog(sender, "원래뷰에서의 before_keydown 열번호=" & Me.view1.ActiveSheet.ActiveColumnIndex)
Select Case e.KeyCode
Case Keys.Insert '//삽입
Me.bt_insertrow.PerformClick()
'Me.bt_addrow.PerformClick()
Case Keys.Enter '/마지막줄에 마지막 열이엿으면 bt_insertrow
With Me.view1.ActiveSheet
' Me.Text = .ActiveRowIndex & "/" & .ActiveColumnIndex
Select Case .ActiveColumn.Label.ToUpper
Case "관리구B", "번호B", "선로명B", "D11", "D12", "D13", "D14", "D15", "D21", "D22", "D23", "D24", ",D25", "D31", "D32", "D33", "D34", "D35"
If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then
.ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
End If
Case "A1" '//전주번호1(선로명이 같으면 이 데이터 복사)
'//먼저 현재줄의 위치가 1이상이어야 윗줄 복사를 할수있다.
'//그리고 현재셀에 값이 없어야한다.
If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then
If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("선로명B")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("선로명B")).Text Then '//전줄의 선로명과 같다면
.ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
End If
End If
Case "A2" '//번호2
If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("선로명B")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("선로명B")).Text AndAlso _
.Cells(.ActiveRowIndex, Me.view1.ColIndex2("A1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("A1")).Text Then
.ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
End If
End If
Case "A3" '//번호3
If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("선로명B")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("선로명B")).Text AndAlso _
.Cells(.ActiveRowIndex, Me.view1.ColIndex2("A1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("A1")).Text AndAlso _
.Cells(.ActiveRowIndex, Me.view1.ColIndex2("A2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("A2")).Text Then
.ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
End If
End If
Case "A4" '//번호4
If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("선로명B")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("선로명B")).Text AndAlso _
.Cells(.ActiveRowIndex, Me.view1.ColIndex2("A1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("A1")).Text AndAlso _
.Cells(.ActiveRowIndex, Me.view1.ColIndex2("A2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("A2")).Text AndAlso _
.Cells(.ActiveRowIndex, Me.view1.ColIndex2("A3")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("A3")).Text Then
.ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
End If
End If
Case "A5" '//번호5
If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
If .Cells(.ActiveRowIndex, Me.view1.ColIndex2("선로명B")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("선로명B")).Text AndAlso _
.Cells(.ActiveRowIndex, Me.view1.ColIndex2("A1")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("A1")).Text AndAlso _
.Cells(.ActiveRowIndex, Me.view1.ColIndex2("A2")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("A2")).Text AndAlso _
.Cells(.ActiveRowIndex, Me.view1.ColIndex2("A3")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("A3")).Text AndAlso _
.Cells(.ActiveRowIndex, Me.view1.ColIndex2("A4")).Text = .Cells(.ActiveRowIndex - 1, Me.view1.ColIndex2("A4")).Text Then
.ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
End If
End If
End Select
End With
End Select
End Sub
Private Sub view1_Arin_Before_EditModeOff(ByVal sender As Object, ByVal e As System.EventArgs) Handles view1.Arin_Before_EditModeOff
Me.view1_Arin_AddLog(sender, "원래뷰의 befoer_editmodeoff")
With Me.view1.ActiveSheet
Select Case .ActiveColumn.Label.ToUpper
Case "장척" '장척일경우
Case "A1" '//전주번호1
End Select
End With
End Sub
Private Sub bt_datasort_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles bt_datasort.MouseDown
If e.Button = System.Windows.Forms.MouseButtons.Right Then
If MsgBox("정렬데이터를 모두 삭제하시겠습니까?", MsgBoxStyle.Information Or MsgBoxStyle.OkCancel, "확인") = MsgBoxResult.Ok Then
For Each dr As ireaDataSet.Detail_kikiRow In Me.IreaDataSet1.jjutable.Rows
dr.정렬번호 = ""
Next
NOTICE("정렬데이터가 초기화되었습니다.", Me.lb_msg)
End If
End If
End Sub
Private Sub view1_CellClick(ByVal sender As System.Object, ByVal e As FarPoint.Win.Spread.CellClickEventArgs) Handles view1.CellClick
End Sub
Private Sub AddEpole_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.F1 Then
If e.Control AndAlso e.Shift Then
If MsgBox("열너비를 초기화하시겠습니까?", MsgBoxStyle.Information Or MsgBoxStyle.OkCancel, "확인") = MsgBoxResult.Ok Then
view1.ColSize_Init()
End If
End If
End If
End Sub
Private Sub 열너비초기화ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 열너비초기화ToolStripMenuItem.Click
For c As Integer = 1 To view1_Sheet1.ColumnCount
view1_Sheet1.Columns(c - 1).Width = 100
Next
Application.DoEvents()
End Sub
End Class

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,153 @@
<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="StatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>430, 17</value>
</metadata>
<metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>149, 17</value>
</metadata>
<metadata name="ErrorProvider1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>548, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>69</value>
</metadata>
<metadata name="cm.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>81, 17</value>
</metadata>
<metadata name="fp_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>258, 17</value>
</metadata>
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>751, 17</value>
</metadata>
<metadata name="bn.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>364, 17</value>
</metadata>
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="ds1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>680, 17</value>
</metadata>
<metadata name="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>851, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,863 @@
Public Class AddEpoleJJ
' Dim SaveFlag As Boolean = False
Dim DT As ireaDataSet.jjungtableDataTable
Dim Sorted As ESorted = ESorted.No
Public PrnForm As printformjjung
Dim IsNew As Boolean = False
Private Sub NewRowAddToDataTable(ByVal sender As Object, ByVal e As System.Data.DataTableNewRowEventArgs) 'Handles DT.TableNewRow '//New Row Add & Setting Default Data
Dim NEwrow As DataRow = e.Row
NEwrow("rowid") = System.Guid.NewGuid
NEwrow("관리ID") = CInt(Me.h_id.Text)
NEwrow("번호") = CInt(Me.Get_NewNumber)
NEwrow("출력") = True
NEwrow("비고0") = "시공업체:"
NEwrow("비고2") = "시공년월:"
Dim newid As Integer = CInt(Me.Get_NewNumber)
If Me.Sorted = ESorted.CANT Then
NEwrow("정렬번호") = "" & "1" & Format(newid, "00000") & "1000"
Else
NEwrow("정렬번호") = "1" & Format(newid, "00000") & "1000"
End If
NEwrow("변압기용량") = ""
NEwrow("전산화번호") = ""
NEwrow("선로명") = ""
End Sub
Public Sub New(ByVal maxid As Integer)
' 이 호출은 Windows Form 디자이너에 필요합니다.
InitializeComponent()
Dim INI As New MyINI2(My.Application.Info.DirectoryPath & "\epole.ini")
Me.h_date.Enabled = True
Me.h_name.Enabled = True
Me.h_bigo.Enabled = True
Me.h_id.Enabled = False
Me.h_dan.Enabled = True
Me.Text = "지중(일반) 입력(신규작업)"
Me.h_name.Text = INI.Read("main", "lastkname1") 'InputBox("거래처명을 입력하세요", "신규입력-거래처명", "해광기획")
Me.h_dan.Text = "0" 'InputBox("수량별 단가를 입력하세요", "신규입력-단가", "0")
Me.h_id.Text = maxid
Me.h_bigo.Text = "지중(일반)번호찰제작(" & Format(Now, "MM") & "-" & Format(Now, "dd") & ")"
Me.h_date.Text = Format(Now, "yyyy/MM/dd")
Me.IsNew = True
End Sub
Public Sub New(ByVal v_id As String, ByVal V_DATE As String, ByVal V_NAME As String, ByVal V_BIGO As String, ByVal V_DAN As String)
' 이 호출은 Windows Form 디자이너에 필요합니다.
InitializeComponent()
Me.h_date.Text = V_DATE
Me.h_name.Text = V_NAME
Me.h_bigo.Text = V_BIGO
Me.h_dan.Text = V_DAN
Me.h_id.Text = v_id
Me.h_date.Enabled = False
Me.h_name.Enabled = False
Me.h_bigo.Enabled = False
Me.h_id.Enabled = False
Me.h_id.Enabled = False
Me.Text = "지중(일반) 입력"
End Sub
Private Sub AddEpole_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Me.bs.EndEdit()
If bs.Count > 0 Then
Dim Drv As DataRowView
Drv = bs.Item(bs.Count - 1)
If NVL(Drv("선로명"), "") = "" AndAlso _
NVL(Drv("번호1"), "") = "" AndAlso NVL(Drv("번호2"), "") = "" AndAlso NVL(Drv("번호3"), "") = "" AndAlso NVL(Drv("번호4"), "") = "" Then
Drv.Delete()
End If
End If
Me.CHk_Modify()
'//펑션키값 넣기
Dim INI As New MyINI2(My.Application.Info.DirectoryPath & "\" & Me.Name & "_static.ini")
INI.Write("key", "f1", tbf1.Text)
INI.Write("key", "f2", tbf2.Text)
INI.Write("key", "f3", tbf3.Text)
INI.Write("key", "f4", tbf4.Text)
INI.Write("key", "f5", tbf5.Text)
INI.Write("key", "f6", tbf6.Text)
INI.Write("key", "f7", tbf7.Text)
INI.Write("key", "f8", tbf8.Text)
Frm_Main.bt_find.PerformClick()
End Sub
Private Sub AddEpole_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.fp.ASetting_Load(False)
Me.fp.한글필드 = New String() {"기기명", "비고", "선로명", "변압기선로", "시공업체"}
'Me.view1.AEnterToNextItem(False)
Me.fp.Font = New Font(ViewFont.FontName, ViewFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.bn.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.ToolStrip1.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.StatusStrip1.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
AddHandler ds1.jjungtable.TableNewRow, AddressOf NewRowAddToDataTable
'//펑션키값 넣기
Dim INI As New MyINI2(My.Application.Info.DirectoryPath & "\" & Me.Name & "_static.ini")
tbf1.Text = INI.Read("key", "f1")
tbf2.Text = INI.Read("key", "f2")
tbf3.Text = INI.Read("key", "f3")
tbf4.Text = INI.Read("key", "f4")
tbf5.Text = INI.Read("key", "f5")
tbf6.Text = INI.Read("key", "f6")
tbf7.Text = INI.Read("key", "f7")
tbf8.Text = INI.Read("key", "f8")
DT = Me.ds1.jjungtable
Me.SETTOOLTIP()
''''''''데이터보여주기
If Me.IsNew Then '//현재id와같은 데이터는 모두삭제를 하게한다.
Dim Cmd As New OleDbCommand("delete from 지중세부 where 관리id=" & Me.h_id.Text, Me.ta.Connection)
If Cmd.Connection.State <> ConnectionState.Open Then Cmd.Connection.Open()
Cmd.ExecuteNonQuery()
Me.IsNew = False
End If
Display_Data()
End Sub
Private Sub SETTOOLTIP()
Dim TMSG As New System.Text.StringBuilder()
TMSG.AppendLine()
TMSG.AppendLine("오른쪽 클릭시 기타메뉴가 표시됩니다")
TMSG.AppendLine()
TMSG.AppendLine("<단축키 : ENTER:다음칸 , SHIFT+TAB:이전칸>")
TMSG.AppendLine("<단축키 : DELETE:현재칸 지우기 , SHIFT+DELETE 현재줄 삭제>")
TMSG.AppendLine("<단축키 : F2:현재칸지우고 편집>")
TMSG.AppendLine("<단축키 : SPACE-BAR/F3:현재칸 편집>")
TMSG.AppendLine("<단축키 : CTRL + 마우스휠 : 화면크기를 조절합니다>")
TMSG.AppendLine()
Me.ToolTip1.SetToolTip(Me.fp, TMSG.ToString)
End Sub
Private Sub SetFarPoint()
' Me.view1.AEnterToNextItem()
Me.bs.DataSource = Me.ds1
Me.bs.DataMember = "jjungtable"
Me.fp.DataSource = Me.bs
End Sub
''' <summary>
''' 신규추가시 번호를 생성해줍니다(현존최대넘버+1)
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Private Function Get_NewNumber() As Integer
Dim maxCnt As Integer = 0
For i As Integer = 0 To Me.fp_Sheet1.RowCount - 1
If Me.fp_Sheet1.Cells(i, 2).Value > maxCnt Then maxCnt = Me.fp_Sheet1.Cells(i, 2).Value
Next
Return maxCnt + 1
End Function
Private Sub CHk_Modify(Optional ByVal prompt As Boolean = True)
Me.Validate()
Me.bs.EndEdit()
If Not Me.ds1.HasChanges Then
NOTICE("변경된 내용이 없습니다", Me.lb_msg)
Return
End If
If prompt Then
If MsgBox("변경된 데이터를 저장하시겠습니까?", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "저장확인") <> MsgBoxResult.Ok Then Return
End If
Try
'Dim SQL2 As String = "SELECT * FROM 지중세부 WHERE (관리ID = {0}) ORDER BY 정렬번호, 번호"
'SQL2 = String.Format(SQL2, Me.h_id.Text)
'Dim tacon As New System.Data.OleDb.OleDbConnection(My.Settings.ireaConnectionString)
'Dim cmd2 As New System.Data.OleDb.OleDbCommand(SQL2, tacon)
'Dim tadapter As New System.Data.OleDb.OleDbDataAdapter(cmd2)
'Dim tacmdbulder As New OleDb.OleDbCommandBuilder(tadapter)
'tadapter.UpdateCommand = tacmdbulder.GetUpdateCommand()
'tadapter.DeleteCommand = tacmdbulder.GetDeleteCommand()
'tadapter.InsertCommand = tacmdbulder.GetInsertCommand()
'Try
' Dim cnt As Integer = tadapter.Update(Me.ds1.jjungtable)
' MsgBox(String.Format("{0}건의 자료가 저장되었습니다", cnt))
'Catch ex As Exception
' MsgBox(ex.Message)
'End Try
'Me.IreaDataSet1.jjungtable.Clear()
'tadapter.Fill(Me.IreaDataSet1.jjungtable)
'Me.IreaDataSet1.jjungtable.AcceptChanges()
Me.ta.Update(Me.ds1.jjungtable) '//Commit insert/update/delete
Me.ds1.jjungtable.AcceptChanges() '//Set All Green
Try
Dim SQl As String = "insert into 전주관리(id,날짜,거래처명,비고,총수량,단가,금액,번호찰구분) values(:1,:2,:3,:4,:5,:6,:7,1)"
If Me.ta.Connection.State <> ConnectionState.Open Then Me.ta.Connection.Open()
Dim Cmd As New OleDbCommand(SQl, Me.ta.Connection)
Cmd.Parameters.Add(":1", OleDbType.Integer).Value = Val(Me.h_id.Text)
Cmd.Parameters.Add(":2", OleDbType.Date).Value = IIf(Me.h_date.Text.Trim = "", DBNull.Value, Me.h_date.Text.Trim)
Cmd.Parameters.Add(":3", OleDbType.VarChar).Value = Me.h_name.Text
Cmd.Parameters.Add(":4", OleDbType.VarChar).Value = Me.h_bigo.Text
Cmd.Parameters.Add(":5", OleDbType.Integer).Value = Me.ds1.jjungtable.Rows.Count 'Me.view1_Sheet1.RowCount
Cmd.Parameters.Add(":6", OleDbType.Integer).Value = Val(Me.h_dan.Text)
Cmd.Parameters.Add(":7", OleDbType.Currency).Value = Val(Me.h_dan.Text) * Me.fp_Sheet1.RowCount
Cmd.ExecuteNonQuery()
Catch ex As Exception
Dim SQl As String = "update 전주관리 set 날짜=:2,거래처명=:3,비고=:4,총수량=:5,단가=:6,금액=:7,번호찰구분=1 where id=:1"
If Me.ta.Connection.State <> ConnectionState.Open Then Me.ta.Connection.Open()
Dim Cmd As New OleDbCommand(SQl, Me.ta.Connection)
Cmd.Parameters.Add(":2", OleDbType.Date).Value = IIf(Me.h_date.Text.Trim = "", DBNull.Value, Me.h_date.Text.Trim)
Cmd.Parameters.Add(":3", OleDbType.VarChar).Value = Me.h_name.Text
Cmd.Parameters.Add(":4", OleDbType.VarChar).Value = Me.h_bigo.Text
Cmd.Parameters.Add(":5", OleDbType.Integer).Value = Me.ds1.jjungtable.Rows.Count
Cmd.Parameters.Add(":6", OleDbType.Integer).Value = Val(Me.h_dan.Text)
Cmd.Parameters.Add(":7", OleDbType.Currency).Value = Val(Me.h_dan.Text) * Me.fp_Sheet1.RowCount
Cmd.Parameters.Add(":1", OleDbType.Integer).Value = Val(Me.h_id.Text)
Cmd.ExecuteNonQuery()
Finally
'MakeList.bt_find.PerformClick()
'Display_Data(True)
Dim INI As New MyINI2(My.Application.Info.DirectoryPath & "\epole.ini")
INI.Write("main", "lastkname1", Me.h_name.Text)
NOTICE("저장되었습니다", Me.lb_msg)
My.Computer.Audio.Play(My.Application.Info.DirectoryPath & "\sound\notify.wav", AudioPlayMode.Background)
'MakeList.Display_Data() '//이건 bt_find 에서 재호출된다.
End Try
Catch ex As Exception
MsgBox("데이터베이스 업데이트중 오류가 발생했습니다" & vbCrLf & vbCrLf & ex.ToString, MsgBoxStyle.Critical, "ERROR-")
Me.ds1.jjungtable.RejectChanges()
NOTICE("저장 실패!", Me.lb_msg)
Finally
fp.ActiveSheet.GetDataView(True) '//화면을 갱신한다.
End Try
End Sub
Private Sub Display_Data(Optional ByVal AutoSort As Boolean = False) '//뷰에데이터를 표시한다.
Me.bs.Sort = "정렬번호,번호" '//정렬된것들은 정렬된채로 보여준다.
Dim SQL As String = "SELECT * FROM 지중세부 WHERE (관리ID = {0}) ORDER BY 정렬번호, 번호"
SQL = String.Format(SQL, Me.h_id.Text)
'Dim tacon As New System.Data.OleDb.OleDbConnection(My.Settings.ireaConnectionString)
'Dim cmd As New System.Data.OleDb.OleDbCommand(SQL, tacon)
'Dim tadapter As New System.Data.OleDb.OleDbDataAdapter(cmd)
'Dim tacmdbulder As New OleDb.OleDbCommandBuilder(tadapter)
'tadapter.UpdateCommand = tacmdbulder.GetUpdateCommand()
'tadapter.DeleteCommand = tacmdbulder.GetDeleteCommand()
'tadapter.InsertCommand = tacmdbulder.GetInsertCommand()
'Me.ds1.jjungtable.Clear()
'tadapter.Fill(Me.ds1.jjungtable)
'Me.ds1.jjungtable.AcceptChanges()
Me.ds1.jjungtable.Clear()
Dim ta2 As New ireaDataSetTableAdapters.jjungtableTableAdapter
Me.ta.Fill(Me.ds1.jjungtable, Me.h_id.Text) '//관리id를 통해서 데이터를 채운다.
Me.ds1.jjungtable.AcceptChanges()
SetFarPoint() '//여기서 파포인트를 바인딩 소스와 연결시킨다(바인딩 소스는 테이블에 연결되어있다)
If Me.ds1.jjungtable.Rows.Count <= 0 Then
Me.bt_addrow.PerformClick()
NOTICE("데이터가 존재하지 않습니다", Color.Red, Me.lb_msg)
Return
End If
NOTICE(Me.fp.ActiveSheet.RowCount & "개의 데이터가 검색되었습니다", Me.lb_msg)
End Sub
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
Me.bt_commit.PerformClick() '//저장할게잇으면 다 저장한다.
Me.fp.SuspendLayout()
Dim A As New XLSImport(Me.ds1, Me.h_id.Text, 1)
A.ShowDialog()
Me.CHk_Modify(False)
Me.Display_Data()
Me.fp.ResumeLayout()
End Sub
Private Sub ToolStripButton2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click
Me.bs.EndEdit()
If Me.fp.Cells("출력").Value = False Then
MsgBox("현재 선택된 줄은 출력이 되지않도록 설정되어있습니다", MsgBoxStyle.Critical, "확인")
Return
End If
PrnForm = New printformjjung(Me.ds1.jjungtable, CType(Me.bs.Current, DataRowView)) 'Me.view1.ActiveSheet.ActiveRowIndex)
If Admin Then
PrnForm.Show()
Else
PrnForm.ShowDialog()
End If
End Sub
Private Sub ToolStripMenuItemolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem.Click
'''''검색방법은 1번개체부터 마지막개체까지 풀루프를 돌면서 동일한 놈을 찾는다.
Dim 원본, 대상 As String 'New System.Text.StringBuilder
Dim fcnt As Integer = 0
Me.pbar.Value = 0
Me.pbar.Minimum = 0
Me.pbar.Maximum = Me.fp.ActiveSheet.RowCount
NOTICE("중복되는 [관리구/전산번호]를 찾는중입니다...", Me.lb_msg)
Me.Invalidate()
For Each A As FarPoint.Win.Spread.Row In Me.fp.ActiveSheet.Rows
원본 = Me.fp.ActiveSheet.Cells(A.Index, 3).Value & Me.fp.ActiveSheet.Cells(A.Index, 4).Value
If 원본.ToString <> "" Then
For Each B As FarPoint.Win.Spread.Row In Me.fp.ActiveSheet.Rows
If A.Index <> B.Index Then '//같은라인은 피하고 그렇지 않은 라인의 번호를 확인한다.
대상 = Me.fp.ActiveSheet.Cells(B.Index, 3).Value & Me.fp.ActiveSheet.Cells(B.Index, 4).Value
If 원본.ToString = 대상.ToString Then
fcnt += 1
Me.fp.ActiveSheet.Cells(A.Index, 22).Value = True
Me.fp.ActiveSheet.Cells(B.Index, 22).Value = True
End If
End If
Next
End If
If Me.pbar.Value < Me.pbar.Maximum Then Me.pbar.Value += 1
Me.Invalidate()
Next
NOTICE("[관리구/전산번호] 중복검사 완료(" & fcnt & "개의 데이터를 찾았습니다)", Me.lb_msg)
End Sub
Private Sub lStripMenuItemripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lStripMenuItem.Click
'''''검색방법은 1번개체부터 마지막개체까지 풀루프를 돌면서 동일한 놈을 찾는다.
Dim 원본, 대상 As String 'New System.Text.StringBuilder
Dim fcnt As Integer = 0
Me.pbar.Value = 0
Me.pbar.Minimum = 0
Me.pbar.Maximum = Me.fp.ActiveSheet.RowCount
NOTICE("중복되는 [전주번호]를 찾는중입니다...", Me.lb_msg)
Me.Invalidate()
For Each A As FarPoint.Win.Spread.Row In Me.fp.ActiveSheet.Rows
원본 = Me.fp.ActiveSheet.Cells(A.Index, 6).Value & Me.fp.ActiveSheet.Cells(A.Index, 7).Value & Me.fp.ActiveSheet.Cells(A.Index, 8).Value & _
Me.fp.ActiveSheet.Cells(A.Index, 9).Value & Me.fp.ActiveSheet.Cells(A.Index, 10).Value
If 원본.ToString <> "" Then
For Each B As FarPoint.Win.Spread.Row In Me.fp.ActiveSheet.Rows
If A.Index <> B.Index Then '//같은라인은 피하고 그렇지 않은 라인의 번호를 확인한다.
대상 = Me.fp.ActiveSheet.Cells(B.Index, 6).Value & Me.fp.ActiveSheet.Cells(B.Index, 7).Value & Me.fp.ActiveSheet.Cells(B.Index, 8).Value & _
Me.fp.ActiveSheet.Cells(B.Index, 9).Value & Me.fp.ActiveSheet.Cells(B.Index, 10).Value
If 원본.ToString = 대상.ToString Then
fcnt += 1
Me.fp.ActiveSheet.Cells(A.Index, 22).Value = True
Me.fp.ActiveSheet.Cells(B.Index, 22).Value = True
End If
End If
Next
End If
If Me.pbar.Value < Me.pbar.Maximum Then Me.pbar.Value += 1
Me.Invalidate()
Next
NOTICE("[전주번호] 중복검사 완료(" & fcnt & "개의 데이터를 찾았습니다)", Me.lb_msg)
End Sub
Private Sub BindingNavigatorAddNewItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_addrow.Click
If Me.Sorted = ESorted.NULL Then Check_Sorted()
Me.fp.AAddNewRow()
End Sub
Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_commit.Click
'//언바운드된 열을 여기서 바운드시켜분다.
'Me.view1.Attach_Ubound(3)
Me.bs.EndEdit()
If bs.Count > 0 Then
Dim Drv As DataRowView
Drv = bs.Item(bs.Count - 1)
If NVL(Drv("선로명"), "") = "" AndAlso _
NVL(Drv("관리구"), "") = "" AndAlso _
NVL(Drv("전산화번호"), "") = "" AndAlso _
NVL(Drv("관리구2"), "") = "" AndAlso _
NVL(Drv("전산번호2"), "") = "" AndAlso _
NVL(Drv("번호1"), "") = "" AndAlso _
NVL(Drv("번호2"), "") = "" _
AndAlso NVL(Drv("번호3"), "") = "" _
AndAlso NVL(Drv("번호4"), "") = "" Then
Drv.Delete()
End If
End If
If Not Me.ds1.HasChanges Then
NOTICE("변경된 데이터가 없습니다", Me.lb_msg)
Return
End If
Me.bt_find.PerformClick()
End Sub
Private Sub ToolStripButton5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_cancel.Click
Me.bs.EndEdit()
If Me.ds1.HasChanges Then
Me.ds1.RejectChanges()
NOTICE("변경된 내용이 취소되었습니다.", Me.lb_msg)
Else
NOTICE("변경내역이 없습니다", Me.lb_msg)
End If
End Sub
Private Sub olStripMenuItem1tripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles olStripMenuItem1.Click
Me.fp.ASelect(Me.fp.ACheckBox_ColIndex)
End Sub
Private Sub lStripMenuItem2ipMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lStripMenuItem2.Click
Me.fp.AUnselect(Me.fp.ACheckBox_ColIndex)
End Sub
Private Sub gfsdlStripMenuItem2MenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles gfsdlStripMenuItem2.Click
Me.fp.AReverse(Me.fp.ACheckBox_ColIndex)
End Sub
Private Sub BindingNavigatorDeleteItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorDeleteItem.Click
If Me.fp.ActiveSheet.Rows.Count > 0 Then
Me.fp.ActiveSheet.ActiveRow.Remove()
NOTICE("현재줄이 삭제되었습니다", Me.lb_msg)
Else
MsgBox("더이상 삭제할 줄이 없습니다")
End If
End Sub
Private Sub view1_Arin_AddLog(ByVal sender As Object, ByVal msg As String) Handles fp.Arin_AddLog
If Admin Then Log.Show()
If Admin Then Log.RichTextBox1.AppendText(msg & vbCrLf)
End Sub
Private Sub view1_Arin_Before_EditModeOff(ByVal sender As Object, ByVal e As System.EventArgs) Handles fp.Arin_Before_EditModeOff
With Me.fp.ActiveSheet
Select Case .ActiveColumn.Label
Case "형식및용량"
If (.Cells(.ActiveRowIndex, .ActiveColumnIndex - 1).Text = "" OrElse _
.Cells(.ActiveRowIndex, .ActiveColumnIndex - 1).Text = vbNullString) AndAlso _
.ActiveCell.Text.Length = 4 Then
.ActiveCell.Text = .ActiveCell.Text.Substring(0, 2) & "-" & .ActiveCell.Text.Substring(2, 1) & "-" & .ActiveCell.Text.Substring(3)
'Else
' Me.Text = .ActiveCell.Text.Length & "/" & .Cells(.ActiveRowIndex, .ActiveColumnIndex - 1).Text
End If
'Case "기기명"
' Select Case .ActiveCell.Text.ToUpper
' Case "SW"
' .ActiveCell.Text = "PAD SW"
' Case "SK"
' .ActiveCell.Text = "지상개폐기"
' Case "TR"
' .ActiveCell.Text = "PAD TR"
' Case "TK"
' .ActiveCell.Text = "지상변압기"
' End Select
End Select
End With
End Sub
Private Sub view1_DragFillBlockCompleted(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.DragFillBlockCompletedEventArgs) Handles fp.DragFillBlockCompleted
For i As Integer = e.RowBegin To e.RowBegin + e.NumberToCopy
' Dim ds As DataSet = FpSpread1.Sheets(0).DataSource
Me.ds1.jjungtable.Rows(fp.Sheets(0).GetModelRowFromViewRow(i)).EndEdit()
Next
End Sub
Private Sub view1_Change(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.ChangeEventArgs) Handles fp.Change
'//선택에 체크된것을 색상을 바꿔준다.
If e.Column = Me.fp.ACheckBox_ColIndex AndAlso Me.fp.ActiveSheet.Cells(e.Row, Me.fp.ACheckBox_ColIndex).Value = True Then '//선택
Me.fp.ActiveSheet.Rows(e.Row).BackColor = Color.LightGreen
Else
Me.fp.ActiveSheet.Rows(e.Row).BackColor = Color.White
End If
End Sub
Private Sub Check_Sorted()
If Me.Sorted = ESorted.NULL Then '//아직 검색이된건지 확인안해봣다
Me.Sorted = ESorted.No
For i As Short = 0 To IIf(Me.DT.Rows.Count > 10, 10, Me.DT.Rows.Count - 1)
If NVL(DT.Rows(i)("정렬번호")) <> "" AndAlso NVL(DT.Rows(i)("정렬번호")) <> "히히히000000000" AndAlso NVL(DT.Rows(i)("정렬번호")) <> "" Then '//데이터가있다면
Me.Sorted = ESorted.YES
Exit For
End If
Next
End If
End Sub
Private Sub Make_Index()
Work_Form("인덱스를 생성하고 있습니다")
Form_Work.ProgressBar1.Minimum = 0
Form_Work.ProgressBar1.Maximum = Me.DT.Rows.Count
Dim Num As Short
For i As Integer = 0 To Me.DT.Rows.Count - 1
Form_Work.pval = i
Num = Me.DT.Rows(i)("번호")
Me.DT.Rows(i)("정렬번호") = "1" & Format(Num, "00000") & "1000"
Next
Form_Work.Close() '//작업창 닫기
Me.Sorted = ESorted.YES
End Sub
Private Sub bt_insertrow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_insertrow.Click
' Me.view1.AInsertNewRow() '//번호문제도있다.
'//현재줄 바로위에 한줄을삽입한다.
'//새로운ID는 전줄의ID+1 이며
Me.bs.EndEdit()
'//위에서부터 5개또는 마지막까지 이게 정렬된데이터인지 확인합니다.
If Me.Sorted = ESorted.NULL Then Check_Sorted()
If Me.Sorted = ESorted.No Then Make_Index() '//인덱스를 생성한다.
Dim NR As ireaDataSet.jjungtableRow = Me.DT.NewjjungtableRow '//삽입은 현재줄 위에 삽입하는것이다. 현재줄의 인덱스번호가 숫자형태라면 정렬이안된데이터다
Dim 정렬번호 As String = bs.Current("정렬번호")
Dim N정렬번호 As String
If Not Me.Sorted = ESorted.CANT AndAlso IsNumeric(정렬번호) AndAlso 정렬번호.Length >= 8 Then '//숫자라면 인덱스정렬법이다.
Dim MN As String = 정렬번호.Substring(0, 6)
Dim SN As Short = 정렬번호.Substring(6)
'NR.번호 = bs.Current("번호") - 1 '//번호는 -1하고
'If NR.번호 < 1 Then NR.번호 = 0
N정렬번호 = MN & Format(SN - 1, "0000") '//현재 일련번호에 -을 해서 넣느다. 이부분 변경하자..변경한이름이 있을경우 해당위로의 숫자를 -1해야한다.
'//새로우 정렬번호랑 같은것들은 -1해준다.
For Each DR As DataRow In Me.DT.Select("정렬번호 like '" & MN & "%' and 정렬번호 <= '" & N정렬번호 & "'")
MN = DR("정렬번호").Substring(0, 6)
SN = DR("정렬번호").Substring(6)
DR("정렬번호") = MN & Format(SN - 1, "0000") '//원래번호-1해준다.
Next
'//
NR.정렬번호 = N정렬번호
Dim AR As Integer = Me.fp.ActiveSheet.ActiveRowIndex
Me.DT.AddjjungtableRow(NR)
Me.fp.ActiveSheet.ActiveRowIndex = AR
Else '//전주번호정렬법이다 이것은 정렬이 별도로 존재한다.
MsgBox("번호형식으로 정렬되어있는 데이터입니다" & vbCrLf & "이데이터는 [한줄삽입]이 되지않습니다.", MsgBoxStyle.Information, "확인")
Me.Sorted = ESorted.CANT
'Me.bt_addrow.PerformClick() '//한줄추가화럴ㅇ()
End If
End Sub
Private Sub view1_EnterCell(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.EnterCellEventArgs) Handles fp.EnterCell
Select Case Me.fp.ActiveColumn.Label
Case "선로명", "시공업체", "비고II", "비고III", "기기명", "비고"
If Me.fp.ActiveColumn.Label = "기기명" Then
NOTICE("SW=PAD SW,SK=지상개폐기,TR=PAD TR,TK=지상변압기", Color.Blue, Me.lb_msg)
End If
'SW : 지상개폐기로 영어로 사용시 “ PAD SW”로 표기.
'SK : 지상개폐기로 한글로 사용시 “지상개폐기”로 표기.
' TR : 지상변압기로 영어로 사용시 “ PAD TR"
'TK : 지상변압기로 한글로 사용시 “ 지상변압기”로 표기.
Case Else
If Me.fp.ActiveColumn.Label = "시공년월" Then
NOTICE("입력형식 : 2007년 08월일경우 >> 2007.08", Color.Blue, Me.lb_msg)
End If
End Select
End Sub
Private Sub oolStripMenuItemipMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles oolStripMenuItem.Click
Me.ToolStripButton2.PerformClick()
End Sub
Private Sub ToolStripButton3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton3.Click
Process.Start(HomePage)
End Sub
Private Sub ToolStripButton5_Click_2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton5.Click
Me.Close()
End Sub
Private Sub bt_save_all_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_save_all.Click
Dim a As New SaveFileDialog
a.Filter = "[모든데이터내보내기] 엑셀 워크시트파일(*.XLS)|*.XLS"
a.FilterIndex = 0
a.Title = "저장할 엑셀 파일을 지정하세요"
If a.ShowDialog() <> System.Windows.Forms.DialogResult.Cancel Then
Dim msg As New System.Text.StringBuilder
Me.fp.SaveExcel(a.FileName, FarPoint.Excel.ExcelSaveFlags.SaveAsViewed)
msg.AppendLine("내보내진 파일은 기본값으로 [시트보호]가 되어있습니다")
msg.AppendLine()
msg.AppendLine()
msg.AppendLine("[시트보호] 상태에서는 시트를 편집할 수 없습니다")
msg.AppendLine()
msg.AppendLine("[시트보호]를 해제하려면 해당파일을 엑셀에서 불러온후")
msg.AppendLine("[도구]-[보호]-[시트보호해제]를 클릭하세요")
MsgBox(msg.ToString, MsgBoxStyle.Information, "시트보호")
End If
End Sub
Private Sub bt_save_current_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_save_current.Click
Dim a As New SaveFileDialog
a.Filter = "[현재데이터내보내기] 엑셀 워크시트파일(*.XLS)|*.XLS"
a.FilterIndex = 0
a.Title = "저장할 엑셀 파일을 지정하세요"
If a.ShowDialog() <> System.Windows.Forms.DialogResult.Cancel Then
Dim msg As New System.Text.StringBuilder
Me.fp.SaveExcel(a.FileName, FarPoint.Excel.ExcelSaveFlags.SaveAsFiltered)
msg.AppendLine("내보내진 파일은 기본값으로 [시트보호]가 되어있습니다")
msg.AppendLine()
msg.AppendLine()
msg.AppendLine("[시트보호] 상태에서는 시트를 편집할 수 없습니다")
msg.AppendLine()
msg.AppendLine("[시트보호]를 해제하려면 해당파일을 엑셀에서 불러온후")
msg.AppendLine("[도구]-[보호]-[시트보호해제]를 클릭하세요")
MsgBox(msg.ToString, MsgBoxStyle.Information, "시트보호")
End If
End Sub
Private Sub outsalldatae_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles outsalldatae.Click
Me.bt_save_all.PerformClick()
End Sub
Private Sub savecurrentdata_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles savecurrentdata.Click
Me.bt_save_current.PerformClick()
End Sub
Private Sub AddEpoleJJ_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Validated
Me.fp.Focus()
Me.fp.Focus()
End Sub
Private Sub bt_find_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_find.Click
CHk_Modify()
Display_Data()
End Sub
Private Sub bt_datasort_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_datasort.Click
Dim 번호 As String
Dim 번호B, 번호b2 As System.Text.StringBuilder
Me.pbar.Minimum = 0
Me.pbar.Maximum = Me.ds1.jjungtable.Rows.Count - 1
Me.pbar.Value = 0
Dim Cidx As Int16 = 0
Dim Carray As ArrayList
For Each dr As ireaDataSet.jjungtableRow In Me.ds1.jjungtable.Rows
번호 = (dr.번호1 & dr.번호2 & dr.번호3 & dr.번호4 & dr.번호5)
If 번호 <> "" Then
Cidx = 0
번호B = New System.Text.StringBuilder
번호b2 = New System.Text.StringBuilder
Carray = New ArrayList
For Each C As Char In 번호.ToCharArray
If Char.IsLetter(C) Then
Carray.Add(C) '//문자위치와 문자를 저장한다.
번호B.Append("@") '//문자는 @로 변환한다.
Else
번호B.Append(C) '//숫자는 바로 저장해버린다.
End If
Cidx += 1
Next
For Each 번호s As String In 번호B.ToString.Split("@")
번호b2.Append(Format(Val(번호s), "000").ToString & "@") '/3자리로바꾼후 문자열을 붙인다
Next
번호b2.Remove(번호b2.Length - 1, 1) '//쓰레기제거
번호 = 번호b2.ToString
For Each c As Char In Carray '//문자와 위치가 있다
Cidx = 번호.IndexOf("@")
If Cidx <> -1 Then 번호 = 번호.Substring(0, Cidx) & c & 번호.Substring(Cidx + 1)
Next
dr.정렬번호 = dr.선로명 & CStr(번호.ToUpper.Replace("K", "0")).Replace("G", "0")
If Me.pbar.Value < Me.pbar.Maximum Then Me.pbar.Value += 1
Else '//번호에 아무것도 없는경우
dr.정렬번호 = dr.선로명 & "0" 'If SORTNULL Then dr.정렬번호 = dr.선로명 & "0"
End If
Next
NOTICE("정렬이 완료되었습니다", Me.lb_msg)
End Sub
Private Sub servoolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles servoolStripMenuItem.Click
Dim Frow, Fcol As Integer
Me.fp.Search(Me.fp.ActiveSheetIndex, InputBox("선택된 열에서 검색할 문자를 입력하세요."), False, False, False, True, True, False, False, 0, 0, Frow, Fcol)
If Frow >= 0 AndAlso Fcol >= 0 Then '//검색됫다면
Me.fp.ActiveSheet.SetActiveCell(Frow, Fcol)
SendKeys.Send("{ENTER}")
End If
End Sub
Private Sub view1_CellClick(ByVal sender As System.Object, ByVal e As FarPoint.Win.Spread.CellClickEventArgs) Handles fp.CellClick
End Sub
Private Sub cm_RenewNum_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cm_RenewNum.Click
ReNum(Me.ds1.jjungtable, "번호", Me.pbar)
End Sub
Private Sub vripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbt_vselall.Click
For Each A As DataRow In Me.ds1.jjungtable.Rows
A("출력") = True
Next
End Sub
Private Sub cbt_vusell_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbt_vusell.Click
For Each A As DataRow In Me.ds1.jjungtable.Rows
A("출력") = False
Next
End Sub
Private Sub cbt_vselrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbt_vselrev.Click
For Each A As DataRow In Me.ds1.jjungtable.Rows
A("출력") = Not A("출력")
Next
End Sub
Private Sub bt_colsizesave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_colsizesave.Click
Me.fp.ASetting_Save(False)
End Sub
Private Sub bt_seldel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_seldel.Click
For i As Integer = Me.fp.ActiveSheet.RowCount - 1 To 0 Step -1
If Me.fp.ActiveSheet.Cells(i, Me.fp.ACheckBox_ColIndex).Value = True Then Me.fp.ActiveSheet.Rows(i).Remove()
Next
End Sub
Private Sub t1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles t1.Click
For i As Integer = Me.fp.ActiveSheet.RowCount - 1 To 0 Step -1
If Me.fp.ActiveSheet.Cells(i, Me.fp.ACheckBox_ColIndex).Value = True Then Me.fp.Cells("비고1").Value = "PAD SW"
Next
End Sub
Private Sub t2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles t2.Click
For i As Integer = Me.fp.ActiveSheet.RowCount - 1 To 0 Step -1
If Me.fp.ActiveSheet.Cells(i, Me.fp.ACheckBox_ColIndex).Value = True Then Me.fp.Cells("비고1").Value = "지상개폐기"
Next
End Sub
Private Sub t3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles t3.Click
For i As Integer = Me.fp.ActiveSheet.RowCount - 1 To 0 Step -1
If Me.fp.ActiveSheet.Cells(i, Me.fp.ACheckBox_ColIndex).Value = True Then Me.fp.Cells("비고1").Value = "PAD TR"
Next
End Sub
Private Sub t4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles t4.Click
For i As Integer = Me.fp.ActiveSheet.RowCount - 1 To 0 Step -1
If Me.fp.ActiveSheet.Cells(i, Me.fp.ACheckBox_ColIndex).Value = True Then Me.fp.Cells("비고1").Value = "지상변압기"
Next
End Sub
Private Sub view1_Arin_Before_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles fp.Arin_Before_KeyDown
Select Case e.KeyCode
Case Keys.Insert '//삽입
Me.bt_insertrow.PerformClick()
'Me.bt_addrow.PerformClick()
Case Keys.F5
e.Handled = True
e.SuppressKeyPress = True
If tbf1.Text <> "" Then
Me.fp.ActiveSheet.ActiveCell.Text = tbf1.Text.Trim()
End If
Case Keys.F6
e.Handled = True
e.SuppressKeyPress = True
If tbf2.Text <> "" Then Me.fp.ActiveSheet.ActiveCell.Text = tbf2.Text.Trim()
Case Keys.F7
e.Handled = True
e.SuppressKeyPress = True
If tbf3.Text <> "" Then Me.fp.ActiveSheet.ActiveCell.Text = tbf3.Text.Trim()
Case Keys.F8
e.Handled = True
e.SuppressKeyPress = True
If tbf4.Text <> "" Then Me.fp.ActiveSheet.ActiveCell.Text = tbf4.Text.Trim()
Case Keys.F9
e.Handled = True
e.SuppressKeyPress = True
If tbf5.Text <> "" Then Me.fp.ActiveSheet.ActiveCell.Text = tbf5.Text.Trim()
Case Keys.F10
e.Handled = True
e.SuppressKeyPress = True
If tbf6.Text <> "" Then Me.fp.ActiveSheet.ActiveCell.Text = tbf6.Text.Trim()
Case Keys.F11
e.Handled = True
e.SuppressKeyPress = True
If tbf7.Text <> "" Then Me.fp.ActiveSheet.ActiveCell.Text = tbf7.Text.Trim()
Case Keys.F12
e.Handled = True
e.SuppressKeyPress = True
If tbf8.Text <> "" Then Me.fp.ActiveSheet.ActiveCell.Text = tbf8.Text.Trim()
Case Keys.Enter '/마지막줄에 마지막 열이엿으면 bt_insertrow
With Me.fp.ActiveSheet
Select Case .ActiveColumn.Label.ToUpper
Case "전원측", "부하측", "1", "기기명", "선로명", "관리구A", "관리구B", "번호A", "번호B", "시공년월", "시공업체", "변압기명", "", "용량(형식)", "제조년월", "제조회사"
If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then
.ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
End If
Case "2" '//번호2
If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
If .Cells(.ActiveRowIndex, Me.fp.ColIndex2("1")).Text = .Cells(.ActiveRowIndex - 1, Me.fp.ColIndex2("1")).Text Then
.ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
End If
End If
Case "3" '//번호3
If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
If .Cells(.ActiveRowIndex, Me.fp.ColIndex2("1")).Text = .Cells(.ActiveRowIndex - 1, Me.fp.ColIndex2("1")).Text AndAlso _
.Cells(.ActiveRowIndex, Me.fp.ColIndex2("2")).Text = .Cells(.ActiveRowIndex - 1, Me.fp.ColIndex2("2")).Text Then
.ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
End If
End If
Case "4" '//번호4
If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
If .Cells(.ActiveRowIndex, Me.fp.ColIndex2("1")).Text = .Cells(.ActiveRowIndex - 1, Me.fp.ColIndex2("1")).Text AndAlso _
.Cells(.ActiveRowIndex, Me.fp.ColIndex2("2")).Text = .Cells(.ActiveRowIndex - 1, Me.fp.ColIndex2("2")).Text AndAlso _
.Cells(.ActiveRowIndex, Me.fp.ColIndex2("3")).Text = .Cells(.ActiveRowIndex - 1, Me.fp.ColIndex2("3")).Text Then
.ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
End If
End If
Case "5" '//번호5
If .ActiveCell.Text = "" AndAlso .ActiveRowIndex >= 1 Then '//선로명,전주번호1이 같다면 2번 복사
If .Cells(.ActiveRowIndex, Me.fp.ColIndex2("1")).Text = .Cells(.ActiveRowIndex - 1, Me.fp.ColIndex2("1")).Text AndAlso _
.Cells(.ActiveRowIndex, Me.fp.ColIndex2("2")).Text = .Cells(.ActiveRowIndex - 1, Me.fp.ColIndex2("2")).Text AndAlso _
.Cells(.ActiveRowIndex, Me.fp.ColIndex2("3")).Text = .Cells(.ActiveRowIndex - 1, Me.fp.ColIndex2("3")).Text AndAlso _
.Cells(.ActiveRowIndex, Me.fp.ColIndex2("4")).Text = .Cells(.ActiveRowIndex - 1, Me.fp.ColIndex2("4")).Text Then
.ActiveCell.Text = .Cells(.ActiveRowIndex - 1, .ActiveColumnIndex).Text
End If
End If
End Select
End With
End Select
End Sub
Private Sub view1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles fp.KeyDown
If (e.KeyCode = Keys.F10) Then
e.Handled = True
e.SuppressKeyPress = True
End If
view1_Arin_AddLog(sender, "원래뷰에서의 keydown 열번호=" & Me.fp.ActiveSheet.ActiveColumnIndex)
End Sub
Private Sub 열너비초기화ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 열너비초기화ToolStripMenuItem.Click
For c As Integer = 1 To fp_Sheet1.ColumnCount
fp_Sheet1.Columns(c - 1).Width = 100
Next
Application.DoEvents()
End Sub
End Class

419
Epole.fp13/입력폼/Config.Designer.vb generated Normal file
View File

@@ -0,0 +1,419 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Config
Inherits System.Windows.Forms.Form
'Form은 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.Label1 = New System.Windows.Forms.Label
Me.tb_ur = New System.Windows.Forms.TextBox
Me.Button1 = New System.Windows.Forms.Button
Me.Label2 = New System.Windows.Forms.Label
Me.Label3 = New System.Windows.Forms.Label
Me.cmb_ml = New System.Windows.Forms.ComboBox
Me.cmb_dl = New System.Windows.Forms.ComboBox
Me.Label4 = New System.Windows.Forms.Label
Me.tbgdfgd = New System.Windows.Forms.TextBox
Me.bt_fw = New System.Windows.Forms.Button
Me.bt_dv = New System.Windows.Forms.Button
Me.tb_fds = New System.Windows.Forms.TextBox
Me.Label5 = New System.Windows.Forms.Label
Me.bt_mm = New System.Windows.Forms.Button
Me.tb_mf = New System.Windows.Forms.TextBox
Me.Label6 = New System.Windows.Forms.Label
Me.Label7 = New System.Windows.Forms.Label
Me.bt_ok = New System.Windows.Forms.Button
Me.bt_c = New System.Windows.Forms.Button
Me.cmb_pc = New System.Windows.Forms.ComboBox
Me.Label8 = New System.Windows.Forms.Label
Me.TabControl1 = New System.Windows.Forms.TabControl
Me.TabPage1 = New System.Windows.Forms.TabPage
Me.cmb_sdt = New System.Windows.Forms.ComboBox
Me.Label9 = New System.Windows.Forms.Label
Me.TabPage2 = New System.Windows.Forms.TabPage
Me.SORTCHK = New System.Windows.Forms.CheckBox
Me.TabPage3 = New System.Windows.Forms.TabPage
Me.chb_numcolor = New MyControlOLEDBv2.MyCheckBox
Me.TabControl1.SuspendLayout()
Me.TabPage1.SuspendLayout()
Me.TabPage2.SuspendLayout()
Me.TabPage3.SuspendLayout()
Me.SuspendLayout()
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(33, 21)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(117, 12)
Me.Label1.TabIndex = 0
Me.Label1.Text = "사용자정의 실행파일"
'
'tb_ur
'
Me.tb_ur.Location = New System.Drawing.Point(156, 15)
Me.tb_ur.Name = "tb_ur"
Me.tb_ur.Size = New System.Drawing.Size(233, 21)
Me.tb_ur.TabIndex = 0
'
'Button1
'
Me.Button1.Location = New System.Drawing.Point(395, 15)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(56, 23)
Me.Button1.TabIndex = 1
Me.Button1.Text = "찾기"
Me.Button1.UseVisualStyleBackColor = True
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Location = New System.Drawing.Point(41, 47)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(109, 12)
Me.Label2.TabIndex = 3
Me.Label2.Text = "제작목록 시작 상태"
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Location = New System.Drawing.Point(6, 71)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(143, 12)
Me.Label3.TabIndex = 4
Me.Label3.Text = "(가공)세부목록 시작 상태"
'
'cmb_ml
'
Me.cmb_ml.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.cmb_ml.FormattingEnabled = True
Me.cmb_ml.Items.AddRange(New Object() {"일반", "최대화", "최소화"})
Me.cmb_ml.Location = New System.Drawing.Point(156, 42)
Me.cmb_ml.Name = "cmb_ml"
Me.cmb_ml.Size = New System.Drawing.Size(76, 20)
Me.cmb_ml.TabIndex = 2
'
'cmb_dl
'
Me.cmb_dl.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.cmb_dl.FormattingEnabled = True
Me.cmb_dl.Items.AddRange(New Object() {"일반", "최대화", "최소화"})
Me.cmb_dl.Location = New System.Drawing.Point(156, 68)
Me.cmb_dl.Name = "cmb_dl"
Me.cmb_dl.Size = New System.Drawing.Size(76, 20)
Me.cmb_dl.TabIndex = 3
'
'Label4
'
Me.Label4.AutoSize = True
Me.Label4.Location = New System.Drawing.Point(41, 149)
Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(109, 12)
Me.Label4.TabIndex = 7
Me.Label4.Text = "폼윈도우 글꼴 설정"
'
'tbgdfgd
'
Me.tbgdfgd.BackColor = System.Drawing.Color.Gainsboro
Me.tbgdfgd.Location = New System.Drawing.Point(156, 144)
Me.tbgdfgd.Name = "tbgdfgd"
Me.tbgdfgd.ReadOnly = True
Me.tbgdfgd.Size = New System.Drawing.Size(76, 21)
Me.tbgdfgd.TabIndex = 6
'
'bt_fw
'
Me.bt_fw.Location = New System.Drawing.Point(237, 143)
Me.bt_fw.Name = "bt_fw"
Me.bt_fw.Size = New System.Drawing.Size(56, 23)
Me.bt_fw.TabIndex = 7
Me.bt_fw.Text = "변경"
Me.bt_fw.UseVisualStyleBackColor = True
'
'bt_dv
'
Me.bt_dv.Location = New System.Drawing.Point(237, 170)
Me.bt_dv.Name = "bt_dv"
Me.bt_dv.Size = New System.Drawing.Size(56, 23)
Me.bt_dv.TabIndex = 9
Me.bt_dv.Text = "변경"
Me.bt_dv.UseVisualStyleBackColor = True
'
'tb_fds
'
Me.tb_fds.BackColor = System.Drawing.Color.Gainsboro
Me.tb_fds.Location = New System.Drawing.Point(156, 171)
Me.tb_fds.Name = "tb_fds"
Me.tb_fds.ReadOnly = True
Me.tb_fds.Size = New System.Drawing.Size(76, 21)
Me.tb_fds.TabIndex = 8
'
'Label5
'
Me.Label5.AutoSize = True
Me.Label5.Location = New System.Drawing.Point(41, 175)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(109, 12)
Me.Label5.TabIndex = 10
Me.Label5.Text = "데이터뷰 글꼴 설정"
'
'bt_mm
'
Me.bt_mm.Location = New System.Drawing.Point(237, 197)
Me.bt_mm.Name = "bt_mm"
Me.bt_mm.Size = New System.Drawing.Size(56, 23)
Me.bt_mm.TabIndex = 11
Me.bt_mm.Text = "변경"
Me.bt_mm.UseVisualStyleBackColor = True
'
'tb_mf
'
Me.tb_mf.BackColor = System.Drawing.Color.Gainsboro
Me.tb_mf.Location = New System.Drawing.Point(156, 198)
Me.tb_mf.Name = "tb_mf"
Me.tb_mf.ReadOnly = True
Me.tb_mf.Size = New System.Drawing.Size(76, 21)
Me.tb_mf.TabIndex = 10
'
'Label6
'
Me.Label6.AutoSize = True
Me.Label6.Location = New System.Drawing.Point(65, 201)
Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(85, 12)
Me.Label6.TabIndex = 13
Me.Label6.Text = "메뉴 글꼴 설정"
'
'Label7
'
Me.Label7.AutoSize = True
Me.Label7.ForeColor = System.Drawing.Color.Firebrick
Me.Label7.Location = New System.Drawing.Point(15, 397)
Me.Label7.Name = "Label7"
Me.Label7.Size = New System.Drawing.Size(221, 12)
Me.Label7.TabIndex = 16
Me.Label7.Text = "< 특정부분은 재시작 후에 적용됩니다 >"
'
'bt_ok
'
Me.bt_ok.Location = New System.Drawing.Point(12, 343)
Me.bt_ok.Name = "bt_ok"
Me.bt_ok.Size = New System.Drawing.Size(256, 49)
Me.bt_ok.TabIndex = 1
Me.bt_ok.Text = "확인"
Me.bt_ok.UseVisualStyleBackColor = True
'
'bt_c
'
Me.bt_c.Location = New System.Drawing.Point(274, 343)
Me.bt_c.Name = "bt_c"
Me.bt_c.Size = New System.Drawing.Size(222, 49)
Me.bt_c.TabIndex = 2
Me.bt_c.Text = "취소"
Me.bt_c.UseVisualStyleBackColor = True
'
'cmb_pc
'
Me.cmb_pc.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.cmb_pc.FormattingEnabled = True
Me.cmb_pc.Items.AddRange(New Object() {"일반", "최대화", "최소화"})
Me.cmb_pc.Location = New System.Drawing.Point(156, 117)
Me.cmb_pc.Name = "cmb_pc"
Me.cmb_pc.Size = New System.Drawing.Size(76, 20)
Me.cmb_pc.TabIndex = 5
'
'Label8
'
Me.Label8.AutoSize = True
Me.Label8.Location = New System.Drawing.Point(13, 122)
Me.Label8.Name = "Label8"
Me.Label8.Size = New System.Drawing.Size(137, 12)
Me.Label8.TabIndex = 19
Me.Label8.Text = "그림파일 관리 시작 상태"
'
'TabControl1
'
Me.TabControl1.Controls.Add(Me.TabPage1)
Me.TabControl1.Controls.Add(Me.TabPage2)
Me.TabControl1.Controls.Add(Me.TabPage3)
Me.TabControl1.Location = New System.Drawing.Point(12, 12)
Me.TabControl1.Name = "TabControl1"
Me.TabControl1.SelectedIndex = 0
Me.TabControl1.Size = New System.Drawing.Size(484, 329)
Me.TabControl1.TabIndex = 0
'
'TabPage1
'
Me.TabPage1.Controls.Add(Me.cmb_sdt)
Me.TabPage1.Controls.Add(Me.Label9)
Me.TabPage1.Controls.Add(Me.tb_ur)
Me.TabPage1.Controls.Add(Me.cmb_pc)
Me.TabPage1.Controls.Add(Me.Label1)
Me.TabPage1.Controls.Add(Me.Label8)
Me.TabPage1.Controls.Add(Me.Button1)
Me.TabPage1.Controls.Add(Me.Label2)
Me.TabPage1.Controls.Add(Me.Label3)
Me.TabPage1.Controls.Add(Me.cmb_ml)
Me.TabPage1.Controls.Add(Me.bt_mm)
Me.TabPage1.Controls.Add(Me.cmb_dl)
Me.TabPage1.Controls.Add(Me.tb_mf)
Me.TabPage1.Controls.Add(Me.Label4)
Me.TabPage1.Controls.Add(Me.Label6)
Me.TabPage1.Controls.Add(Me.tbgdfgd)
Me.TabPage1.Controls.Add(Me.bt_dv)
Me.TabPage1.Controls.Add(Me.bt_fw)
Me.TabPage1.Controls.Add(Me.tb_fds)
Me.TabPage1.Controls.Add(Me.Label5)
Me.TabPage1.Location = New System.Drawing.Point(4, 22)
Me.TabPage1.Name = "TabPage1"
Me.TabPage1.Padding = New System.Windows.Forms.Padding(3)
Me.TabPage1.Size = New System.Drawing.Size(476, 303)
Me.TabPage1.TabIndex = 0
Me.TabPage1.Text = "일반설정"
Me.TabPage1.UseVisualStyleBackColor = True
'
'cmb_sdt
'
Me.cmb_sdt.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.cmb_sdt.FormattingEnabled = True
Me.cmb_sdt.Items.AddRange(New Object() {"일반", "최대화", "최소화"})
Me.cmb_sdt.Location = New System.Drawing.Point(156, 93)
Me.cmb_sdt.Name = "cmb_sdt"
Me.cmb_sdt.Size = New System.Drawing.Size(76, 20)
Me.cmb_sdt.TabIndex = 4
'
'Label9
'
Me.Label9.AutoSize = True
Me.Label9.Location = New System.Drawing.Point(6, 96)
Me.Label9.Name = "Label9"
Me.Label9.Size = New System.Drawing.Size(143, 12)
Me.Label9.TabIndex = 21
Me.Label9.Text = "(수용)세부목록 시작 상태"
'
'TabPage2
'
Me.TabPage2.Controls.Add(Me.SORTCHK)
Me.TabPage2.Location = New System.Drawing.Point(4, 22)
Me.TabPage2.Name = "TabPage2"
Me.TabPage2.Padding = New System.Windows.Forms.Padding(3)
Me.TabPage2.Size = New System.Drawing.Size(476, 303)
Me.TabPage2.TabIndex = 1
Me.TabPage2.Text = "전주세부"
Me.TabPage2.UseVisualStyleBackColor = True
'
'SORTCHK
'
Me.SORTCHK.AutoSize = True
Me.SORTCHK.Location = New System.Drawing.Point(15, 16)
Me.SORTCHK.Name = "SORTCHK"
Me.SORTCHK.Size = New System.Drawing.Size(280, 16)
Me.SORTCHK.TabIndex = 0
Me.SORTCHK.Text = "정렬시 번호값이 비어있을경우 위에 표시합니다"
Me.SORTCHK.UseVisualStyleBackColor = True
Me.SORTCHK.Visible = False
'
'TabPage3
'
Me.TabPage3.Controls.Add(Me.chb_numcolor)
Me.TabPage3.Location = New System.Drawing.Point(4, 22)
Me.TabPage3.Name = "TabPage3"
Me.TabPage3.Size = New System.Drawing.Size(476, 303)
Me.TabPage3.TabIndex = 2
Me.TabPage3.Text = "가공출력"
Me.TabPage3.UseVisualStyleBackColor = True
'
'chb_numcolor
'
Me.chb_numcolor.AutoSize = True
Me.chb_numcolor.Checked = True
Me.chb_numcolor.CheckState = System.Windows.Forms.CheckState.Checked
Me.chb_numcolor.DB_BaseLabel = Nothing
Me.chb_numcolor.DB_CheckValue = Nothing
Me.chb_numcolor.DB_ColName = "chb_numcolor"
Me.chb_numcolor.DB_ITEM = False
Me.chb_numcolor.DB_OtherValue = False
Me.chb_numcolor.DB_Prompt = "chb_numcolor"
Me.chb_numcolor.DB_Type = System.Data.OleDb.OleDbType.Empty
Me.chb_numcolor.DB_UnCheckVal = Nothing
Me.chb_numcolor.DB_USERCLICK = False
Me.chb_numcolor.DB_WhereType = Nothing
Me.chb_numcolor.Location = New System.Drawing.Point(12, 17)
Me.chb_numcolor.Name = "chb_numcolor"
Me.chb_numcolor.Size = New System.Drawing.Size(124, 16)
Me.chb_numcolor.TabIndex = 0
Me.chb_numcolor.Text = "전주번호 색상구분"
Me.chb_numcolor.UseVisualStyleBackColor = True
Me.chb_numcolor.Value = Nothing
'
'Config
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 12.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(512, 415)
Me.Controls.Add(Me.TabControl1)
Me.Controls.Add(Me.bt_ok)
Me.Controls.Add(Me.bt_c)
Me.Controls.Add(Me.Label7)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D
Me.Name = "Config"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "프로그램 설정"
Me.TabControl1.ResumeLayout(False)
Me.TabPage1.ResumeLayout(False)
Me.TabPage1.PerformLayout()
Me.TabPage2.ResumeLayout(False)
Me.TabPage2.PerformLayout()
Me.TabPage3.ResumeLayout(False)
Me.TabPage3.PerformLayout()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents tb_ur As System.Windows.Forms.TextBox
Friend WithEvents Button1 As System.Windows.Forms.Button
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents Label3 As System.Windows.Forms.Label
Friend WithEvents cmb_ml As System.Windows.Forms.ComboBox
Friend WithEvents cmb_dl As System.Windows.Forms.ComboBox
Friend WithEvents Label4 As System.Windows.Forms.Label
Friend WithEvents tbgdfgd As System.Windows.Forms.TextBox
Friend WithEvents bt_fw As System.Windows.Forms.Button
Friend WithEvents bt_dv As System.Windows.Forms.Button
Friend WithEvents tb_fds As System.Windows.Forms.TextBox
Friend WithEvents Label5 As System.Windows.Forms.Label
Friend WithEvents bt_mm As System.Windows.Forms.Button
Friend WithEvents tb_mf As System.Windows.Forms.TextBox
Friend WithEvents Label6 As System.Windows.Forms.Label
Friend WithEvents Label7 As System.Windows.Forms.Label
Friend WithEvents bt_ok As System.Windows.Forms.Button
Friend WithEvents bt_c As System.Windows.Forms.Button
Friend WithEvents cmb_pc As System.Windows.Forms.ComboBox
Friend WithEvents Label8 As System.Windows.Forms.Label
Friend WithEvents TabControl1 As System.Windows.Forms.TabControl
Friend WithEvents TabPage1 As System.Windows.Forms.TabPage
Friend WithEvents TabPage2 As System.Windows.Forms.TabPage
Friend WithEvents SORTCHK As System.Windows.Forms.CheckBox
Friend WithEvents Label9 As System.Windows.Forms.Label
Friend WithEvents cmb_sdt As System.Windows.Forms.ComboBox
Friend WithEvents TabPage3 As System.Windows.Forms.TabPage
Friend WithEvents chb_numcolor As MyControlOLEDBv2.MyCheckBox
End Class

View File

@@ -0,0 +1,120 @@
<?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>
</root>

View File

@@ -0,0 +1,152 @@
Public Class Config
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_c.Click
Me.Dispose()
End Sub
Private Sub Config_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.tb_ur.Text = PICmanFile
Select Case MakeState.ToUpper
Case "MAX"
Me.cmb_ml.Text = "최대화"
Case "MIN"
Me.cmb_ml.Text = "최소화"
Case Else
Me.cmb_ml.Text = "일반"
End Select
Select Case PoleState.ToUpper
Case "MAX"
Me.cmb_dl.Text = "최대화"
Case "MIN"
Me.cmb_dl.Text = "최소화"
Case Else
Me.cmb_dl.Text = "일반"
End Select
Select Case PoleEtcState.ToUpper
Case "MAX"
Me.cmb_sdt.Text = "최대화"
Case "MIN"
Me.cmb_sdt.Text = "최소화"
Case Else
Me.cmb_sdt.Text = "일반"
End Select
Select Case PicState.ToUpper
Case "MAX"
Me.cmb_pc.Text = "최대화"
Case "MIN"
Me.cmb_pc.Text = "최소화"
Case Else
Me.cmb_pc.Text = "일반"
End Select
Me.tbgdfgd.Text = FormFont.FontName & "," & FormFont.FontSize
Me.tb_fds.Text = ViewFont.FontName & "," & ViewFont.FontSize
Me.tb_mf.Text = MenuFont.FontName & "," & MenuFont.FontSize
Me.SORTCHK.Checked = SORTNULL
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim A As New OpenFileDialog
If A.ShowDialog <> System.Windows.Forms.DialogResult.OK Then Return
Me.tb_ur.Text = A.FileName.Replace(My.Application.Info.DirectoryPath, "")
End Sub
Private Sub bt_확인_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_ok.Click
Dim INI As New MyINI2(My.Application.Info.DirectoryPath & "\epole.ini")
Dim SpINI As New MyINI2(My.Application.Info.DirectoryPath & "\spread.ini")
INI.Write("main", "picman", Me.tb_ur.Text)
PICmanFile = Me.tb_ur.Text
Select Case Me.cmb_ml.Text
Case "최대화"
INI.Write("main", "MakeState", "max")
MakeState = "max"
Case "최소화"
INI.Write("main", "MakeState", "min")
MakeState = "min"
Case Else
MakeState = "normal"
INI.Write("nor", "MakeState", "nor")
End Select
Select Case Me.cmb_dl.Text
Case "최대화"
INI.Write("main", "PoleState", "max")
PoleState = "max"
Case "최소화"
INI.Write("main", "PoleState", "min")
PoleState = "min"
Case Else
INI.Write("main", "PoleState", "nor")
PoleState = "nor"
End Select
Select Case Me.cmb_sdt.Text
Case "최대화"
INI.Write("main", "PoleEtcState", "max")
PoleState = "max"
Case "최소화"
INI.Write("main", "PoleEtcState", "min")
PoleState = "min"
Case Else
INI.Write("main", "PoleEtcState", "nor")
PoleState = "nor"
End Select
Select Case Me.cmb_pc.Text
Case "최대화"
INI.Write("main", "PicState", "max")
PicState = "max"
Case "최소화"
INI.Write("main", "PicState", "min")
PicState = "min"
Case Else
INI.Write("main", "PicState", "nor")
PicState = "nor"
End Select
SORTNULL = Me.SORTCHK.Checked
NUMCOLOR = Me.chb_numcolor.Checked
INI.Write("MAIN", "SortNull", Me.SORTCHK.Checked)
INI.Write("main", "formfont", Me.tbgdfgd.Text)
INI.Write("main", "viewfont", Me.tb_fds.Text)
INI.Write("main", "menufont", Me.tb_mf.Text)
INI.Write("main", "NUMCOLOR", Me.chb_numcolor.Checked)
FormFont.FontName = Me.tbgdfgd.Text.Split(",")(0)
FormFont.FontSize = Me.tbgdfgd.Text.Split(",")(1)
ViewFont.FontName = Me.tb_fds.Text.Split(",")(0)
ViewFont.FontSize = Me.tb_fds.Text.Split(",")(1)
MenuFont.FontName = Me.tb_mf.Text.Split(",")(0)
MenuFont.FontSize = Me.tb_mf.Text.Split(",")(1)
MsgBox("저장이완료되었습니다\n\n일부데이터는 프로그램이 재시작되면 반영됩니다.", MsgBoxStyle.Information, "저장완료")
Me.Dispose()
End Sub
Private Sub bt_폼윈도버튼_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_fw.Click
Dim A As New FontDialog
Dim OFont As New Font(FormFont.FontName, FormFont.FontSize, Me.Font.Style)
A.Font = OFont
If A.ShowDialog <> System.Windows.Forms.DialogResult.OK Then Return
Me.tbgdfgd.Text = A.Font.Name & "," & A.Font.Size
End Sub
Private Sub bt_데이터뷰버튼_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_dv.Click
Dim A As New FontDialog
Dim OFont As New Font(ViewFont.FontName, ViewFont.FontSize, Me.Font.Style)
A.Font = OFont
If A.ShowDialog <> System.Windows.Forms.DialogResult.OK Then Return
Me.tb_fds.Text = A.Font.Name & "," & A.Font.Size
End Sub
Private Sub bt_메뉴버튼_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_mm.Click
Dim A As New FontDialog
Dim OFont As New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style)
A.Font = OFont
If A.ShowDialog <> System.Windows.Forms.DialogResult.OK Then Return
Me.tb_mf.Text = A.Font.Name & "," & A.Font.Size
End Sub
End Class

View File

@@ -0,0 +1,872 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class FileManager
Inherits System.Windows.Forms.Form
'Form은 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.TabControl1 = New System.Windows.Forms.TabControl
Me.TabPage1 = New System.Windows.Forms.TabPage
Me.GroupBox2 = New System.Windows.Forms.GroupBox
Me.lb_newfilename = New System.Windows.Forms.Label
Me.Label6 = New System.Windows.Forms.Label
Me.Label10 = New System.Windows.Forms.Label
Me.Button2 = New System.Windows.Forms.Button
Me.tb_ren_right = New System.Windows.Forms.TextBox
Me.Label7 = New System.Windows.Forms.Label
Me.Label8 = New System.Windows.Forms.Label
Me.tb_ren_left = New System.Windows.Forms.TextBox
Me.GroupBox1 = New System.Windows.Forms.GroupBox
Me.Button1 = New System.Windows.Forms.Button
Me.Label5 = New System.Windows.Forms.Label
Me.Label4 = New System.Windows.Forms.Label
Me.Label3 = New System.Windows.Forms.Label
Me.tb_chg2 = New System.Windows.Forms.TextBox
Me.Label2 = New System.Windows.Forms.Label
Me.tb_chg1 = New System.Windows.Forms.TextBox
Me.Label1 = New System.Windows.Forms.Label
Me.TabPage2 = New System.Windows.Forms.TabPage
Me.GroupBox4 = New System.Windows.Forms.GroupBox
Me.tn_endrng = New System.Windows.Forms.TextBox
Me.Label11 = New System.Windows.Forms.Label
Me.tb_sttrng = New System.Windows.Forms.TextBox
Me.tb_ref6 = New System.Windows.Forms.TextBox
Me.tb_ref5 = New System.Windows.Forms.TextBox
Me.tb_ref4 = New System.Windows.Forms.TextBox
Me.tb_ref3 = New System.Windows.Forms.TextBox
Me.tb_ref2 = New System.Windows.Forms.TextBox
Me.MyFpoint2 = New MyControlOLEDBv2.MyFpoint
Me.MyFpoint2_Sheet1 = New FarPoint.Win.Spread.SheetView
Me.Label17 = New System.Windows.Forms.Label
Me.tb_ref1 = New System.Windows.Forms.TextBox
Me.Button5 = New System.Windows.Forms.Button
Me.Button4 = New System.Windows.Forms.Button
Me.GroupBox3 = New System.Windows.Forms.GroupBox
Me.Button3 = New System.Windows.Forms.Button
Me.Label9 = New System.Windows.Forms.Label
Me.Label13 = New System.Windows.Forms.Label
Me.tb_del1 = New System.Windows.Forms.TextBox
Me.Label14 = New System.Windows.Forms.Label
Me.ToolStrip1 = New System.Windows.Forms.ToolStrip
Me.bt_picselect = New System.Windows.Forms.ToolStripButton
Me.ToolStripLabel2 = New System.Windows.Forms.ToolStripLabel
Me.cmb_picEXT = New System.Windows.Forms.ToolStripComboBox
Me.ToolStripSeparator3 = New System.Windows.Forms.ToolStripSeparator
Me.CHK_SUBDIR = New System.Windows.Forms.ToolStripButton
Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator
Me.bt_exit = New System.Windows.Forms.ToolStripButton
Me.StatusStrip1 = New System.Windows.Forms.StatusStrip
Me.pbar1 = New System.Windows.Forms.ToolStripProgressBar
Me.lb_change = New System.Windows.Forms.ToolStripStatusLabel
Me.lb_msg = New System.Windows.Forms.ToolStripStatusLabel
Me.lb_total = New System.Windows.Forms.ToolStripStatusLabel
Me.MyFpoint1 = New MyControlOLEDBv2.MyFpoint
Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.cm_out = New System.Windows.Forms.ToolStripMenuItem
Me.cm_out_all = New System.Windows.Forms.ToolStripMenuItem
Me.cb_out_filter = New System.Windows.Forms.ToolStripMenuItem
Me.cm_clear = New System.Windows.Forms.ToolStripMenuItem
Me.MyFpoint1_Sheet1 = New FarPoint.Win.Spread.SheetView
Me.DirListBox1 = New Microsoft.VisualBasic.Compatibility.VB6.DirListBox
Me.DriveListBox1 = New Microsoft.VisualBasic.Compatibility.VB6.DriveListBox
Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components)
Me.TabControl1.SuspendLayout()
Me.TabPage1.SuspendLayout()
Me.GroupBox2.SuspendLayout()
Me.GroupBox1.SuspendLayout()
Me.TabPage2.SuspendLayout()
Me.GroupBox4.SuspendLayout()
CType(Me.MyFpoint2, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.MyFpoint2_Sheet1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.GroupBox3.SuspendLayout()
Me.ToolStrip1.SuspendLayout()
Me.StatusStrip1.SuspendLayout()
CType(Me.MyFpoint1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.ContextMenuStrip1.SuspendLayout()
CType(Me.MyFpoint1_Sheet1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'TabControl1
'
Me.TabControl1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.TabControl1.Controls.Add(Me.TabPage1)
Me.TabControl1.Controls.Add(Me.TabPage2)
Me.TabControl1.Location = New System.Drawing.Point(0, 42)
Me.TabControl1.Name = "TabControl1"
Me.TabControl1.SelectedIndex = 0
Me.TabControl1.Size = New System.Drawing.Size(704, 366)
Me.TabControl1.TabIndex = 0
'
'TabPage1
'
Me.TabPage1.Controls.Add(Me.GroupBox2)
Me.TabPage1.Controls.Add(Me.GroupBox1)
Me.TabPage1.Location = New System.Drawing.Point(4, 22)
Me.TabPage1.Name = "TabPage1"
Me.TabPage1.Padding = New System.Windows.Forms.Padding(3)
Me.TabPage1.Size = New System.Drawing.Size(696, 340)
Me.TabPage1.TabIndex = 0
Me.TabPage1.Text = "이름 변경"
Me.TabPage1.UseVisualStyleBackColor = True
'
'GroupBox2
'
Me.GroupBox2.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.GroupBox2.Controls.Add(Me.lb_newfilename)
Me.GroupBox2.Controls.Add(Me.Label6)
Me.GroupBox2.Controls.Add(Me.Label10)
Me.GroupBox2.Controls.Add(Me.Button2)
Me.GroupBox2.Controls.Add(Me.tb_ren_right)
Me.GroupBox2.Controls.Add(Me.Label7)
Me.GroupBox2.Controls.Add(Me.Label8)
Me.GroupBox2.Controls.Add(Me.tb_ren_left)
Me.GroupBox2.Location = New System.Drawing.Point(8, 121)
Me.GroupBox2.Name = "GroupBox2"
Me.GroupBox2.Size = New System.Drawing.Size(679, 133)
Me.GroupBox2.TabIndex = 1
Me.GroupBox2.TabStop = False
Me.GroupBox2.Text = "붙이기(파일명의 왼쪽 또는 오른쪽에 특정 문자를 붙입니다)"
'
'lb_newfilename
'
Me.lb_newfilename.AutoSize = True
Me.lb_newfilename.ForeColor = System.Drawing.Color.SeaGreen
Me.lb_newfilename.Location = New System.Drawing.Point(11, 74)
Me.lb_newfilename.Name = "lb_newfilename"
Me.lb_newfilename.Size = New System.Drawing.Size(177, 12)
Me.lb_newfilename.TabIndex = 9
Me.lb_newfilename.Text = "* 새로운 파일명 : testfilename1"
'
'Label6
'
Me.Label6.AutoSize = True
Me.Label6.Location = New System.Drawing.Point(444, 29)
Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(73, 12)
Me.Label6.TabIndex = 12
Me.Label6.Text = "를 붙입니다."
'
'Label10
'
Me.Label10.AutoSize = True
Me.Label10.ForeColor = System.Drawing.Color.Firebrick
Me.Label10.Location = New System.Drawing.Point(11, 54)
Me.Label10.Name = "Label10"
Me.Label10.Size = New System.Drawing.Size(194, 12)
Me.Label10.TabIndex = 8
Me.Label10.Text = "* 예 ) 원본파일명 : testfilename1"
'
'Button2
'
Me.Button2.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button2.Image = Global.EpoleNet.My.Resources.Resources.new_321
Me.Button2.Location = New System.Drawing.Point(589, 25)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(75, 59)
Me.Button2.TabIndex = 8
Me.Button2.Text = "실행"
Me.Button2.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.Button2.UseVisualStyleBackColor = True
'
'tb_ren_right
'
Me.tb_ren_right.BackColor = System.Drawing.Color.Linen
Me.tb_ren_right.Location = New System.Drawing.Point(336, 25)
Me.tb_ren_right.Name = "tb_ren_right"
Me.tb_ren_right.Size = New System.Drawing.Size(100, 21)
Me.tb_ren_right.TabIndex = 11
'
'Label7
'
Me.Label7.AutoSize = True
Me.Label7.Location = New System.Drawing.Point(219, 29)
Me.Label7.Name = "Label7"
Me.Label7.Size = New System.Drawing.Size(113, 12)
Me.Label7.TabIndex = 10
Me.Label7.Text = "를 붙이고, 오른쪽에"
'
'Label8
'
Me.Label8.AutoSize = True
Me.Label8.Location = New System.Drawing.Point(11, 29)
Me.Label8.Name = "Label8"
Me.Label8.Size = New System.Drawing.Size(93, 12)
Me.Label8.TabIndex = 8
Me.Label8.Text = "파일명의 왼쪽에"
'
'tb_ren_left
'
Me.tb_ren_left.Location = New System.Drawing.Point(110, 25)
Me.tb_ren_left.Name = "tb_ren_left"
Me.tb_ren_left.Size = New System.Drawing.Size(100, 21)
Me.tb_ren_left.TabIndex = 9
'
'GroupBox1
'
Me.GroupBox1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.GroupBox1.Controls.Add(Me.Button1)
Me.GroupBox1.Controls.Add(Me.Label5)
Me.GroupBox1.Controls.Add(Me.Label4)
Me.GroupBox1.Controls.Add(Me.Label3)
Me.GroupBox1.Controls.Add(Me.tb_chg2)
Me.GroupBox1.Controls.Add(Me.Label2)
Me.GroupBox1.Controls.Add(Me.tb_chg1)
Me.GroupBox1.Controls.Add(Me.Label1)
Me.GroupBox1.Location = New System.Drawing.Point(8, 15)
Me.GroupBox1.Name = "GroupBox1"
Me.GroupBox1.Size = New System.Drawing.Size(679, 100)
Me.GroupBox1.TabIndex = 0
Me.GroupBox1.TabStop = False
Me.GroupBox1.Text = "치환(파일명중 일부를 지정된 문자로 변경합니다)"
'
'Button1
'
Me.Button1.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button1.Image = Global.EpoleNet.My.Resources.Resources.new_321
Me.Button1.Location = New System.Drawing.Point(589, 24)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(75, 59)
Me.Button1.TabIndex = 7
Me.Button1.Text = "실행"
Me.Button1.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.Button1.UseVisualStyleBackColor = True
'
'Label5
'
Me.Label5.AutoSize = True
Me.Label5.ForeColor = System.Drawing.Color.Firebrick
Me.Label5.Location = New System.Drawing.Point(19, 75)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(409, 12)
Me.Label5.TabIndex = 6
Me.Label5.Text = "* 여러대상을 포함하려면 각 대상을 / 로 묶어주세요. (예: _01/_02/_03 )"
'
'Label4
'
Me.Label4.AutoSize = True
Me.Label4.ForeColor = System.Drawing.Color.Firebrick
Me.Label4.Location = New System.Drawing.Point(19, 55)
Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(415, 12)
Me.Label4.TabIndex = 5
Me.Label4.Text = "* 일부문자를 제거하려면 두번재 입력하는곳에 아무것도 입력하지 마십시요."
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Location = New System.Drawing.Point(425, 28)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(85, 12)
Me.Label3.TabIndex = 4
Me.Label3.Text = "로 변경합니다."
'
'tb_chg2
'
Me.tb_chg2.BackColor = System.Drawing.Color.Linen
Me.tb_chg2.Location = New System.Drawing.Point(317, 24)
Me.tb_chg2.Name = "tb_chg2"
Me.tb_chg2.Size = New System.Drawing.Size(100, 21)
Me.tb_chg2.TabIndex = 3
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Location = New System.Drawing.Point(200, 28)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(109, 12)
Me.Label2.TabIndex = 2
Me.Label2.Text = "가 들어있는 부분을"
'
'tb_chg1
'
Me.tb_chg1.Location = New System.Drawing.Point(91, 24)
Me.tb_chg1.Name = "tb_chg1"
Me.tb_chg1.Size = New System.Drawing.Size(100, 21)
Me.tb_chg1.TabIndex = 1
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(21, 28)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(53, 12)
Me.Label1.TabIndex = 0
Me.Label1.Text = "파일명중"
'
'TabPage2
'
Me.TabPage2.Controls.Add(Me.GroupBox4)
Me.TabPage2.Controls.Add(Me.GroupBox3)
Me.TabPage2.Location = New System.Drawing.Point(4, 22)
Me.TabPage2.Name = "TabPage2"
Me.TabPage2.Padding = New System.Windows.Forms.Padding(3)
Me.TabPage2.Size = New System.Drawing.Size(696, 340)
Me.TabPage2.TabIndex = 1
Me.TabPage2.Text = "파일 삭제"
Me.TabPage2.UseVisualStyleBackColor = True
'
'GroupBox4
'
Me.GroupBox4.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.GroupBox4.Controls.Add(Me.tn_endrng)
Me.GroupBox4.Controls.Add(Me.Label11)
Me.GroupBox4.Controls.Add(Me.tb_sttrng)
Me.GroupBox4.Controls.Add(Me.tb_ref6)
Me.GroupBox4.Controls.Add(Me.tb_ref5)
Me.GroupBox4.Controls.Add(Me.tb_ref4)
Me.GroupBox4.Controls.Add(Me.tb_ref3)
Me.GroupBox4.Controls.Add(Me.tb_ref2)
Me.GroupBox4.Controls.Add(Me.MyFpoint2)
Me.GroupBox4.Controls.Add(Me.Label17)
Me.GroupBox4.Controls.Add(Me.tb_ref1)
Me.GroupBox4.Controls.Add(Me.Button5)
Me.GroupBox4.Controls.Add(Me.Button4)
Me.GroupBox4.Location = New System.Drawing.Point(6, 113)
Me.GroupBox4.Name = "GroupBox4"
Me.GroupBox4.Size = New System.Drawing.Size(679, 221)
Me.GroupBox4.TabIndex = 8
Me.GroupBox4.TabStop = False
Me.GroupBox4.Text = "목록삭제(삭제할 파일목록을 참조합니다)"
'
'tn_endrng
'
Me.tn_endrng.BackColor = System.Drawing.Color.LightGreen
Me.tn_endrng.Location = New System.Drawing.Point(612, 195)
Me.tn_endrng.Name = "tn_endrng"
Me.tn_endrng.Size = New System.Drawing.Size(40, 21)
Me.tn_endrng.TabIndex = 28
Me.tn_endrng.Text = "0"
Me.tn_endrng.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'Label11
'
Me.Label11.AutoSize = True
Me.Label11.Location = New System.Drawing.Point(530, 202)
Me.Label11.Name = "Label11"
Me.Label11.Size = New System.Drawing.Size(29, 12)
Me.Label11.TabIndex = 26
Me.Label11.Text = "범위"
'
'tb_sttrng
'
Me.tb_sttrng.BackColor = System.Drawing.Color.LightGreen
Me.tb_sttrng.Location = New System.Drawing.Point(566, 195)
Me.tb_sttrng.Name = "tb_sttrng"
Me.tb_sttrng.Size = New System.Drawing.Size(40, 21)
Me.tb_sttrng.TabIndex = 27
Me.tb_sttrng.Text = "1"
Me.tb_sttrng.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'tb_ref6
'
Me.tb_ref6.Location = New System.Drawing.Point(419, 195)
Me.tb_ref6.Name = "tb_ref6"
Me.tb_ref6.Size = New System.Drawing.Size(61, 21)
Me.tb_ref6.TabIndex = 25
Me.tb_ref6.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'tb_ref5
'
Me.tb_ref5.Location = New System.Drawing.Point(352, 195)
Me.tb_ref5.Name = "tb_ref5"
Me.tb_ref5.Size = New System.Drawing.Size(61, 21)
Me.tb_ref5.TabIndex = 24
Me.tb_ref5.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'tb_ref4
'
Me.tb_ref4.Location = New System.Drawing.Point(285, 195)
Me.tb_ref4.Name = "tb_ref4"
Me.tb_ref4.Size = New System.Drawing.Size(61, 21)
Me.tb_ref4.TabIndex = 23
Me.tb_ref4.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'tb_ref3
'
Me.tb_ref3.Location = New System.Drawing.Point(218, 194)
Me.tb_ref3.Name = "tb_ref3"
Me.tb_ref3.Size = New System.Drawing.Size(61, 21)
Me.tb_ref3.TabIndex = 22
Me.tb_ref3.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'tb_ref2
'
Me.tb_ref2.Location = New System.Drawing.Point(151, 194)
Me.tb_ref2.Name = "tb_ref2"
Me.tb_ref2.Size = New System.Drawing.Size(61, 21)
Me.tb_ref2.TabIndex = 21
Me.tb_ref2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'MyFpoint2
'
Me.MyFpoint2.AAutoAddrowInLast = Nothing
Me.MyFpoint2.AccessibleDescription = "MyFpoint2, Sheet1, Row 0, Column 0, "
Me.MyFpoint2.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.MyFpoint2.BackColor = System.Drawing.Color.Transparent
Me.MyFpoint2.CurrentDel = False
Me.MyFpoint2.DeleteKey = False
Me.MyFpoint2.EditFromSpace = True
Me.MyFpoint2.FIRST_FOCUSINDEX = 0
Me.MyFpoint2.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded
Me.MyFpoint2.Location = New System.Drawing.Point(6, 20)
Me.MyFpoint2.Name = "MyFpoint2"
Me.MyFpoint2.NextRow_Index = -1
Me.MyFpoint2.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.MyFpoint2.SameRowheight = True
Me.MyFpoint2.Sheets.AddRange(New FarPoint.Win.Spread.SheetView() {Me.MyFpoint2_Sheet1})
Me.MyFpoint2.Size = New System.Drawing.Size(577, 168)
Me.MyFpoint2.TabIndex = 20
Me.MyFpoint2.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded
Me.MyFpoint2.선택줄번호 = CType(-1, Short)
'
'MyFpoint2_Sheet1
'
Me.MyFpoint2_Sheet1.Reset()
Me.MyFpoint2_Sheet1.SheetName = "Sheet1"
'Formulas and custom names must be loaded with R1C1 reference style
Me.MyFpoint2_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1
Me.MyFpoint2_Sheet1.ColumnCount = 3
Me.MyFpoint2_Sheet1.RowCount = 0
Me.MyFpoint2_Sheet1.ActiveRowIndex = -1
Me.MyFpoint2_Sheet1.AllowNoteEdit = True
Me.MyFpoint2_Sheet1.ColumnHeader.Cells.Get(0, 0).ColumnSpan = 3
Me.MyFpoint2_Sheet1.ColumnHeader.Cells.Get(0, 0).Value = "파일을 불러오세요"
Me.MyFpoint2_Sheet1.RowHeader.Columns.Default.Resizable = True
Me.MyFpoint2_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1
Me.MyFpoint2.SetActiveViewport(0, -1, 0)
'
'Label17
'
Me.Label17.AutoSize = True
Me.Label17.Location = New System.Drawing.Point(8, 199)
Me.Label17.Name = "Label17"
Me.Label17.Size = New System.Drawing.Size(69, 12)
Me.Label17.TabIndex = 14
Me.Label17.Text = "파일명 조합"
'
'tb_ref1
'
Me.tb_ref1.Location = New System.Drawing.Point(84, 194)
Me.tb_ref1.Name = "tb_ref1"
Me.tb_ref1.Size = New System.Drawing.Size(61, 21)
Me.tb_ref1.TabIndex = 15
Me.tb_ref1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'Button5
'
Me.Button5.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button5.Location = New System.Drawing.Point(589, 20)
Me.Button5.Name = "Button5"
Me.Button5.Size = New System.Drawing.Size(75, 87)
Me.Button5.TabIndex = 8
Me.Button5.Text = "불러오기"
Me.ToolTip1.SetToolTip(Me.Button5, "삭제될 파일목록을 가진 엑셀파일을 불러옵니다")
Me.Button5.UseVisualStyleBackColor = True
'
'Button4
'
Me.Button4.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button4.Image = Global.EpoleNet.My.Resources.Resources.new_321
Me.Button4.Location = New System.Drawing.Point(589, 129)
Me.Button4.Name = "Button4"
Me.Button4.Size = New System.Drawing.Size(75, 59)
Me.Button4.TabIndex = 7
Me.Button4.Text = "실행"
Me.Button4.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.Button4.UseVisualStyleBackColor = True
'
'GroupBox3
'
Me.GroupBox3.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.GroupBox3.Controls.Add(Me.Button3)
Me.GroupBox3.Controls.Add(Me.Label9)
Me.GroupBox3.Controls.Add(Me.Label13)
Me.GroupBox3.Controls.Add(Me.tb_del1)
Me.GroupBox3.Controls.Add(Me.Label14)
Me.GroupBox3.Location = New System.Drawing.Point(6, 7)
Me.GroupBox3.Name = "GroupBox3"
Me.GroupBox3.Size = New System.Drawing.Size(679, 100)
Me.GroupBox3.TabIndex = 1
Me.GroupBox3.TabStop = False
Me.GroupBox3.Text = "유사단어삭제(지정된 문자가 포함된 파일을 삭제합니다)"
'
'Button3
'
Me.Button3.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button3.Image = Global.EpoleNet.My.Resources.Resources.new_321
Me.Button3.Location = New System.Drawing.Point(589, 24)
Me.Button3.Name = "Button3"
Me.Button3.Size = New System.Drawing.Size(75, 59)
Me.Button3.TabIndex = 7
Me.Button3.Text = "실행"
Me.Button3.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.Button3.UseVisualStyleBackColor = True
'
'Label9
'
Me.Label9.AutoSize = True
Me.Label9.ForeColor = System.Drawing.Color.Firebrick
Me.Label9.Location = New System.Drawing.Point(21, 67)
Me.Label9.Name = "Label9"
Me.Label9.Size = New System.Drawing.Size(409, 12)
Me.Label9.TabIndex = 6
Me.Label9.Text = "* 여러대상을 포함하려면 각 대상을 / 로 묶어주세요. (예: _01/_02/_03 )"
'
'Label13
'
Me.Label13.AutoSize = True
Me.Label13.Location = New System.Drawing.Point(200, 28)
Me.Label13.Name = "Label13"
Me.Label13.Size = New System.Drawing.Size(173, 12)
Me.Label13.TabIndex = 2
Me.Label13.Text = "가 들어있는 파일을 삭제합니다"
'
'tb_del1
'
Me.tb_del1.Location = New System.Drawing.Point(91, 24)
Me.tb_del1.Name = "tb_del1"
Me.tb_del1.Size = New System.Drawing.Size(100, 21)
Me.tb_del1.TabIndex = 1
'
'Label14
'
Me.Label14.AutoSize = True
Me.Label14.Location = New System.Drawing.Point(21, 28)
Me.Label14.Name = "Label14"
Me.Label14.Size = New System.Drawing.Size(53, 12)
Me.Label14.TabIndex = 0
Me.Label14.Text = "파일명중"
'
'ToolStrip1
'
Me.ToolStrip1.ImageScalingSize = New System.Drawing.Size(32, 32)
Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.bt_picselect, Me.ToolStripLabel2, Me.cmb_picEXT, Me.ToolStripSeparator3, Me.CHK_SUBDIR, Me.ToolStripSeparator1, Me.bt_exit})
Me.ToolStrip1.Location = New System.Drawing.Point(0, 0)
Me.ToolStrip1.Name = "ToolStrip1"
Me.ToolStrip1.Size = New System.Drawing.Size(932, 39)
Me.ToolStrip1.TabIndex = 8
Me.ToolStrip1.Text = "ToolStrip1"
'
'bt_picselect
'
Me.bt_picselect.Image = Global.EpoleNet.My.Resources.Resources.open_32
Me.bt_picselect.ImageTransparentColor = System.Drawing.Color.Magenta
Me.bt_picselect.Name = "bt_picselect"
Me.bt_picselect.Size = New System.Drawing.Size(115, 36)
Me.bt_picselect.Text = "그림폴더선택"
Me.bt_picselect.ToolTipText = "그림파일이 존재하는 폴더를 선택합니다"
Me.bt_picselect.Visible = False
'
'ToolStripLabel2
'
Me.ToolStripLabel2.Name = "ToolStripLabel2"
Me.ToolStripLabel2.Size = New System.Drawing.Size(55, 36)
Me.ToolStripLabel2.Text = "그림종류"
'
'cmb_picEXT
'
Me.cmb_picEXT.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.cmb_picEXT.Items.AddRange(New Object() {"JPG", "PNG", "GIF", "BMP"})
Me.cmb_picEXT.Name = "cmb_picEXT"
Me.cmb_picEXT.Size = New System.Drawing.Size(75, 39)
Me.cmb_picEXT.ToolTipText = "그림파일의 종류를 선택합니다"
'
'ToolStripSeparator3
'
Me.ToolStripSeparator3.Name = "ToolStripSeparator3"
Me.ToolStripSeparator3.Size = New System.Drawing.Size(6, 39)
'
'CHK_SUBDIR
'
Me.CHK_SUBDIR.Checked = True
Me.CHK_SUBDIR.CheckOnClick = True
Me.CHK_SUBDIR.CheckState = System.Windows.Forms.CheckState.Checked
Me.CHK_SUBDIR.Image = Global.EpoleNet.My.Resources.Resources.opts_24
Me.CHK_SUBDIR.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None
Me.CHK_SUBDIR.ImageTransparentColor = System.Drawing.Color.Magenta
Me.CHK_SUBDIR.Name = "CHK_SUBDIR"
Me.CHK_SUBDIR.Size = New System.Drawing.Size(151, 36)
Me.CHK_SUBDIR.Text = "실행시 하위폴더 참조"
Me.CHK_SUBDIR.ToolTipText = "파일목록을 검색할때. 하위폴더의 파일까지 검색합니다"
'
'ToolStripSeparator1
'
Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 39)
'
'bt_exit
'
Me.bt_exit.Checked = True
Me.bt_exit.CheckState = System.Windows.Forms.CheckState.Checked
Me.bt_exit.Font = New System.Drawing.Font("맑은 고딕", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.bt_exit.Image = Global.EpoleNet.My.Resources.Resources.stop_32
Me.bt_exit.ImageTransparentColor = System.Drawing.Color.Magenta
Me.bt_exit.Name = "bt_exit"
Me.bt_exit.Size = New System.Drawing.Size(83, 36)
Me.bt_exit.Text = "닫기(&X)"
'
'StatusStrip1
'
Me.StatusStrip1.Font = New System.Drawing.Font("맑은 고딕", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.pbar1, Me.lb_change, Me.lb_msg, Me.lb_total})
Me.StatusStrip1.Location = New System.Drawing.Point(0, 608)
Me.StatusStrip1.Name = "StatusStrip1"
Me.StatusStrip1.Size = New System.Drawing.Size(932, 26)
Me.StatusStrip1.TabIndex = 9
Me.StatusStrip1.Text = "StatusStrip1"
'
'pbar1
'
Me.pbar1.Name = "pbar1"
Me.pbar1.Size = New System.Drawing.Size(100, 20)
'
'lb_change
'
Me.lb_change.Name = "lb_change"
Me.lb_change.Size = New System.Drawing.Size(26, 21)
Me.lb_change.Text = ""
'
'lb_msg
'
Me.lb_msg.Name = "lb_msg"
Me.lb_msg.Size = New System.Drawing.Size(42, 21)
Me.lb_msg.Text = "알림"
'
'lb_total
'
Me.lb_total.Name = "lb_total"
Me.lb_total.Size = New System.Drawing.Size(42, 21)
Me.lb_total.Text = "알림"
'
'MyFpoint1
'
Me.MyFpoint1.AAutoAddrowInLast = Nothing
Me.MyFpoint1.AccessibleDescription = "MyFpoint1, Sheet1"
Me.MyFpoint1.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.MyFpoint1.BackColor = System.Drawing.SystemColors.Control
Me.MyFpoint1.ContextMenuStrip = Me.ContextMenuStrip1
Me.MyFpoint1.CurrentDel = False
Me.MyFpoint1.DeleteKey = False
Me.MyFpoint1.EditFromSpace = True
Me.MyFpoint1.FIRST_FOCUSINDEX = 0
Me.MyFpoint1.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded
Me.MyFpoint1.Location = New System.Drawing.Point(0, 414)
Me.MyFpoint1.Name = "MyFpoint1"
Me.MyFpoint1.NextRow_Index = -1
Me.MyFpoint1.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.MyFpoint1.SameRowheight = True
Me.MyFpoint1.Sheets.AddRange(New FarPoint.Win.Spread.SheetView() {Me.MyFpoint1_Sheet1})
Me.MyFpoint1.Size = New System.Drawing.Size(704, 191)
Me.MyFpoint1.TabIndex = 10
Me.MyFpoint1.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded
Me.MyFpoint1.선택줄번호 = CType(-1, Short)
'
'ContextMenuStrip1
'
Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cm_out, Me.cm_clear})
Me.ContextMenuStrip1.Name = "ContextMenuStrip1"
Me.ContextMenuStrip1.Size = New System.Drawing.Size(135, 48)
'
'cm_out
'
Me.cm_out.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cm_out_all, Me.cb_out_filter})
Me.cm_out.Name = "cm_out"
Me.cm_out.Size = New System.Drawing.Size(134, 22)
Me.cm_out.Text = "내보내기"
'
'cm_out_all
'
Me.cm_out_all.Name = "cm_out_all"
Me.cm_out_all.Size = New System.Drawing.Size(98, 22)
Me.cm_out_all.Text = "전체"
'
'cb_out_filter
'
Me.cb_out_filter.Name = "cb_out_filter"
Me.cb_out_filter.Size = New System.Drawing.Size(98, 22)
Me.cb_out_filter.Text = "현재"
'
'cm_clear
'
Me.cm_clear.Name = "cm_clear"
Me.cm_clear.Size = New System.Drawing.Size(134, 22)
Me.cm_clear.Text = "목록지우기"
'
'MyFpoint1_Sheet1
'
Me.MyFpoint1_Sheet1.Reset()
Me.MyFpoint1_Sheet1.SheetName = "Sheet1"
'Formulas and custom names must be loaded with R1C1 reference style
Me.MyFpoint1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1
Me.MyFpoint1_Sheet1.ColumnCount = 3
Me.MyFpoint1_Sheet1.RowCount = 0
Me.MyFpoint1_Sheet1.ActiveRowIndex = -1
Me.MyFpoint1_Sheet1.AllowNoteEdit = True
Me.MyFpoint1_Sheet1.ColumnHeader.Cells.Get(0, 0).Value = "원본"
Me.MyFpoint1_Sheet1.ColumnHeader.Cells.Get(0, 1).Value = "대상"
Me.MyFpoint1_Sheet1.ColumnHeader.Cells.Get(0, 2).Value = "메모"
Me.MyFpoint1_Sheet1.Columns.Get(0).Label = "원본"
Me.MyFpoint1_Sheet1.Columns.Get(0).Width = 111.0!
Me.MyFpoint1_Sheet1.Columns.Get(1).Label = "대상"
Me.MyFpoint1_Sheet1.Columns.Get(1).Width = 111.0!
Me.MyFpoint1_Sheet1.Columns.Get(2).Label = "메모"
Me.MyFpoint1_Sheet1.Columns.Get(2).Width = 355.0!
Me.MyFpoint1_Sheet1.RowHeader.Columns.Default.Resizable = False
Me.MyFpoint1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1
Me.MyFpoint1.SetActiveViewport(0, -1, 0)
'
'DirListBox1
'
Me.DirListBox1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.DirListBox1.FormattingEnabled = True
Me.DirListBox1.IntegralHeight = False
Me.DirListBox1.Location = New System.Drawing.Point(710, 64)
Me.DirListBox1.Name = "DirListBox1"
Me.DirListBox1.Size = New System.Drawing.Size(210, 513)
Me.DirListBox1.TabIndex = 13
'
'DriveListBox1
'
Me.DriveListBox1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.DriveListBox1.FormattingEnabled = True
Me.DriveListBox1.Location = New System.Drawing.Point(710, 583)
Me.DriveListBox1.Name = "DriveListBox1"
Me.DriveListBox1.Size = New System.Drawing.Size(210, 22)
Me.DriveListBox1.TabIndex = 14
'
'ToolTip1
'
Me.ToolTip1.ToolTipIcon = System.Windows.Forms.ToolTipIcon.Info
Me.ToolTip1.ToolTipTitle = "간편도움말"
'
'FileManager
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 12.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(932, 634)
Me.Controls.Add(Me.DriveListBox1)
Me.Controls.Add(Me.DirListBox1)
Me.Controls.Add(Me.MyFpoint1)
Me.Controls.Add(Me.StatusStrip1)
Me.Controls.Add(Me.ToolStrip1)
Me.Controls.Add(Me.TabControl1)
Me.Name = "FileManager"
Me.Text = "그림파일 관리"
Me.TabControl1.ResumeLayout(False)
Me.TabPage1.ResumeLayout(False)
Me.GroupBox2.ResumeLayout(False)
Me.GroupBox2.PerformLayout()
Me.GroupBox1.ResumeLayout(False)
Me.GroupBox1.PerformLayout()
Me.TabPage2.ResumeLayout(False)
Me.GroupBox4.ResumeLayout(False)
Me.GroupBox4.PerformLayout()
CType(Me.MyFpoint2, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.MyFpoint2_Sheet1, System.ComponentModel.ISupportInitialize).EndInit()
Me.GroupBox3.ResumeLayout(False)
Me.GroupBox3.PerformLayout()
Me.ToolStrip1.ResumeLayout(False)
Me.ToolStrip1.PerformLayout()
Me.StatusStrip1.ResumeLayout(False)
Me.StatusStrip1.PerformLayout()
CType(Me.MyFpoint1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ContextMenuStrip1.ResumeLayout(False)
CType(Me.MyFpoint1_Sheet1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents TabControl1 As System.Windows.Forms.TabControl
Friend WithEvents TabPage1 As System.Windows.Forms.TabPage
Friend WithEvents TabPage2 As System.Windows.Forms.TabPage
Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip
Friend WithEvents bt_picselect As System.Windows.Forms.ToolStripButton
Friend WithEvents ToolStripLabel2 As System.Windows.Forms.ToolStripLabel
Friend WithEvents cmb_picEXT As System.Windows.Forms.ToolStripComboBox
Friend WithEvents ToolStripSeparator3 As System.Windows.Forms.ToolStripSeparator
Friend WithEvents CHK_SUBDIR As System.Windows.Forms.ToolStripButton
Friend WithEvents StatusStrip1 As System.Windows.Forms.StatusStrip
Friend WithEvents lb_change As System.Windows.Forms.ToolStripStatusLabel
Friend WithEvents lb_msg As System.Windows.Forms.ToolStripStatusLabel
Friend WithEvents lb_total As System.Windows.Forms.ToolStripStatusLabel
Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox
Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
Friend WithEvents MyFpoint1 As MyControlOLEDBv2.MyFpoint
Friend WithEvents MyFpoint1_Sheet1 As FarPoint.Win.Spread.SheetView
Friend WithEvents ContextMenuStrip1 As System.Windows.Forms.ContextMenuStrip
Friend WithEvents cm_out As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents cm_out_all As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents cb_out_filter As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents cm_clear As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents Label3 As System.Windows.Forms.Label
Friend WithEvents tb_chg2 As System.Windows.Forms.TextBox
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents tb_chg1 As System.Windows.Forms.TextBox
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Label5 As System.Windows.Forms.Label
Friend WithEvents Label4 As System.Windows.Forms.Label
Friend WithEvents Button1 As System.Windows.Forms.Button
Friend WithEvents Button2 As System.Windows.Forms.Button
Friend WithEvents Label6 As System.Windows.Forms.Label
Friend WithEvents tb_ren_right As System.Windows.Forms.TextBox
Friend WithEvents Label7 As System.Windows.Forms.Label
Friend WithEvents Label8 As System.Windows.Forms.Label
Friend WithEvents tb_ren_left As System.Windows.Forms.TextBox
Friend WithEvents lb_newfilename As System.Windows.Forms.Label
Friend WithEvents Label10 As System.Windows.Forms.Label
Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator
Friend WithEvents bt_exit As System.Windows.Forms.ToolStripButton
Friend WithEvents DirListBox1 As Microsoft.VisualBasic.Compatibility.VB6.DirListBox
Friend WithEvents DriveListBox1 As Microsoft.VisualBasic.Compatibility.VB6.DriveListBox
Friend WithEvents GroupBox3 As System.Windows.Forms.GroupBox
Friend WithEvents Button3 As System.Windows.Forms.Button
Friend WithEvents Label9 As System.Windows.Forms.Label
Friend WithEvents Label13 As System.Windows.Forms.Label
Friend WithEvents tb_del1 As System.Windows.Forms.TextBox
Friend WithEvents Label14 As System.Windows.Forms.Label
Friend WithEvents GroupBox4 As System.Windows.Forms.GroupBox
Friend WithEvents Button4 As System.Windows.Forms.Button
Friend WithEvents Button5 As System.Windows.Forms.Button
Friend WithEvents ToolTip1 As System.Windows.Forms.ToolTip
Friend WithEvents Label17 As System.Windows.Forms.Label
Friend WithEvents tb_ref1 As System.Windows.Forms.TextBox
Friend WithEvents MyFpoint2 As MyControlOLEDBv2.MyFpoint
Friend WithEvents MyFpoint2_Sheet1 As FarPoint.Win.Spread.SheetView
Friend WithEvents tb_ref6 As System.Windows.Forms.TextBox
Friend WithEvents tb_ref5 As System.Windows.Forms.TextBox
Friend WithEvents tb_ref4 As System.Windows.Forms.TextBox
Friend WithEvents tb_ref3 As System.Windows.Forms.TextBox
Friend WithEvents tb_ref2 As System.Windows.Forms.TextBox
Friend WithEvents pbar1 As System.Windows.Forms.ToolStripProgressBar
Friend WithEvents tn_endrng As System.Windows.Forms.TextBox
Friend WithEvents Label11 As System.Windows.Forms.Label
Friend WithEvents tb_sttrng As System.Windows.Forms.TextBox
End Class

View File

@@ -0,0 +1,138 @@
<?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="MyFpoint2_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>830, 17</value>
</metadata>
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>730, 17</value>
</metadata>
<metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="StatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>286, 17</value>
</metadata>
<metadata name="ContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>126, 17</value>
</metadata>
<metadata name="MyFpoint1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>404, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,372 @@
Public Class FileManager
Private Sub FileManager_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Me.SAVE_Setting()
End Sub
Private Sub FileManager_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.LOAD_Setting()
End Sub
Private Sub 목록지우기ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cm_clear.Click
Me.MyFpoint1.ActiveSheet.RowCount = 0
End Sub
Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tb_ren_left.TextChanged, tb_ren_right.TextChanged
Me.lb_newfilename.Text = "* 새로운 파일명 : " & Me.tb_ren_left.Text & "testfilename1" & Me.tb_ren_right.Text
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If Me.tb_ren_left.Text = "" AndAlso Me.tb_ren_right.Text = "" Then
NOTICE("아무것도 입력되어있지 않습니다", Color.Tomato, Me.lb_msg)
Me.tb_ren_left.Focus()
Return
End If
Dim TG As New System.IO.DirectoryInfo(DirListBox1.Path)
If Not TG.Exists Then
MsgBox("그림폴더가 존재하지 않습니다" & vbCrLf & vbCrLf & "그림폳더를 지정해주세요", MsgBoxStyle.Critical, "확인")
Return
End If
Dim Msg As New System.Text.StringBuilder("폴더 : " & DirListBox1.Path)
Msg.AppendLine()
If Me.CHK_SUBDIR.Checked Then
Msg.AppendLine("아래의 모든파일과 하위폴더의")
Else
Msg.AppendLine("아래의 모든파일의")
End If
Msg.AppendLine("그림파일에대한 붙이기 작업을 실행하시겠습니까?")
If MsgBox(Msg.ToString, MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "확인") <> MsgBoxResult.Ok Then
NOTICE("취소되었습니다", Color.Tomato, Me.lb_msg)
Return
End If
Me.MyFpoint1.ActiveSheet.RowCount = 0
'//현재폴더로부터 하위폴더(옵션)
Dim NEwName As String = ""
For Each TF As System.IO.FileInfo In TG.GetFiles("*." & Me.cmb_picEXT.Text, IIf(Me.CHK_SUBDIR.Checked, 1, 0))
NEwName = Me.tb_ren_left.Text & TF.Name.Substring(0, TF.Name.LastIndexOf(".")) & Me.tb_ren_right.Text & "." & Me.cmb_picEXT.Text
TF.MoveTo(TF.DirectoryName & "\" & NEwName)
ADdLog(TF.Name, NEwName, TF.DirectoryName)
Next
End Sub
Private Sub ADdLog(ByVal src As String, ByVal target As String, ByVal memo As String)
With Me.MyFpoint1.ActiveSheet
.RowCount += 1 '//행증가
.Cells(.RowCount - 1, 0).Text = src
.Cells(.RowCount - 1, 1).Text = target
.Cells(.RowCount - 1, 2).Text = memo
End With
End Sub
Private Sub bt_picselect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_picselect.Click
Dim A As New FolderBrowserDialog
A.RootFolder = Environment.SpecialFolder.MyComputer
A.SelectedPath = DirListBox1.Path
If A.ShowDialog() = System.Windows.Forms.DialogResult.Cancel Then
MsgBox("선택이 취소되었습니다", MsgBoxStyle.Critical, "확인")
Return
End If
DirListBox1.Path = A.SelectedPath
End Sub
Private Sub ContextMenuStrip1_Opening(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ContextMenuStrip1.Opening
If Me.MyFpoint1.ActiveSheet.RowCount = 0 Then
Me.cm_out.Enabled = False
Else
Me.cm_out.Enabled = True
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click '//이름치환
If Me.tb_chg1.Text = "" AndAlso Me.tb_chg2.Text = "" Then
NOTICE("아무것도 입력되어있지 않습니다", Color.Tomato, Me.lb_msg)
Me.tb_chg1.Focus()
Return
End If
Dim TG As New System.IO.DirectoryInfo(DirListBox1.Path)
If Not TG.Exists Then
MsgBox("그림폴더가 존재하지 않습니다" & vbCrLf & vbCrLf & "그림폳더를 지정해주세요", MsgBoxStyle.Critical, "확인")
Return
End If
Dim Msg As New System.Text.StringBuilder("폴더 : " & DirListBox1.Path)
Msg.AppendLine()
If Me.CHK_SUBDIR.Checked Then
Msg.AppendLine("아래의 모든파일과 하위폴더의")
Else
Msg.AppendLine("아래의 모든파일의")
End If
Msg.AppendLine("그림파일에대한 치환 작업을 실행하시겠습니까?")
If MsgBox(Msg.ToString, MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "확인") <> MsgBoxResult.Ok Then
NOTICE("취소되었습니다", Color.Tomato, Me.lb_msg)
Return
End If
Me.MyFpoint1.ActiveSheet.RowCount = 0
'//현재폴더로부터 하위폴더(옵션) - 파일명 자르기를 수행한다.
Dim NEwName As String = ""
For Each TF As System.IO.FileInfo In TG.GetFiles("*." & Me.cmb_picEXT.Text, IIf(Me.CHK_SUBDIR.Checked, 1, 0))
NEwName = TF.Name.Substring(0, TF.Name.LastIndexOf("."))
For Each SI As String In Me.tb_chg1.Text.Split("/")
NEwName = NEwName.Replace(SI, Me.tb_chg2.Text)
Next
ADdLog(TF.Name, NEwName & "." & Me.cmb_picEXT.Text, TF.DirectoryName)
TF.MoveTo(TF.DirectoryName & "\" & NEwName & "." & Me.cmb_picEXT.Text)
Next
MsgBox(Me.MyFpoint1_Sheet1.RowCount & "개의 파일작업을 수행했습니다", MsgBoxStyle.Information, "확인")
End Sub
#Region "설정저장/불러오기 : Load 와 Closing 에서 발생"
Private Sub LOAD_Setting()
Dim A As New MyINI2(MyPath.Current & "\setting.ini")
Try
'dirlistbox1.path = A.Read("picmanager", "DefaultPicDir", "c:\windows").Trim(Chr(0))
Me.DirListBox1.Path = A.Read("picmanager", "DefaultPicDir", "c:\windows").Trim(Chr(0))
'Me.cmb_PICTYPE.SelectedIndex = A.Read("pic", "pictype", 3)
Me.cmb_picEXT.SelectedIndex = A.Read("picmanager", "picext", 1)
Me.CHK_SUBDIR.Checked = A.Read("picmanager", "subdir", True)
Catch ex As Exception
DirListBox1.Path = vbNullString
Me.cmb_picEXT.SelectedIndex = 3
'Me.cmb_PICTYPE.SelectedIndex = 1
Me.CHK_SUBDIR.Checked = True
End Try
A = Nothing
End Sub
Private Sub SAVE_Setting()
Dim A As New MyINI2(MyPath.Current & "\setting.ini")
Try
A.Write("picmanager", "DefaultPicDir", Me.DirListBox1.Path)
'A.Write("pic", "pictype", Me.cmb_PICTYPE.SelectedIndex)
A.Write("picmanager", "picext", Me.cmb_picEXT.SelectedIndex)
A.Write("picmanager", "subdir", Me.CHK_SUBDIR.Checked)
Catch ex As Exception
End Try
A = Nothing
End Sub
#End Region
Private Sub bt_exit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_exit.Click '//닫기
Me.Close()
End Sub
Private Sub DriveListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DriveListBox1.SelectedIndexChanged
Me.DirListBox1.Path = Me.DriveListBox1.Items(Me.DriveListBox1.SelectedIndex).ToString
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click '//파일삭제
'//tb_del1.text 에 들어있는 아이템을 가지고 파일을 삭제한다.
If Me.tb_del1.Text = "" AndAlso Me.tb_del1.Text = "" Then
NOTICE("아무것도 입력되어있지 않습니다", Color.Tomato, Me.lb_msg)
Me.tb_del1.Focus()
Return
End If
Dim TG As New System.IO.DirectoryInfo(DirListBox1.Path)
If Not TG.Exists Then
MsgBox("그림폴더가 존재하지 않습니다" & vbCrLf & vbCrLf & "그림폳더를 지정해주세요", MsgBoxStyle.Critical, "확인")
Return
End If
Dim Msg As New System.Text.StringBuilder("폴더 : " & DirListBox1.Path)
Msg.AppendLine()
If Me.CHK_SUBDIR.Checked Then
Msg.AppendLine("아래의 모든파일과 하위폴더의")
Else
Msg.AppendLine("아래의 모든파일의")
End If
Msg.AppendLine("그림파일에대한 삭제 작업을 실행하시겠습니까?")
If MsgBox(Msg.ToString, MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "확인") <> MsgBoxResult.Ok Then
NOTICE("취소되었습니다", Color.Tomato, Me.lb_msg)
Return
End If
Me.MyFpoint1.ActiveSheet.RowCount = 0
'//현재폴더로부터 하위폴더(옵션) - 파일명 자르기를 수행한다.
Dim NEwName As String = ""
For Each TF As System.IO.FileInfo In TG.GetFiles("*." & Me.cmb_picEXT.Text, IIf(Me.CHK_SUBDIR.Checked, 1, 0))
NEwName = TF.Name.Substring(0, TF.Name.LastIndexOf("."))
For Each SI As String In Me.tb_del1.Text.Split("/")
'MsgBox(NEwName.IndexOf(SI))
If NEwName.IndexOf(SI) >= 0 Then '//존재하는경우다 이럴경우는 삭제를 해버린다.
ADdLog(TF.Name, "", "[삭제대상]")
TF.MoveTo(TF.DirectoryName & "\[삭제대상]" & TF.Name)
Exit For
End If
Next
Next
MsgBox(Me.MyFpoint1_Sheet1.RowCount & "개의 파일작업을 수행했습니다" & vbCrLf & vbCrLf & "잠시후 대상폴더가 열립니다", MsgBoxStyle.Information, "확인")
Process.Start("explorer.exe", Me.DirListBox1.Path)
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Dim OD As New OpenFileDialog
'Dim Aranini As New MyINI2(IniFile)
'OD.FileName = Me.lb_file.Text
OD.Filter = "MS Office Excel WorkSheet(*.xls)|*.xls"
OD.FilterIndex = 1
' OD.RestoreDirectory = True
If OD.ShowDialog() = System.Windows.Forms.DialogResult.Cancel Then
NOTICE("불러오기가 취소되었습니다", Me.lb_msg)
Else
'Aranini.Write("normal", "file", OD.FileName)
'Me.lb_file.Text = OD.FileName
ReadXls(OD.FileName)
End If
End Sub
Private Sub ReadXls(ByVal Filename As String) '//Read xls File
Me.MyFpoint2.OpenExcel(Filename)
For Each Cl As FarPoint.Win.Spread.Column In Me.MyFpoint2.ActiveSheet.Columns '//Set columns label
Cl.Label = Cl.Index + 1
Next
'//연속 5개의 공백이 보이면 카운트를 종료한다.
Dim 공백 As Int16 = 0
For Each Row As FarPoint.Win.Spread.Row In Me.MyFpoint2.ActiveSheet.Rows
If Me.MyFpoint2.ActiveSheet.Cells(Row.Index, 0).Text = "" Then 공백 += 1
If 공백 >= 5 Then
Me.MyFpoint2.ActiveSheet.RowCount = Row.Index + 1 - 3
Exit For
End If
Next
End Sub
Private Sub tb_ref1__TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tb_ref1.TextChanged, tb_ref2.TextChanged, tb_ref3.TextChanged, tb_ref4.TextChanged, tb_ref5.TextChanged, tb_ref6.TextChanged
Dim A As TextBox = CType(sender, TextBox)
If A.Text.Length <= 0 Then Exit Sub
Select Case A.Text.Substring(0, 1)
Case "#" ''//값을 직접 입력했을때다.
A.BackColor = Color.SteelBlue
Case Else
If IsNumeric(A.Text) Then
A.BackColor = Color.White
Else
A.BackColor = Color.Tomato
End If
End Select
End Sub
Private Function CheckCtrl(ByVal Obj As TextBox) As Boolean
If Obj.Text <> "" AndAlso Obj.Text.Substring(0, 1) <> "#" AndAlso Not IsNumeric(Obj.Text) Then '//참조1의 시작값이 #라면(직접입력)
MsgBox("입력값에 문제가 있습니다." & vbCrLf & "값의 직접입력은 먼저 # 를 입력후에 입력하세요" & vbCrLf & "예) _01을 입력할시 #_01" & vbCrLf & "그외는 숫자(열번호)만 가능합니다", MsgBoxStyle.Critical, "확인")
Obj.Focus()
Return False
End If
Return True
End Function
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
'//tB_ref1~6 에의한 파일명 조합이다. 조합후 동일한 파일을 삭제한다.
If Me.tb_ref1.Text = "" AndAlso Me.tb_ref2.Text = "" AndAlso Me.tb_ref3.Text = "" AndAlso Me.tb_ref4.Text = "" AndAlso Me.tb_ref5.Text = "" AndAlso Me.tb_ref6.Text = "" Then
NOTICE("아무것도 입력되어있지 않습니다", Color.Tomato, Me.lb_msg)
Me.tb_ref1.Focus()
Return
End If
Dim TG As New System.IO.DirectoryInfo(DirListBox1.Path)
If Not TG.Exists Then
MsgBox("그림폴더가 존재하지 않습니다" & vbCrLf & vbCrLf & "그림폳더를 지정해주세요", MsgBoxStyle.Critical, "확인")
Return
End If
Dim Msg As New System.Text.StringBuilder("폴더 : " & DirListBox1.Path)
Msg.AppendLine()
If Me.CHK_SUBDIR.Checked Then
Msg.AppendLine("아래의 모든파일과 하위폴더의")
Else
Msg.AppendLine("아래의 모든파일의")
End If
Msg.AppendLine("그림파일에대한 삭제 작업을 실행하시겠습니까?")
If MsgBox(Msg.ToString, MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "확인") <> MsgBoxResult.Ok Then
NOTICE("취소되었습니다", Color.Tomato, Me.lb_msg)
Return
End If
If Not CheckCtrl(Me.tb_ref1) Then Return '//컨트롤들의 셋티잉 올바른가?
If Not CheckCtrl(Me.tb_ref2) Then Return
If Not CheckCtrl(Me.tb_ref3) Then Return
If Not CheckCtrl(Me.tb_ref4) Then Return
If Not CheckCtrl(Me.tb_ref5) Then Return
If Not CheckCtrl(Me.tb_ref6) Then Return
'----------------------Main start ----------------------
Me.MyFpoint1.ActiveSheet.RowCount = 0 '//로그내역을삭제한다.
Dim NEwName As String = "" '//현재폴더로부터 하위폴더(옵션) - 파일명 자르기를 수행한다.
'//목록으로부터이니 모든 목록을 돈다.
Dim R1, R2, R3, R4, R5, R6 As String
Dim Fname As String
Me.pbar1.Minimum = 0
Me.pbar1.Value = 0
Me.pbar1.Maximum = Me.MyFpoint2.ActiveSheet.RowCount
'ADdLog("1", "", "[start]" & TG.FullName)
Dim SttRng, EndRng As Integer
SttRng = Me.tb_sttrng.Text
EndRng = IIf(Me.tn_endrng.Text = 0, Me.MyFpoint2.ActiveSheet.RowCount, Me.tn_endrng.Text)
For Each Row As FarPoint.Win.Spread.Row In Me.MyFpoint2.ActiveSheet.Rows
If Row.Index >= SttRng AndAlso Row.Index <= EndRng Then '//검색범위에 해당하는것만
'MsgBox("!!")
Me.pbar1.Value = Row.Index
'ADdLog(Row.Index, "", "[확인중]" & TG.FullName)
R1 = Me.GetFPData(Me.tb_ref1, Row)
R2 = Me.GetFPData(Me.tb_ref2, Row)
R3 = Me.GetFPData(Me.tb_ref3, Row)
R4 = Me.GetFPData(Me.tb_ref4, Row)
R5 = Me.GetFPData(Me.tb_ref5, Row)
R6 = Me.GetFPData(Me.tb_ref6, Row)
Fname = R1 & R2 & R3 & R4 & R5 & R6 & "." & Me.cmb_picEXT.Text '//파일명 완성 ; 이제 찾아서 해당파일명만 바꺼주면된다.
If Fname.Trim <> "" Then
'ADdLog(Fname, "", "[확인중]" & TG.FullName)
For Each TF As System.IO.FileInfo In TG.GetFiles(Fname, IIf(Me.CHK_SUBDIR.Checked, 1, 0))
ADdLog(Fname, TF.Name, "[삭제대상]")
TF.MoveTo(TF.DirectoryName & "\[삭제대상]" & TF.Name)
Next
Else
ADdLog(Fname, "", "[조합된 값이 없음]")
End If
End If
Next
MsgBox(Me.MyFpoint1_Sheet1.RowCount & "개의 파일작업을 수행했습니다" & vbCrLf & vbCrLf & "잠시후 대상폴더가 열립니다", MsgBoxStyle.Information, "확인")
Process.Start("explorer.exe", Me.DirListBox1.Path)
End Sub
Private Function GetFPData(ByVal sender As TextBox, ByVal Drow As FarPoint.Win.Spread.Row) As String
'//만약 날짜포맷이면 FORMAT 을 지정해서 사용한다"
Dim SUbidx As Integer
If sender.Text = "" Then '//즉 없다는뜻이다.
Return ""
ElseIf sender.Text.Substring(0, 1) = "#" Then
Return sender.Text.Substring(1)
Else '//있다.
SUbidx = sender.Text
Return Me.MyFpoint2.ActiveSheet.Cells(Drow.Index, CInt(SUbidx - 1)).Text
End If
End Function
End Class

50
Epole.fp13/입력폼/Frm_Log.Designer.vb generated Normal file
View File

@@ -0,0 +1,50 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Frm_Log
Inherits System.Windows.Forms.Form
'Form은 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.RichTextBox1 = New System.Windows.Forms.RichTextBox
Me.SuspendLayout()
'
'RichTextBox1
'
Me.RichTextBox1.Dock = System.Windows.Forms.DockStyle.Fill
Me.RichTextBox1.Location = New System.Drawing.Point(0, 0)
Me.RichTextBox1.Name = "RichTextBox1"
Me.RichTextBox1.Size = New System.Drawing.Size(694, 552)
Me.RichTextBox1.TabIndex = 0
Me.RichTextBox1.Text = ""
'
'Frm_Log
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 12.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(694, 552)
Me.Controls.Add(Me.RichTextBox1)
Me.Name = "Frm_Log"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "기록창"
Me.ResumeLayout(False)
End Sub
Friend WithEvents RichTextBox1 As System.Windows.Forms.RichTextBox
End Class

View File

@@ -0,0 +1,120 @@
<?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>
</root>

View File

@@ -0,0 +1,3 @@
Public Class Frm_Log
End Class

View File

@@ -0,0 +1,523 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class OldnumPicMan
Inherits System.Windows.Forms.Form
'Form은 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()
Dim TipAppearance9 As FarPoint.Win.Spread.TipAppearance = New FarPoint.Win.Spread.TipAppearance
Dim TipAppearance10 As FarPoint.Win.Spread.TipAppearance = New FarPoint.Win.Spread.TipAppearance
Me.MyFpoint1 = New MyControlOLEDBv2.MyFpoint
Me.MyFpoint1_Sheet1 = New FarPoint.Win.Spread.SheetView
Me.GroupBox1 = New System.Windows.Forms.GroupBox
Me.GroupBox2 = New System.Windows.Forms.GroupBox
Me.view_green = New MyControlOLEDBv2.MyFpoint
Me.view_green_Sheet1 = New FarPoint.Win.Spread.SheetView
Me.pbar_modify = New System.Windows.Forms.ProgressBar
Me.pbar_onot = New System.Windows.Forms.ProgressBar
Me.pbar_total = New System.Windows.Forms.ProgressBar
Me.StatusStrip1 = New System.Windows.Forms.StatusStrip
Me.ToolStripStatusLabel1 = New System.Windows.Forms.ToolStripStatusLabel
Me.lb_picdirectory = New System.Windows.Forms.ToolStripStatusLabel
Me.ToolStrip1 = New System.Windows.Forms.ToolStrip
Me.bt_output = New System.Windows.Forms.ToolStripDropDownButton
Me.m_allouuoolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
Me.m_modfy = New System.Windows.Forms.ToolStripMenuItem
Me.m_outall = New System.Windows.Forms.ToolStripMenuItem
Me.m_outc = New System.Windows.Forms.ToolStripMenuItem
Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator
Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator
Me.ToolStripLabel2 = New System.Windows.Forms.ToolStripLabel
Me.cmb_picEXT = New System.Windows.Forms.ToolStripComboBox
Me.bt_picselect = New System.Windows.Forms.ToolStripButton
Me.CHK_SUBDIR = New System.Windows.Forms.ToolStripButton
Me.ToolStripSeparator3 = New System.Windows.Forms.ToolStripSeparator
Me.ToolStripSeparator4 = New System.Windows.Forms.ToolStripSeparator
Me.chk_test = New System.Windows.Forms.ToolStripButton
Me.ToolStripButton1 = New System.Windows.Forms.ToolStripButton
Me.pbar_nnot = New System.Windows.Forms.ProgressBar
Me.pbar_same = New System.Windows.Forms.ProgressBar
Me.Label1 = New System.Windows.Forms.Label
Me.Label2 = New System.Windows.Forms.Label
Me.Label3 = New System.Windows.Forms.Label
Me.Label4 = New System.Windows.Forms.Label
Me.pbar_nopic = New System.Windows.Forms.ProgressBar
Me.Label5 = New System.Windows.Forms.Label
Me.ToolStripSeparator5 = New System.Windows.Forms.ToolStripSeparator
Me.ToolStripButton2 = New System.Windows.Forms.ToolStripButton
CType(Me.MyFpoint1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.MyFpoint1_Sheet1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.GroupBox1.SuspendLayout()
Me.GroupBox2.SuspendLayout()
CType(Me.view_green, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.view_green_Sheet1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.StatusStrip1.SuspendLayout()
Me.ToolStrip1.SuspendLayout()
Me.SuspendLayout()
'
'MyFpoint1
'
Me.MyFpoint1.About = "3.0.2003.2005"
Me.MyFpoint1.AccessibleDescription = ""
Me.MyFpoint1.CurrentDel = False
Me.MyFpoint1.DeleteKey = False
Me.MyFpoint1.Dock = System.Windows.Forms.DockStyle.Fill
Me.MyFpoint1.EditFromSpace = True
Me.MyFpoint1.FIRST_FOCUSINDEX = 0
Me.MyFpoint1.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded
Me.MyFpoint1.Location = New System.Drawing.Point(3, 17)
Me.MyFpoint1.Name = "MyFpoint1"
Me.MyFpoint1.NextRow_Index = -1
Me.MyFpoint1.SameRowheight = True
Me.MyFpoint1.Sheets.AddRange(New FarPoint.Win.Spread.SheetView() {Me.MyFpoint1_Sheet1})
Me.MyFpoint1.Size = New System.Drawing.Size(371, 346)
Me.MyFpoint1.TabIndex = 0
TipAppearance9.BackColor = System.Drawing.SystemColors.Info
TipAppearance9.Font = New System.Drawing.Font("굴림", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
TipAppearance9.ForeColor = System.Drawing.SystemColors.InfoText
Me.MyFpoint1.TextTipAppearance = TipAppearance9
Me.MyFpoint1.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded
Me.MyFpoint1.선택줄번호 = CType(-1, Short)
'
'MyFpoint1_Sheet1
'
Me.MyFpoint1_Sheet1.Reset()
Me.MyFpoint1_Sheet1.SheetName = "Sheet1"
Me.MyFpoint1_Sheet1.ColumnCount = 1
Me.MyFpoint1_Sheet1.RowCount = 0
Me.MyFpoint1.SetActiveViewport(0, 1, 0)
'
'GroupBox1
'
Me.GroupBox1.Controls.Add(Me.MyFpoint1)
Me.GroupBox1.Location = New System.Drawing.Point(0, 42)
Me.GroupBox1.Name = "GroupBox1"
Me.GroupBox1.Size = New System.Drawing.Size(377, 366)
Me.GroupBox1.TabIndex = 1
Me.GroupBox1.TabStop = False
Me.GroupBox1.Text = "검색목록"
'
'GroupBox2
'
Me.GroupBox2.Controls.Add(Me.view_green)
Me.GroupBox2.Location = New System.Drawing.Point(383, 206)
Me.GroupBox2.Name = "GroupBox2"
Me.GroupBox2.Size = New System.Drawing.Size(564, 202)
Me.GroupBox2.TabIndex = 2
Me.GroupBox2.TabStop = False
Me.GroupBox2.Text = "실행결과"
'
'view_green
'
Me.view_green.About = "3.0.2003.2005"
Me.view_green.AccessibleDescription = "view_green, Sheet1"
Me.view_green.BackColor = System.Drawing.SystemColors.Control
Me.view_green.CurrentDel = False
Me.view_green.DeleteKey = False
Me.view_green.Dock = System.Windows.Forms.DockStyle.Fill
Me.view_green.EditFromSpace = True
Me.view_green.FIRST_FOCUSINDEX = 0
Me.view_green.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded
Me.view_green.Location = New System.Drawing.Point(3, 17)
Me.view_green.Name = "view_green"
Me.view_green.NextRow_Index = -1
Me.view_green.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.view_green.SameRowheight = True
Me.view_green.Sheets.AddRange(New FarPoint.Win.Spread.SheetView() {Me.view_green_Sheet1})
Me.view_green.Size = New System.Drawing.Size(558, 182)
Me.view_green.TabIndex = 1
TipAppearance10.BackColor = System.Drawing.SystemColors.Info
TipAppearance10.Font = New System.Drawing.Font("굴림", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
TipAppearance10.ForeColor = System.Drawing.SystemColors.InfoText
Me.view_green.TextTipAppearance = TipAppearance10
Me.view_green.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded
Me.view_green.선택줄번호 = CType(-1, Short)
'
'view_green_Sheet1
'
Me.view_green_Sheet1.Reset()
Me.view_green_Sheet1.SheetName = "Sheet1"
'Formulas and custom names must be loaded with R1C1 reference style
Me.view_green_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1
Me.view_green_Sheet1.ColumnCount = 4
Me.view_green_Sheet1.RowCount = 0
Me.view_green_Sheet1.ColumnHeader.Cells.Get(0, 0).Value = "줄번호"
Me.view_green_Sheet1.ColumnHeader.Cells.Get(0, 1).Value = "원본파일명"
Me.view_green_Sheet1.ColumnHeader.Cells.Get(0, 2).Value = "대상파일명"
Me.view_green_Sheet1.ColumnHeader.Cells.Get(0, 3).Value = "메모"
Me.view_green_Sheet1.Columns.Get(0).AllowAutoSort = True
Me.view_green_Sheet1.Columns.Get(0).Label = "줄번호"
Me.view_green_Sheet1.Columns.Get(1).Label = "원본파일명"
Me.view_green_Sheet1.Columns.Get(1).Width = 75.0!
Me.view_green_Sheet1.Columns.Get(2).Label = "대상파일명"
Me.view_green_Sheet1.Columns.Get(2).Width = 87.0!
Me.view_green_Sheet1.Columns.Get(3).AllowAutoFilter = True
Me.view_green_Sheet1.Columns.Get(3).Label = "메모"
Me.view_green_Sheet1.Columns.Get(3).Width = 245.0!
Me.view_green_Sheet1.RowHeader.Columns.Default.Resizable = False
Me.view_green_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1
Me.view_green.SetActiveViewport(0, 1, 0)
'
'pbar_modify
'
Me.pbar_modify.ForeColor = System.Drawing.Color.MidnightBlue
Me.pbar_modify.Location = New System.Drawing.Point(501, 53)
Me.pbar_modify.Name = "pbar_modify"
Me.pbar_modify.Size = New System.Drawing.Size(445, 23)
Me.pbar_modify.Style = System.Windows.Forms.ProgressBarStyle.Continuous
Me.pbar_modify.TabIndex = 0
'
'pbar_onot
'
Me.pbar_onot.ForeColor = System.Drawing.Color.Crimson
Me.pbar_onot.Location = New System.Drawing.Point(501, 137)
Me.pbar_onot.Name = "pbar_onot"
Me.pbar_onot.Size = New System.Drawing.Size(445, 23)
Me.pbar_onot.Style = System.Windows.Forms.ProgressBarStyle.Continuous
Me.pbar_onot.TabIndex = 0
'
'pbar_total
'
Me.pbar_total.ForeColor = System.Drawing.Color.LimeGreen
Me.pbar_total.Location = New System.Drawing.Point(0, 414)
Me.pbar_total.Name = "pbar_total"
Me.pbar_total.Size = New System.Drawing.Size(954, 23)
Me.pbar_total.Style = System.Windows.Forms.ProgressBarStyle.Continuous
Me.pbar_total.TabIndex = 2
'
'StatusStrip1
'
Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripStatusLabel1, Me.lb_picdirectory})
Me.StatusStrip1.Location = New System.Drawing.Point(0, 442)
Me.StatusStrip1.Name = "StatusStrip1"
Me.StatusStrip1.Size = New System.Drawing.Size(954, 26)
Me.StatusStrip1.TabIndex = 4
Me.StatusStrip1.Text = "StatusStrip1"
'
'ToolStripStatusLabel1
'
Me.ToolStripStatusLabel1.Name = "ToolStripStatusLabel1"
Me.ToolStripStatusLabel1.Size = New System.Drawing.Size(95, 21)
Me.ToolStripStatusLabel1.Text = "그림파일경로 ▶"
'
'lb_picdirectory
'
Me.lb_picdirectory.Font = New System.Drawing.Font("맑은 고딕", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.lb_picdirectory.Name = "lb_picdirectory"
Me.lb_picdirectory.Size = New System.Drawing.Size(74, 21)
Me.lb_picdirectory.Text = "그림폴더"
'
'ToolStrip1
'
Me.ToolStrip1.ImageScalingSize = New System.Drawing.Size(32, 32)
Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.bt_output, Me.ToolStripSeparator1, Me.ToolStripSeparator2, Me.ToolStripLabel2, Me.cmb_picEXT, Me.bt_picselect, Me.CHK_SUBDIR, Me.ToolStripSeparator3, Me.ToolStripSeparator4, Me.chk_test, Me.ToolStripButton1, Me.ToolStripSeparator5, Me.ToolStripButton2})
Me.ToolStrip1.Location = New System.Drawing.Point(0, 0)
Me.ToolStrip1.Name = "ToolStrip1"
Me.ToolStrip1.Size = New System.Drawing.Size(954, 39)
Me.ToolStrip1.TabIndex = 8
Me.ToolStrip1.Text = "ToolStrip1"
'
'bt_output
'
Me.bt_output.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.m_allouuoolStripMenuItem, Me.m_modfy})
Me.bt_output.Image = Global.EpoleNet.My.Resources.Resources.excel
Me.bt_output.ImageTransparentColor = System.Drawing.Color.Magenta
Me.bt_output.Name = "bt_output"
Me.bt_output.Size = New System.Drawing.Size(114, 36)
Me.bt_output.Text = "내보내기(&E)"
Me.bt_output.ToolTipText = "클릭시 고속저장을 수행하며 저장중일경우에는 작업을 취소합니다"
'
'm_allouuoolStripMenuItem
'
Me.m_allouuoolStripMenuItem.Name = "m_allouuoolStripMenuItem"
Me.m_allouuoolStripMenuItem.Size = New System.Drawing.Size(152, 22)
Me.m_allouuoolStripMenuItem.Text = "전체 목록"
'
'm_modfy
'
Me.m_modfy.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.m_outall, Me.m_outc})
Me.m_modfy.Name = "m_modfy"
Me.m_modfy.Size = New System.Drawing.Size(152, 22)
Me.m_modfy.Text = "실행결과"
'
'm_outall
'
Me.m_outall.Name = "m_outall"
Me.m_outall.Size = New System.Drawing.Size(152, 22)
Me.m_outall.Text = "모두"
'
'm_outc
'
Me.m_outc.Name = "m_outc"
Me.m_outc.Size = New System.Drawing.Size(152, 22)
Me.m_outc.Text = "현재"
'
'ToolStripSeparator1
'
Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 39)
'
'ToolStripSeparator2
'
Me.ToolStripSeparator2.Name = "ToolStripSeparator2"
Me.ToolStripSeparator2.Size = New System.Drawing.Size(6, 39)
'
'ToolStripLabel2
'
Me.ToolStripLabel2.Name = "ToolStripLabel2"
Me.ToolStripLabel2.Size = New System.Drawing.Size(55, 36)
Me.ToolStripLabel2.Text = "그림종류"
'
'cmb_picEXT
'
Me.cmb_picEXT.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.cmb_picEXT.Items.AddRange(New Object() {"JPG", "PNG", "GIF", "BMP"})
Me.cmb_picEXT.Name = "cmb_picEXT"
Me.cmb_picEXT.Size = New System.Drawing.Size(75, 39)
Me.cmb_picEXT.ToolTipText = "그림파일의 종류를 선택합니다"
'
'bt_picselect
'
Me.bt_picselect.Image = Global.EpoleNet.My.Resources.Resources.open_32
Me.bt_picselect.ImageTransparentColor = System.Drawing.Color.Magenta
Me.bt_picselect.Name = "bt_picselect"
Me.bt_picselect.Size = New System.Drawing.Size(115, 36)
Me.bt_picselect.Text = "그림폴더선택"
Me.bt_picselect.ToolTipText = "그림파일이 존재하는 폴더를 선택합니다"
'
'CHK_SUBDIR
'
Me.CHK_SUBDIR.Checked = True
Me.CHK_SUBDIR.CheckOnClick = True
Me.CHK_SUBDIR.CheckState = System.Windows.Forms.CheckState.Checked
Me.CHK_SUBDIR.Image = Global.EpoleNet.My.Resources.Resources.opts_24
Me.CHK_SUBDIR.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None
Me.CHK_SUBDIR.ImageTransparentColor = System.Drawing.Color.Magenta
Me.CHK_SUBDIR.Name = "CHK_SUBDIR"
Me.CHK_SUBDIR.Size = New System.Drawing.Size(171, 36)
Me.CHK_SUBDIR.Text = "파일검색시 하위폴더검색"
Me.CHK_SUBDIR.ToolTipText = "파일목록을 검색할때. 하위폴더의 파일까지 검색합니다(하위목검색시 완료속도가 저하됩니다)"
'
'ToolStripSeparator3
'
Me.ToolStripSeparator3.Name = "ToolStripSeparator3"
Me.ToolStripSeparator3.Size = New System.Drawing.Size(6, 39)
'
'ToolStripSeparator4
'
Me.ToolStripSeparator4.Name = "ToolStripSeparator4"
Me.ToolStripSeparator4.Size = New System.Drawing.Size(6, 39)
'
'chk_test
'
Me.chk_test.Checked = True
Me.chk_test.CheckOnClick = True
Me.chk_test.CheckState = System.Windows.Forms.CheckState.Checked
Me.chk_test.ForeColor = System.Drawing.Color.Firebrick
Me.chk_test.Image = Global.EpoleNet.My.Resources.Resources.opts_24
Me.chk_test.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None
Me.chk_test.ImageTransparentColor = System.Drawing.Color.Magenta
Me.chk_test.Name = "chk_test"
Me.chk_test.Size = New System.Drawing.Size(71, 36)
Me.chk_test.Text = "테스트"
Me.chk_test.ToolTipText = "체크시 검사만 수행하며 파일은 조작하지 않습니다."
'
'ToolStripButton1
'
Me.ToolStripButton1.Font = New System.Drawing.Font("맑은 고딕", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.ToolStripButton1.Image = Global.EpoleNet.My.Resources.Resources.prefs_32
Me.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta
Me.ToolStripButton1.Name = "ToolStripButton1"
Me.ToolStripButton1.Size = New System.Drawing.Size(67, 36)
Me.ToolStripButton1.Text = "실행"
Me.ToolStripButton1.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.ToolStripButton1.ToolTipText = "검색을 실행합니다."
'
'pbar_nnot
'
Me.pbar_nnot.ForeColor = System.Drawing.Color.Crimson
Me.pbar_nnot.Location = New System.Drawing.Point(501, 165)
Me.pbar_nnot.Name = "pbar_nnot"
Me.pbar_nnot.Size = New System.Drawing.Size(445, 23)
Me.pbar_nnot.Style = System.Windows.Forms.ProgressBarStyle.Continuous
Me.pbar_nnot.TabIndex = 0
'
'pbar_same
'
Me.pbar_same.ForeColor = System.Drawing.Color.Crimson
Me.pbar_same.Location = New System.Drawing.Point(501, 109)
Me.pbar_same.Name = "pbar_same"
Me.pbar_same.Size = New System.Drawing.Size(445, 23)
Me.pbar_same.Style = System.Windows.Forms.ProgressBarStyle.Continuous
Me.pbar_same.TabIndex = 0
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.ForeColor = System.Drawing.Color.DeepPink
Me.Label1.Location = New System.Drawing.Point(411, 144)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(85, 12)
Me.Label1.TabIndex = 9
Me.Label1.Text = "구 데이터 없음"
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.ForeColor = System.Drawing.Color.DeepPink
Me.Label2.Location = New System.Drawing.Point(411, 171)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(85, 12)
Me.Label2.TabIndex = 10
Me.Label2.Text = "신 데이터 없음"
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Location = New System.Drawing.Point(427, 63)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(69, 12)
Me.Label3.TabIndex = 11
Me.Label3.Text = "변경된 내역"
'
'Label4
'
Me.Label4.AutoSize = True
Me.Label4.ForeColor = System.Drawing.Color.DeepPink
Me.Label4.Location = New System.Drawing.Point(393, 117)
Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(103, 12)
Me.Label4.TabIndex = 12
Me.Label4.Text = "구/신 데이터 동일"
Me.Label4.UseWaitCursor = True
'
'pbar_nopic
'
Me.pbar_nopic.ForeColor = System.Drawing.Color.Crimson
Me.pbar_nopic.Location = New System.Drawing.Point(501, 81)
Me.pbar_nopic.Name = "pbar_nopic"
Me.pbar_nopic.Size = New System.Drawing.Size(445, 23)
Me.pbar_nopic.Style = System.Windows.Forms.ProgressBarStyle.Continuous
Me.pbar_nopic.TabIndex = 13
'
'Label5
'
Me.Label5.AutoSize = True
Me.Label5.ForeColor = System.Drawing.Color.OrangeRed
Me.Label5.Location = New System.Drawing.Point(403, 90)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(93, 12)
Me.Label5.TabIndex = 14
Me.Label5.Text = "구번호 그림없음"
Me.Label5.UseWaitCursor = True
'
'ToolStripSeparator5
'
Me.ToolStripSeparator5.Name = "ToolStripSeparator5"
Me.ToolStripSeparator5.Size = New System.Drawing.Size(6, 39)
'
'ToolStripButton2
'
Me.ToolStripButton2.Checked = True
Me.ToolStripButton2.CheckState = System.Windows.Forms.CheckState.Checked
Me.ToolStripButton2.Font = New System.Drawing.Font("맑은 고딕", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.ToolStripButton2.Image = Global.EpoleNet.My.Resources.Resources.stop_32
Me.ToolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta
Me.ToolStripButton2.Name = "ToolStripButton2"
Me.ToolStripButton2.Size = New System.Drawing.Size(67, 36)
Me.ToolStripButton2.Text = "닫기"
'
'OldnumPicMan
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 12.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(954, 468)
Me.Controls.Add(Me.Label5)
Me.Controls.Add(Me.pbar_nopic)
Me.Controls.Add(Me.Label4)
Me.Controls.Add(Me.Label3)
Me.Controls.Add(Me.pbar_same)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.pbar_modify)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.pbar_nnot)
Me.Controls.Add(Me.pbar_onot)
Me.Controls.Add(Me.ToolStrip1)
Me.Controls.Add(Me.StatusStrip1)
Me.Controls.Add(Me.pbar_total)
Me.Controls.Add(Me.GroupBox2)
Me.Controls.Add(Me.GroupBox1)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D
Me.Name = "OldnumPicMan"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "파일변 변경 ( 구 - > 신 )"
CType(Me.MyFpoint1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.MyFpoint1_Sheet1, System.ComponentModel.ISupportInitialize).EndInit()
Me.GroupBox1.ResumeLayout(False)
Me.GroupBox2.ResumeLayout(False)
CType(Me.view_green, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.view_green_Sheet1, System.ComponentModel.ISupportInitialize).EndInit()
Me.StatusStrip1.ResumeLayout(False)
Me.StatusStrip1.PerformLayout()
Me.ToolStrip1.ResumeLayout(False)
Me.ToolStrip1.PerformLayout()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents MyFpoint1 As MyControlOLEDBv2.MyFpoint
Friend WithEvents MyFpoint1_Sheet1 As FarPoint.Win.Spread.SheetView
Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox
Friend WithEvents pbar_modify As System.Windows.Forms.ProgressBar
Friend WithEvents view_green As MyControlOLEDBv2.MyFpoint
Friend WithEvents view_green_Sheet1 As FarPoint.Win.Spread.SheetView
Friend WithEvents pbar_onot As System.Windows.Forms.ProgressBar
Friend WithEvents pbar_total As System.Windows.Forms.ProgressBar
Friend WithEvents StatusStrip1 As System.Windows.Forms.StatusStrip
Friend WithEvents lb_picdirectory As System.Windows.Forms.ToolStripStatusLabel
Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip
Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator
Friend WithEvents bt_picselect As System.Windows.Forms.ToolStripButton
Friend WithEvents ToolStripSeparator2 As System.Windows.Forms.ToolStripSeparator
Friend WithEvents ToolStripLabel2 As System.Windows.Forms.ToolStripLabel
Friend WithEvents cmb_picEXT As System.Windows.Forms.ToolStripComboBox
Friend WithEvents ToolStripSeparator3 As System.Windows.Forms.ToolStripSeparator
Friend WithEvents CHK_SUBDIR As System.Windows.Forms.ToolStripButton
Friend WithEvents ToolStripStatusLabel1 As System.Windows.Forms.ToolStripStatusLabel
Friend WithEvents ToolStripButton1 As System.Windows.Forms.ToolStripButton
Friend WithEvents pbar_nnot As System.Windows.Forms.ProgressBar
Friend WithEvents ToolStripSeparator4 As System.Windows.Forms.ToolStripSeparator
Friend WithEvents chk_test As System.Windows.Forms.ToolStripButton
Friend WithEvents bt_output As System.Windows.Forms.ToolStripDropDownButton
Friend WithEvents m_allouuoolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents m_modfy As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents pbar_same As System.Windows.Forms.ProgressBar
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents Label3 As System.Windows.Forms.Label
Friend WithEvents Label4 As System.Windows.Forms.Label
Friend WithEvents pbar_nopic As System.Windows.Forms.ProgressBar
Friend WithEvents Label5 As System.Windows.Forms.Label
Friend WithEvents m_outall As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents m_outc As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents ToolStripSeparator5 As System.Windows.Forms.ToolStripSeparator
Friend WithEvents ToolStripButton2 As System.Windows.Forms.ToolStripButton
End Class

View File

@@ -0,0 +1,132 @@
<?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="MyFpoint1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="view_green_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>172, 17</value>
</metadata>
<metadata name="StatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>443, 17</value>
</metadata>
<metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>430, 52</value>
</metadata>
</root>

View File

@@ -0,0 +1,263 @@
Public Class OldnumPicMan
'Public FindDir As String = My.Application.Info.DirectoryPath & "\pic"
Private Sub OldnumPicMan_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
End Sub
Private Sub OldnumPicMan_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
For Each SC As FarPoint.Win.Spread.Column In Me.MyFpoint1.ActiveSheet.Columns
If Not (SC.DataField = "구관리구" OrElse SC.DataField = "구전산번호" OrElse SC.DataField = "관리구" OrElse SC.DataField = "전주번호") Then
SC.Width = 0
Else
SC.Width = 60
End If
Next
End Sub
Private Sub bt_picselect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_picselect.Click
Dim A As New FolderBrowserDialog
A.RootFolder = Environment.SpecialFolder.MyComputer
A.SelectedPath = Me.lb_picdirectory.Text
If A.ShowDialog() = System.Windows.Forms.DialogResult.Cancel Then
MsgBox("선택이 취소되었습니다", MsgBoxStyle.Critical, "확인")
Return
End If
Me.lb_picdirectory.Text = A.SelectedPath
End Sub
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
Me.Compare_OldImage()
End Sub
'Private Sub Addlog_same(ByVal Index As Integer, ByVal memo As String)
' ' Return
' With Me.view_same.ActiveSheet
' .RowCount += 1 '//행증가
' .Cells(.RowCount - 1, 0).Text = Index + 1
' .Cells(.RowCount - 1, 1).Text = memo
' Me.pbar_same.Value += 1
' End With
'End Sub
'Private Sub Addlog_Onot(ByVal Index As Integer)
' ' Return
' With Me.view_onot.ActiveSheet
' .RowCount += 1 '//행증가
' .Cells(.RowCount - 1, 0).Text = Index + 1
' '.Cells(.RowCount - 1, 1).Text = memo
' Me.pbar_onot.Value += 1
' End With
'End Sub
'Private Sub Addlog_nnot(ByVal Index As Integer)
' ' Return
' With Me.view_nnot.ActiveSheet
' .RowCount += 1 '//행증가
' .Cells(.RowCount - 1, 0).Text = Index + 1
' ' .Cells(.RowCount - 1, 1).Text = memo
' Me.pbar_nnot.Value += 1
' End With
'End Sub
Private Sub Addlog_G(ByVal Index As Integer, ByVal filename1 As String, ByVal filename2 As String, ByVal Msg As String)
'//정상변경시
With view_green.ActiveSheet
.RowCount += 1 '//행증가
.Cells(.RowCount - 1, 0).Text = Index + 1
.Cells(.RowCount - 1, 1).Text = filename1
.Cells(.RowCount - 1, 2).Text = filename2
.Cells(.RowCount - 1, 3).Text = Msg
'.Cells(.RowCount - 1, 4).Text = path2
'Me.pbar_modify.Value += 1
End With
End Sub
Private Sub Compare_OldImage()
Dim A As New System.Text.StringBuilder("파일명에 추가된 태그를 입력하세요.")
A.AppendLine()
A.AppendLine("입력될 태그를 파일명의 앞뒤에 붙인후 검색합니다.")
A.AppendLine()
A.AppendLine("입력방법 : 앞에붙일태그/뒤에붙일태그 ")
A.AppendLine()
A.AppendLine("예) 파일명 뒤에 _01 이 붙은것을 검색하고자할때")
A.AppendLine(" /_01 <= 입력하고 엔터")
A.AppendLine()
A.AppendLine("예) 파일명 앞에 P 가 붙은것을 검색하고자할때")
A.AppendLine(" P/ <= 입력하고 엔터")
A.AppendLine()
A.AppendLine("예) 파일명 앞에 P가 붙고 뒤에 _1이 붙은것을 검색하고자할때")
A.AppendLine(" p/_01 <= 입력하고 엔터")
Dim Itag As String = InputBox(A.ToString, "태그입력", "/_01")
If Itag = "" Then
MsgBox("태그를 반드시 입력해야합니다" & vbCrLf & "작업이 취소되었습니다", MsgBoxStyle.Critical, "Error")
Return
End If
Dim Stag() As String = Itag.Split("/")
If Stag.GetUpperBound(0) <> 1 Then
MsgBox("잘못된 태그가 입력되었습니다" & vbCrLf & "태그입력형식은 앞,뒤 를 / 로 묶은 형태입니다" & vbCrLf & vbCrLf & "예) P/_01", MsgBoxStyle.Information, "태그입력오류")
Return
End If
Dim StartTime, Endtime As Date
Dim 구관리구, 구전주번호, 파일명, 파일명2, 풀네임, 관리구, 전주번호 As String
Dim Cnt As Integer = 0
Dim IDX As Integer = 0
Me.pbar_total.Minimum = 0
Me.pbar_total.Maximum = Me.MyFpoint1.ActiveSheet.Rows.Count
Me.pbar_total.Value = 0
Me.pbar_modify.Minimum = 0
Me.pbar_modify.Maximum = Me.MyFpoint1.ActiveSheet.Rows.Count
Me.pbar_modify.Value = 0
Me.pbar_onot.Minimum = 0
Me.pbar_onot.Maximum = Me.MyFpoint1.ActiveSheet.Rows.Count
Me.pbar_onot.Value = 0
Me.pbar_nnot.Minimum = 0
Me.pbar_nnot.Maximum = Me.MyFpoint1.ActiveSheet.Rows.Count
Me.pbar_nnot.Value = 0
Me.pbar_same.Minimum = 0
Me.pbar_same.Maximum = Me.MyFpoint1.ActiveSheet.Rows.Count
Me.pbar_same.Value = 0
Me.pbar_nopic.Minimum = 0
Me.pbar_nopic.Maximum = Me.MyFpoint1.ActiveSheet.Rows.Count
Me.pbar_nopic.Value = 0
Me.view_green_Sheet1.RowCount = 0
'Me.view_nnot_Sheet1.RowCount = 0
'Me.view_onot_Sheet1.RowCount = 0
'Me.view_same_Sheet1.RowCount = 0
'//임시결과파일폴더를 생서한다 폴더경로는 그림파일 아래에
Dim 작업폴더 As String = "c:\구그림작업폴더"
Dim 신폴더명 As String = Format(Now, "yyyyMMddhhmmss").ToString
Dim 기존폴더 As String = 작업폴더 & "\" & 신폴더명 & "\변경전파일(원본)"
Dim 신규폴더 As String = 작업폴더 & "\" & 신폴더명 & "\변경된파일"
If Not System.IO.Directory.Exists(작업폴더) Then System.IO.Directory.CreateDirectory(작업폴더)
If Not System.IO.Directory.Exists(작업폴더 & "\" & 신폴더명) Then System.IO.Directory.CreateDirectory(작업폴더 & "\" & 신폴더명)
System.IO.Directory.CreateDirectory(기존폴더)
System.IO.Directory.CreateDirectory(신규폴더)
Dim 대상폴더 As New System.IO.DirectoryInfo(Me.lb_picdirectory.Text)
Dim 검색결과() As System.IO.FileInfo
'/첫번째방법 데이터셋에서 검색을 한다.
StartTime = Now
For Each DR As FarPoint.Win.Spread.Row In Me.MyFpoint1.ActiveSheet.Rows
Me.pbar_total.Value = DR.Index
구관리구 = Me.MyFpoint1.Cells(DR.Index, "구관리구").Text
구전주번호 = Me.MyFpoint1.Cells(DR.Index, "구전산번호").Text
관리구 = Me.MyFpoint1.Cells(DR.Index, "관리구").Text
전주번호 = Me.MyFpoint1.Cells(DR.Index, "전주번호").Text
'파일명 = 구관리구 & 구전주번호
'MsgBox(구관리구 & "/" & 구전주번호)
' MsgBox(관리구 & "/" & 전주번호)
If CStr(구관리구 & 구전주번호) <> "" Then '//관리구 전주번호가 있을경우에만 확인한다.
풀네임 = Me.lb_picdirectory.Text & "\" & Stag(0) & 구관리구 & 구전주번호 & Stag(1) & "." & Me.cmb_picEXT.Text
파일명 = Stag(0) & 구관리구 & 구전주번호 & Stag(1) & "." & Me.cmb_picEXT.Text
If CStr(구관리구 & 구전주번호).Trim = CStr(관리구 & 전주번호).Trim Then
Addlog_G(DR.Index, "", "", "구번호와 신번호가 동일함")
Me.pbar_same.Value += 1
ElseIf CStr(관리구 & 전주번호) <> "" Then
검색결과 = 대상폴더.GetFiles(파일명, IIf(Me.CHK_SUBDIR.Checked, 1, 0))
'Dim fILES() As String = IO.Directory.GetFiles(Me.lb_picdirectory.Text, 관리구 & 전주번호 & Itag & "." & Me.cmb_picEXT.Text, IIf(Me.CHK_SUBDIR.Checked, 1, 0))
If 검색결과.GetUpperBound(0) >= 0 Then '//구관리전산에해당하는 파일은 존재한다.
파일명2 = Me.lb_picdirectory.Text & "\" & Stag(0) & 관리구 & 전주번호 & Stag(1) & "." & Me.cmb_picEXT.Text
If Me.chk_test.Checked Then
검색결과(0).CopyTo(신규폴더 & "\" & Stag(0) & 관리구 & 전주번호 & Stag(1) & "." & Me.cmb_picEXT.Text, True)
검색결과(0).MoveTo(기존폴더 & "\" & 검색결과(0).Name)
End If
Cnt += 1
Addlog_G(DR.Index, 검색결과(0).Name, Stag(0) & 관리구 & 전주번호 & Stag(1) & "." & Me.cmb_picEXT.Text, "완료")
Me.pbar_modify.Value += 1
Else '//구관리전산번호에 해당하는 그림이없으므로 패스
Addlog_G(DR.Index, "", "", "구번호의 그림이 존재하지 않음")
Me.pbar_nopic.Value += 1
'Arin.WLog("##########구전산번호 그림이 없습니다.(" & IDX & ")" & vbCrLf & "구관리전산번호=" & 구관리구 & 구전주번호, "\구관리전산그림변경(신관리전산없음).txt")
End If
Else
Addlog_G(DR.Index, "", "", "신번호 데이터가 없습니다.")
Me.pbar_nnot.Value += 1
'Arin.WLog("##########신관리전산번호가 없습니다.(" & IDX & ")" & vbCrLf & "구관리전산번호=" & 구관리구 & 구전주번호, "\구관리전산그림변경(신관리전산없음).txt")
End If
Else
'//구관리전산번호가 없어서 넘어갓다
Addlog_G(DR.Index, "", "", "구번호 데이터가 없습니다.")
Me.pbar_onot.Value += 1
'Arin.WLog("##########구관리전산번호가 없습니다.(" & IDX & ")", "\구관리전산그림변경(구관리전산없음).txt")
End If
IDX += 1
Next
Endtime = Now
A.Remove(0, A.Length)
A.AppendLine("시작시간=" & StartTime.ToString)
A.AppendLine("종료시간=" & Endtime.ToString)
A.AppendLine()
A.AppendLine("경과시간=" & (Endtime - StartTime).ToString)
A.AppendLine()
A.AppendLine("전체=" & Me.MyFpoint1.ActiveSheet.Rows.Count)
A.AppendLine("정상변경=" & Cnt)
A.AppendLine("변경불가=" & Me.MyFpoint1.ActiveSheet.Rows.Count - Cnt)
'A.AppendLine(My.Application.Info.DirectoryPath & "\log 에서 자세한 로그를 볼 수 있습니다")
MsgBox(A.ToString, MsgBoxStyle.Information, "구그림파일 변경결과")
Process.Start("explorer.exe", 작업폴더 & "\" & 신폴더명)
' Dim aA As New Process
'Process.Start("explorer ", My.Application.Info.DirectoryPath & "\log")
End Sub
Private Sub m_allouuoolStripMenuItempMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles m_allouuoolStripMenuItem.Click
Dim A As New SaveFileDialog
A.Filter = "엑셀워크시트문서(*.XLS)|*.xls"
A.FilterIndex = 0
A.FileName = My.Application.Info.DirectoryPath & "\(구관리전산그림변경)전체목록" & Now.Year.ToString & Now.Month.ToString & Now.Day.ToString
If A.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then Return
Me.MyFpoint1.SaveExcel(A.FileName, FarPoint.Win.Spread.Model.IncludeHeaders.ColumnHeadersCustomOnly)
My.Computer.Audio.Play(My.Application.Info.DirectoryPath & "\sound\notify.wav", AudioPlayMode.Background)
End Sub
Private Sub m_outallMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles m_outall.Click
Dim A As New SaveFileDialog
A.Filter = "엑셀워크시트문서(*.XLS)|*.xls"
A.FilterIndex = 0
A.FileName = My.Application.Info.DirectoryPath & "\(구관리전산그림변경-모든목록)실행결과"
If A.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then Return
Me.view_green.SaveExcel(A.FileName, FarPoint.Win.Spread.Model.IncludeHeaders.ColumnHeadersCustomOnly)
My.Computer.Audio.Play(My.Application.Info.DirectoryPath & "\sound\notify.wav", AudioPlayMode.Background)
End Sub
Private Sub m_outcnuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles m_outc.Click
Dim A As New SaveFileDialog
A.Filter = "엑셀워크시트문서(*.XLS)|*.xls"
A.FilterIndex = 0
A.FileName = My.Application.Info.DirectoryPath & "\(구관리전산그림변경-현재목록)실행결과"
If A.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then Return
Me.view_green.SaveExcel(A.FileName, FarPoint.Excel.ExcelSaveFlags.SaveAsFiltered)
My.Computer.Audio.Play(My.Application.Info.DirectoryPath & "\sound\notify.wav", AudioPlayMode.Background)
End Sub
Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click
Me.Close()
End Sub
End Class

1231
Epole.fp13/입력폼/PicList.Designer.vb generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,231 @@
<?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="lb_sunlo.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="lb_n1.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="lb_n2.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="lb_n4.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="lb_js.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="lb_sikong.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="lb_oldsan.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1041, 14</value>
</metadata>
<metadata name="StatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>418, 17</value>
</metadata>
<metadata name="StatusStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>39, 13</value>
</metadata>
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>524, 11</value>
</metadata>
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>916, 13</value>
</metadata>
<metadata name="IreaDataSet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>162, 10</value>
</metadata>
<metadata name="bn.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 54</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="BindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAStJREFUOE9jYBg0
oHDW8/9NC57/z5z4+D8uR4W3P8Apx5A789n/VUfe/8elKL77wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+
///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0v3f1BxRFoa33wJpb1wFt7/z73yX/AG4D
Apsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvgUXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF
7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbAIu/O/9T+11gVGSSd+C+b9vW/bvA83AYY
Zt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPulf8gBXgVDZqMh+wQAPB2wKsSwCgmAAAA
AElFTkSuQmCC
</value>
</data>
<data name="BindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAL1JREFUOE9jYBgy
ILz9wX+yHRvf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3v
kn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ14A0ChbVd8+3/6nN///bu+/dcpfPffImE9aQaADNFP
Of/fpOjFf5WsT/+NI5eRbgDIEIOkE/9l077+1w2eR54BYJekXv6v4TuNfANAhqh4TKDMALKTMc01AgDQ
FGCYkuTLEQAAAABJRU5ErkJggg==
</value>
</data>
<data name="BindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAKtJREFUOE9jYBh0
oHDW8/8UOSp35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78n73v1//OrX//u5VeJt2QyK5H/6ds+/W/
ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuIN8Sj6v7/krnv4JoVXXqI1wyKPvvSu/8D
W56BbSZZM8gAi7w7/20KrpCnGWSAYdZt8jWDDNBJu0GanylKtoNCMwCgfl+gC2KedgAAAABJRU5ErkJg
gg==
</value>
</data>
<data name="BindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAATBJREFUOE9jYBhU
oHDW8/+4HASSa1rw/H/mxMc41TDkznz2P6H7HlYFILlVR97/D29/gNuAjClP/8/b//t/QtcdDEUguYX7
PvwPbriG24CEnif/Z+/79b9z69//bqWXURSC5KZtef/fv/oCbgMiux79n7Lt1/+SpX//J0z/+98m9yxc
MUiud/WH/16lJ3AbENj88H/r2vdgzcYlX/5LR1/7bxy5DKwBJFc3/91/l/wDuA3wqLr/v2TuO7hmRZce
uGKQXP60N//tM7bjNsC+9O7/wJZnYJuRNYNcAJLLnvz6v0XCetwGWOTd+W9TcAVDM8gAkFxq/2u4l7Cm
F8Os21g1gxSD5MJaXv7XDZ6H2wU6aTdwSoLk/Kof/tfwnYbbAHz5yin3yn8VjwlgPKjyHwMAvtG/s0Vm
x8MAAAAASUVORK5CYII=
</value>
</data>
<metadata name="ContextMenuStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1033, 54</value>
</metadata>
<metadata name="view1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>287, 10</value>
</metadata>
<metadata name="ContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>775, 10</value>
</metadata>
<metadata name="filelistf_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>316, 54</value>
</metadata>
<metadata name="PicfileListBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>850, 54</value>
</metadata>
<metadata name="PicDS.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>767, 54</value>
</metadata>
<metadata name="jjdetTableAdapter1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>623, 9</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>73</value>
</metadata>
</root>

View File

@@ -0,0 +1,819 @@
Public Class PicList
Public 관리id As Integer
Dim BackWork As System.Threading.Thread
Dim DV As DataView
Public Sub New()
' 이 호출은 Windows Form 디자이너에 필요합니다.
InitializeComponent()
' InitializeComponent() 호출 뒤에 초기화 코드를 추가하십시오.
End Sub
Public Sub New(ByVal Index As Integer)
InitializeComponent()
관리id = Index
End Sub
Private Sub ShowCnt(ByVal cnt1 As Integer, ByVal cnt2 As Integer)
Me.lb_cnt.Text = cnt1 & "/" & cnt2
My.Application.DoEvents()
End Sub
Private Sub PicList_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
'Me.SortGroup1.SAVE_Setting()
Me.CHk_Modify()
Me.SAVE_Setting()
End Sub
Private Sub PicList_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.view1.Setting_Load(False)
Me.filelistf.Setting_Load(False)
'Me.jjdetTableAdapter1.Connection.ConnectionString = Common.ConString
Me.view1.Font = New Font(ViewFont.FontName, ViewFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.filelistf.Font = New Font(ViewFont.FontName, ViewFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.ToolStrip1.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.StatusStrip2.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
LOAD_Setting() '//기존의 셋팅이 저장된게 잇으면 가져온다.
Me.bt_picrefreh.PerformClick() '//그림목록을 갱신하며
Display_Data() '//전주세부목록도 보여준다.
Me.GETCNT()
Me.SETTOOLTIP()
End Sub
Private Sub SETTOOLTIP()
Dim TMSG As New System.Text.StringBuilder()
TMSG.AppendLine()
TMSG.AppendLine("태그1+관리구+전주번호+태그2 이용하여 파일명을 검색합니다")
TMSG.AppendLine()
TMSG.AppendLine("우측의 파일목록내에서 검색합니다.")
Me.bt_compareImg.ToolTipText = TMSG.ToString
TMSG = New System.Text.StringBuilder()
TMSG.AppendLine()
TMSG.AppendLine("데이터베이스에 저장된 그림파일경로를 확인하여")
TMSG.AppendLine("실제로 파일이 존재하는지 확인합니다")
Me.bt_chkimg.ToolTipText = TMSG.ToString
TMSG = New System.Text.StringBuilder()
TMSG.AppendLine()
TMSG.AppendLine("지정된 경로내의 그림파일 목록입니다.")
TMSG.AppendLine()
TMSG.AppendLine("항목을 더블클릭시 파일이름을 변경할 수 있습니다.")
TMSG.AppendLine("항목에 오른쪽 클릭시 항목의 경로로 현재 경로가 설정됩니다")
Me.ToolTip1.SetToolTip(Me.filelistf, TMSG.ToString)
End Sub
Private Sub LOAD_Setting()
Dim A As New MyINI2(MyPath.Current & "\setting.ini")
Try
Me.lb_picdirectory.Text = A.Read("pic", "DefaultPicDir", "c:\windows")
Me.lb_picdirectory.Text = Me.lb_picdirectory.Text.Trim(Chr(0)) '//한글이잇을경우 붙는 쓰레기츨 처리한다.
'Me.cmb_PICTYPE.SelectedIndex = A.Read("pic", "pictype", 3)
Me.cmb_picEXT.SelectedIndex = A.Read("pic", "picext", 1)
Me.CHK_SUBDIR.Checked = A.Read("pic", "subdir", True)
Catch ex As Exception
Me.lb_picdirectory.Text = vbNullString
Me.cmb_picEXT.SelectedIndex = 3
'Me.cmb_PICTYPE.SelectedIndex = 1
Me.CHK_SUBDIR.Checked = True
End Try
A = Nothing
End Sub
Private Sub SAVE_Setting()
Dim A As New MyINI2(MyPath.Current & "\setting.ini")
Try
A.Write("pic", "DefaultPicDir", Me.lb_picdirectory.Text)
'A.Write("pic", "pictype", Me.cmb_PICTYPE.SelectedIndex)
A.Write("pic", "picext", Me.cmb_picEXT.SelectedIndex)
A.Write("pic", "subdir", Me.CHK_SUBDIR.Checked)
Catch ex As Exception
End Try
A = Nothing
End Sub
Private Sub CHk_Modify(Optional ByVal prompt As Boolean = True)
Dim Cnt As Integer = 0
Me.bs.EndEdit()
If Not Me.IreaDataSet1.HasChanges Then
NOTICE("변경된 내용이 없습니다", Me.lb_msg)
Return
End If
If prompt Then
If MsgBox("변경된 데이터를 저장하시겠습니까?", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "저장확인") <> MsgBoxResult.Ok Then Return
End If
NOTICE("저장중입니다.... 잠시만 기다려주세요", Color.Blue, Me.lb_msg)
Try
Me.bs.EndEdit()
Me.jjdetTableAdapter1.Update(Me.IreaDataSet1.jjutable)
Me.IreaDataSet1.jjutable.AcceptChanges()
NOTICE(Cnt & "개의 데이터가 변경되었습니다", Me.lb_msg)
Catch ex As Exception
MsgBox("데이터베이스 변경중 오류가 발생했습니다" & vbCrLf & vbCrLf & ex.ToString, MsgBoxStyle.Critical, "ERROR-")
Me.bs.CancelEdit()
Me.IreaDataSet1.jjutable.RejectChanges()
End Try
NOTICE("저장완료", Color.Blue, Me.lb_msg)
My.Computer.Audio.Play(My.Application.Info.DirectoryPath & "\sound\notify.wav", AudioPlayMode.Background)
End Sub
Private Sub Display_Data(Optional ByVal OrderState As String = vbNullString) '//뷰에데이터를 표시한다.
Me.jjdetTableAdapter1.Fill(Me.IreaDataSet1.jjutable, 관리id)
DV = New DataView(Me.IreaDataSet1.jjutable, "", "정렬번호,번호", DataViewRowState.CurrentRows)
Me.bs.DataSource = DV
NOTICE(Me.view1.ActiveSheet.RowCount & "개의 데이터가 검색되었습니다", Me.lb_msg)
End Sub
Private Sub bt_picselect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_picselect.Click
Dim A As New FolderBrowserDialog
A.RootFolder = Environment.SpecialFolder.MyComputer
A.SelectedPath = Me.lb_picdirectory.Text
If A.ShowDialog() = System.Windows.Forms.DialogResult.Cancel Then
MsgBox("선택이 취소되었습니다", MsgBoxStyle.Critical, "확인")
Return
End If
Me.lb_picdirectory.Text = A.SelectedPath
Me.bt_picrefreh.PerformClick()
End Sub
Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_picrefreh.Click
Dim A As New System.IO.DirectoryInfo(Me.lb_picdirectory.Text)
If A.Exists = False Then Return
Me.PicDS.PicfileList.Clear() '//현재목록초기화
Me.PicDS.PicfileList.AcceptChanges()
If Me.PicDS.PicfileList.Count > 0 Then
MsgBox("기존 파일목록이 삭제가되지않았습니다", MsgBoxStyle.Critical, "확인")
Return
End If
Dim FI() As System.IO.FileInfo = A.GetFiles("*." & Me.cmb_picEXT.Text, IIf(Me.CHK_SUBDIR.Checked, 1, 0))
If FI.GetUpperBound(0) = -1 Then
MsgBox("가능한 파일이 존재하지 않습니다", MsgBoxStyle.Critical, "확인")
Return
End If
Dim index As Integer = 0
Dim endcnt As Integer = FI.GetUpperBound(0)
For Each B As IO.FileInfo In FI
index += 1
Me.ShowCnt(index, endcnt)
Dim DR As PicDS.PicfileListRow = Me.PicDS.PicfileList.NewPicfileListRow
DR.파일명 = B.Name
DR.크기 = B.Length
DR.찾음 = vbNullString
DR.경로 = B.DirectoryName
Me.PicDS.PicfileList.AddPicfileListRow(DR)
Next
End Sub
Private Sub Check_image()
Dim A As New System.Text.StringBuilder
Dim StartTime, Endtime As Date
Dim 파일명s As String
Dim 파일명v As String
Dim Cnt As Integer = 0
'/첫번째방법 데이터셋에서 검색을 한다.
StartTime = Now
With Me.view1.ActiveSheet
For Each FRow As FarPoint.Win.Spread.Row In .Rows
Me.ShowCnt(FRow.Index, .RowCount - 1)
파일명s = CStr(Me.view1.Cells(FRow.Index, "그림경로").Text & "\" & Me.view1.Cells(FRow.Index, "그림파일").Text).Replace("\\", "\")
파일명v = CStr(DV.Item(FRow.Index)("그림경로").ToString & "\" & DV.Item(FRow.Index)("그림파일").ToString).Replace("\\", "\")
If 파일명s <> 파일명v Then
MsgBox("뷰와 스프레드의 순서가 다릅니다 : " & FRow.Index)
End If
If 파일명s <> "" Then '//관리구 전주번호가 있을경우에만 확인한다.
If System.IO.File.Exists(파일명s) Then
Cnt += 1
Me.view1.Cells(FRow.Index, "그림").Value = True
Else
Me.view1.Cells(FRow.Index, "그림").Value = False
End If
Else
Me.view1.Cells(FRow.Index, "그림").Value = False
End If
'IDX += 1
Next
End With
'For Each DR As DataRow In Me.IreaDataSet1.Tables(1).Rows
' Me.prbar1.Value = IDX
' 파일명 = IIf(IsDBNull(DR("그림파일명")), vbNullString, DR("그림파일명"))
' If 파일명 = "" Then
' Me.view1.ActiveSheet.Cells(IDX, Me.view1.선택줄번호).Value = False
' Else
' If System.IO.File.Exists(파일명) Then
' Cnt += 1
' Me.view1.ActiveSheet.Cells(IDX, Me.view1.선택줄번호).Value = True
' Else
' Me.view1.ActiveSheet.Cells(IDX, Me.view1.선택줄번호).Value = False
' End If
' End If
' IDX += 1
'Next
Endtime = Now
A.Remove(0, A.Length)
A.AppendLine("시작시간=" & StartTime.ToString)
A.AppendLine("종료시간=" & Endtime.ToString)
A.AppendLine()
A.AppendLine("경과시간=" & (Endtime - StartTime).ToString)
A.AppendLine()
A.AppendLine("전체=" & Me.IreaDataSet1.jjutable.Rows.Count)
A.AppendLine("찾음=" & Cnt)
A.AppendLine("없음=" & Me.IreaDataSet1.jjutable.Rows.Count - Cnt)
MsgBox(A.ToString, MsgBoxStyle.Information, "그림파일확인 결과")
End Sub
Private Sub Compare_Image()
If Me.PicDS.PicfileList.Rows.Count <= 0 Then
MsgBox("검색가능한 파일이 존재하지않습니다", MsgBoxStyle.Critical, "태그입력오류")
Return
End If
Dim A As New System.Text.StringBuilder("파일명에 추가된 태그를 입력하세요.")
A.AppendLine()
A.AppendLine("입력될 태그를 파일명의 앞뒤에 붙인후 검색합니다.")
A.AppendLine()
A.AppendLine("입력방법 : 앞에붙일태그/뒤에붙일태그 ")
A.AppendLine()
A.AppendLine("예) 파일명 뒤에 _01 이 붙은것을 검색하고자할때")
A.AppendLine(" /_01% <= 입력하고 엔터")
A.AppendLine()
A.AppendLine("예) 파일명 앞에 P 가 붙은것을 검색하고자할때")
A.AppendLine(" %P/ <= 입력하고 엔터")
A.AppendLine()
A.AppendLine("예) 파일명 앞에 P가 붙고 뒤에 _01이 붙은것을 검색하고자할때")
A.AppendLine(" %P/_01% <= 입력하고 엔터")
A.AppendLine("==========================================")
A.AppendLine(" _03 : 신설+철거 , _04 : 신설 자동 체크")
Dim Itag As String = InputBox(A.ToString, "태그입력", "%/%")
If Itag = "" Then
MsgBox("태그를 반드시 입력해야합니다" & vbCrLf & "작업이 취소되었습니다", MsgBoxStyle.Critical, "Error")
Return
End If
Dim Stag() As String = Itag.Split("/")
If Stag.GetUpperBound(0) <> 1 Then
MsgBox("잘못된 태그가 입력되었습니다" & vbCrLf & "태그입력형식은 앞,뒤 를 / 로 묶은 형태입니다" & vbCrLf & vbCrLf & "예) %P/_01%", MsgBoxStyle.Information, "태그입력오류")
Return
End If
'//파일목록디비에서 그림찾음 부분을 리셋한다
Dim index As Integer = 0
Dim endcnt As Integer = Me.PicDS.PicfileList.Rows.Count - 1
For Each Dr As DataRow In Me.PicDS.PicfileList.Rows
index += 1
ShowCnt(index, endcnt)
Dr("찾음") = ""
Dr("메세지") = ""
Next
'//실제 수행부분
Dim StartTime, Endtime As Date
Dim 관리구, 전주번호, 파일명 As String
Dim Cnt As Integer = 0
Dim IDX As Integer = 0
StartTime = Now
'//데이터뷰를 통해서말고 파포인트에서 한다.
Dim Sv As DataView
index = 0
With Me.view1.ActiveSheet
For Each FRow As DataRow In Me.IreaDataSet1.jjutable.Rows
index += 1
ShowCnt(index, endcnt)
관리구 = NVL(FRow("관리구"), "")
전주번호 = NVL(FRow("전주번호"), "")
파일명 = CStr(관리구 & 전주번호).Trim
If 파일명 <> "" Then '//관리구 전주번호가 있을경우에만 확인한다.
파일명 = Stag(0) & 관리구 & 전주번호 & Stag(1) ' & "." & Me.cmb_picEXT.Text
'Dim DR() As DataRow '= Me.PicDS.PicfileList.Select("파일명 like '" & 파일명 & "'") '//LIke 검색을 한다.
If chk_03.Checked Then
Sv = New DataView(Me.PicDS.PicfileList, "파일명 like '%_03%' and 파일명 like '" & 파일명 & "'", "", DataViewRowState.CurrentRows)
If Sv.Count > 0 Then
Cnt += 1
FRow("신규") = True
FRow("철거") = True
FRow("그림") = True
FRow("기입") = False
'//찾은그림파일및 경로를 데이터베이스에 복사한다.
Sv.Item(0)("찾음") = "O"
FRow("그림경로") = Sv.Item(0)("경로")
FRow("그림파일") = Sv.Item(0)("파일명")
Sv.Item(0)("메세지") = "우선순위_03"
GoTo LAST
End If
End If
If chk_04.Checked Then
Sv = New DataView(Me.PicDS.PicfileList, "파일명 like '%_04%' and 파일명 like '" & 파일명 & "'", "", DataViewRowState.CurrentRows)
If Sv.Count > 0 Then
Cnt += 1
FRow("신규") = True
FRow("철거") = False
FRow("그림") = True
FRow("기입") = False
Sv.Item(0)("찾음") = "O"
FRow("그림경로") = Sv.Item(0)("경로")
FRow("그림파일") = Sv.Item(0)("파일명")
Sv.Item(0)("메세지") = "우선순위_04"
GoTo LAST
End If
End If
If chk_01.Checked Then
Sv = New DataView(Me.PicDS.PicfileList, "파일명 like '%_01%' and 파일명 like '" & 파일명 & "'", "", DataViewRowState.CurrentRows)
If Sv.Count > 0 Then
Cnt += 1
FRow("신규") = False
FRow("철거") = False
FRow("그림") = True
FRow("기입") = True
Sv.Item(0)("찾음") = "O"
FRow("그림경로") = Sv.Item(0)("경로")
FRow("그림파일") = Sv.Item(0)("파일명")
Sv.Item(0)("메세지") = "우선순위_01"
GoTo LAST
End If
End If
If chk_71.Checked Then
Sv = New DataView(Me.PicDS.PicfileList, "파일명 like '%_71%' and 파일명 like '" & 파일명 & "'", "", DataViewRowState.CurrentRows)
If Sv.Count > 0 Then
Cnt += 1
FRow("신규") = False
FRow("철거") = False
FRow("그림") = True
FRow("기입") = True
Sv.Item(0)("찾음") = "O"
FRow("그림경로") = Sv.Item(0)("경로")
FRow("그림파일") = Sv.Item(0)("파일명")
Sv.Item(0)("메세지") = "우선순위_71"
GoTo LAST
End If
End If
'//여기까지왓다는것은 암껏도 못찾앗다는것이므로 찾은것중에 0번째를 지정하고 나간다.
Sv = New DataView(Me.PicDS.PicfileList, "파일명 like '" & 파일명 & "'", "", DataViewRowState.CurrentRows)
If Sv.Count > 0 Then
Cnt += 1
FRow("신규") = False
FRow("철거") = False
FRow("기입") = False
FRow("그림") = True
Sv.Item(0)("찾음") = "O"
FRow("그림경로") = Sv.Item(0)("경로")
FRow("그림파일") = Sv.Item(0)("파일명")
Sv.Item(0)("메세지") = "첫번쨰발견아이템"
If FRow("그림파일").ToString.IndexOf("_03") >= 0 Then
FRow("신규") = True
FRow("철거") = True
ElseIf FRow("그림파일").ToString.IndexOf("_04") >= 0 Then
FRow("신규") = True
Else
FRow("기입") = True
End If
Else
FRow("신규") = False
FRow("철거") = False
FRow("그림") = False
FRow("기입") = True
FRow("그림경로") = ""
FRow("그림파일") = ""
End If
LAST:
End If
Next
End With
Endtime = Now
A.Remove(0, A.Length)
A.AppendLine("시작시간=" & StartTime.ToString)
A.AppendLine("종료시간=" & Endtime.ToString)
A.AppendLine()
A.AppendLine("경과시간=" & (Endtime - StartTime).ToString)
A.AppendLine()
A.AppendLine("전체=" & Me.IreaDataSet1.jjutable.Rows.Count)
A.AppendLine("찾음=" & Cnt)
A.AppendLine("없음=" & Me.IreaDataSet1.jjutable.Rows.Count - Cnt)
MsgBox(A.ToString, MsgBoxStyle.Information, "그림파일연결 결과")
End Sub
Private Sub Compare_OldImage()
Dim A As New System.Text.StringBuilder("파일명뒤에 붙을 태그를 입력하세요")
IO.Directory.CreateDirectory(My.Application.Info.DirectoryPath & "\log\변경후파일")
IO.Directory.CreateDirectory(My.Application.Info.DirectoryPath & "\log\변경전파일")
A.AppendLine()
A.AppendLine("입력될 태그를 파일명뒤에 붙인후 파일명을 비교합니다")
Dim Itag As String = InputBox(A.ToString, "태그입력", "_01")
If Itag = "" Then
MsgBox("태그를 반드시 입력해야합니다", MsgBoxStyle.Critical, "Error")
Return
End If
Dim StartTime, Endtime As Date
Dim 구관리구, 구전주번호, 파일명, 파일명2, 관리구, 전주번호 As String
Dim Cnt As Integer = 0
Dim IDX As Integer = 0
Dim endcnt As Integer = Me.IreaDataSet1.Tables("전주세부").Rows.Count
'/첫번째방법 데이터셋에서 검색을 한다.
StartTime = Now
For Each DR As ireaDataSet.jjutableRow In Me.IreaDataSet1.Tables(1).Rows
ShowCnt(IDX, endcnt)
구관리구 = DR.구관리구.Trim
구전주번호 = DR.구전산번호.Trim
관리구 = DR.관리구
전주번호 = DR.전주번호
'파일명 = 구관리구 & 구전주번호
If CStr(구관리구 & 구전주번호) <> "" Then '//관리구 전주번호가 있을경우에만 확인한다.
If CStr(관리구 & 전주번호) <> "" Then
파일명 = Me.lb_picdirectory.Text & "\" & 구관리구 & 구전주번호 & Itag & "." & Me.cmb_picEXT.Text
'Dim fILES() As String = IO.Directory.GetFiles(Me.lb_picdirectory.Text, 관리구 & 전주번호 & Itag & "." & Me.cmb_picEXT.Text, IIf(Me.CHK_SUBDIR.Checked, 1, 0))
If IO.File.Exists(파일명) Then
파일명2 = Me.lb_picdirectory.Text & "\" & 관리구 & 전주번호 & Itag & "." & Me.cmb_picEXT.Text
IO.File.Copy(파일명, My.Application.Info.DirectoryPath & "\log\변경후파일\" & 관리구 & 전주번호 & Itag & "." & Me.cmb_picEXT.Text, True)
IO.File.Move(파일명, My.Application.Info.DirectoryPath & "\log\변경전파일\" & 구관리구 & 구전주번호 & Itag & "." & Me.cmb_picEXT.Text)
Cnt += 1
WLog("##########변경완료(" & IDX & ")" & vbCrLf & "구관리전산번호=" & 구관리구 & _
구전주번호 & vbCrLf & "신관리전산번호=" & 관리구 & 전주번호 & _
"원본파일명 = " & 파일명 & vbCrLf & "대상파일명=" & 파일명2, "\구관리전산그림변경(완료됨).txt")
'Me.view1.ActiveSheet.Cells(IDX, 20).Value = True
Else '//구관리전산번호에 해당하는 그림이없으므로 패스
'Me.view1.ActiveSheet.Cells(IDX, 20).Value = False
WLog("##########구관리전산번호에대한 그림파일이 없습니다.(" & IDX & ")" & vbCrLf & "구관리전산번호=" & 구관리구 & _
구전주번호 & vbCrLf & "신관리전산번호=" & 관리구 & 전주번호 & vbCrLf & _
"원본파일명 = " & 파일명, "\구관리전산그림변경(구관리전산그림없음).txt")
End If
Else
WLog("##########신관리전산번호가 없습니다.(" & IDX & ")" & vbCrLf & "구관리전산번호=" & 구관리구 & 구전주번호, "\구관리전산그림변경(신관리전산없음).txt")
End If
Else
'//구관리전산번호가 없어서 넘어갓다
WLog("##########구관리전산번호가 없습니다.(" & IDX & ")", "\구관리전산그림변경(구관리전산없음).txt")
IDX += 1
End If
Next
Endtime = Now
A.Remove(0, A.Length)
A.AppendLine("시작시간=" & StartTime.ToString)
A.AppendLine("종료시간=" & Endtime.ToString)
A.AppendLine()
A.AppendLine("경과시간=" & (Endtime - StartTime).ToString)
A.AppendLine()
A.AppendLine("전체=" & Me.IreaDataSet1.Tables(1).Rows.Count)
A.AppendLine("정상변경=" & Cnt)
A.AppendLine("변경불가=" & Me.IreaDataSet1.Tables(1).Rows.Count - Cnt)
A.AppendLine()
A.AppendLine("변경전 원본파일은 " & My.Application.Info.DirectoryPath & "\log\변경전파일")
A.AppendLine("변경후 대상파일은 " & My.Application.Info.DirectoryPath & "\log\변경후파일")
A.AppendLine("에 존재하며 원본파일은 원본위치(" & Me.lb_picdirectory.Text & ")" & " 에서")
A.AppendLine(My.Application.Info.DirectoryPath & "\log\변경전파일" & " 로 이동되었습니다")
A.AppendLine(My.Application.Info.DirectoryPath & "\log 에서 자세한 로그를 볼 수 있습니다")
MsgBox(A.ToString, MsgBoxStyle.Information, "구그림파일 변경결과")
' Dim aA As New Process
'Process.Start("explorer ", My.Application.Info.DirectoryPath & "\log")
End Sub
Private Sub cmb_picEXT_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmb_picEXT.SelectedIndexChanged
'확장자를 바껏으니 목록을 갱신한다.
Me.bt_picrefreh.PerformClick()
End Sub
#Region "GETCNT : 화면하단에 기입/신규/철거/그림의 카운터를 보여줌"
Private Sub GETCNT()
Dim 신규, 기입, 철거, 그림 As Integer
For Each A As FarPoint.Win.Spread.Row In Me.view1.ActiveSheet.Rows
If Me.view1.ActiveSheet.Cells(A.Index, 21).Value = True Then 그림 += 1
If Me.view1.ActiveSheet.Cells(A.Index, 20).Value = True Then 철거 += 1
If Me.view1.ActiveSheet.Cells(A.Index, 19).Value = True Then 신규 += 1
If Me.view1.ActiveSheet.Cells(A.Index, 18).Value = True Then 기입 += 1
Next
Me.lb_total.Text = "전체:" & Me.view1.ActiveSheet.RowCount & "/기입:" & 기입 & "/신규:" & 신규 & "/철거:" & 철거 & "/그림:" & 그림
End Sub
#End Region
Private Sub view1_ButtonClicked(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.EditorNotifyEventArgs) Handles view1.ButtonClicked
'//신규,기입,철거중 변하는게 있으면 목록수를 다시 갱신해준다.
If e.Column = 21 OrElse e.Column = 18 OrElse e.Column = 19 OrElse e.Column = 20 Then
'MsgBox(e.Column)
Me.GETCNT()
End If
End Sub
Private Sub view1_EnterCell(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.EnterCellEventArgs) Handles view1.EnterCell
Dim RowIndex As Integer = Me.view1.ActiveSheet.ActiveRowIndex
Dim Fn As String = CStr(Me.view1.Cells("그림경로").Text & "\" & Me.view1.Cells("그림파일").Text).Replace("\\", "\")
'//그림도 보여준다.
If IO.File.Exists(Fn) Then
Me.pic1.Image = Image.FromFile(Fn)
NOTICE("<그림파일이 확인되었습니다>", Me.lb_msg)
Else
Me.pic1.Image = Nothing
NOTICE("그림파일(" & Fn & ")이 존재하지 않습니다", Me.lb_msg)
End If
End Sub
Private Sub BindingNavigatorAddNewItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_commit.Click
CHk_Modify()
Display_Data()
End Sub
Private Sub BindingNavigatorDeleteItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_cancel.Click
If Not Me.IreaDataSet1.HasChanges Then
NOTICE("변경된 데이터가 없습니다", Me.lb_msg)
Return
End If
Me.IreaDataSet1.RejectChanges()
NOTICE("변경된 데이터가 복원되었습니다", Color.Blue, Me.lb_msg)
End Sub
Private Sub m_fileallenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles m_fileall.Click
Dim A As New SaveFileDialog
A.Filter = "엑셀워크시트문서(*.XLS)|*.xls"
A.FilterIndex = 0
A.FileName = My.Application.Info.DirectoryPath & "\전체리스트목록"
If A.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then Return
Me.view1.SaveExcel(A.FileName, FarPoint.Win.Spread.Model.IncludeHeaders.ColumnHeadersCustomOnly)
My.Computer.Audio.Play(My.Application.Info.DirectoryPath & "\sound\notify.wav", AudioPlayMode.Background)
End Sub
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
OldnumPicMan.cmb_picEXT.SelectedIndex = Me.cmb_picEXT.SelectedIndex
OldnumPicMan.lb_picdirectory.Text = Me.lb_picdirectory.Text
OldnumPicMan.MyFpoint1.DataSource = Me.bs
OldnumPicMan.ShowDialog()
End Sub
Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton3.Click
Me.Close()
End Sub
Private Sub m_filekiipenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles m_filekiip.Click
'Me.BindingSource1.Filter = "기입"
Dim Dv As New DataView(Me.IreaDataSet1.jjutable, "기입", "", DataViewRowState.CurrentRows)
Me.view1.DataSource = Dv
Dim A As New SaveFileDialog
A.Filter = "엑셀워크시트문서(*.XLS)|*.xls"
A.FilterIndex = 0
A.FileName = My.Application.Info.DirectoryPath & "\기입선택목록"
If A.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
Me.view1.SaveExcel(A.FileName, FarPoint.Win.Spread.Model.IncludeHeaders.ColumnHeadersCustomOnly)
My.Computer.Audio.Play(My.Application.Info.DirectoryPath & "\sound\notify.wav", AudioPlayMode.Background)
End If
Me.view1.DataSource = Me.bs
End Sub
Private Sub m_filesinku_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles m_filesinku.Click
Me.bs.Filter = "신규"
Dim A As New SaveFileDialog
A.Filter = "엑셀워크시트문서(*.XLS)|*.xls"
A.FilterIndex = 0
A.FileName = My.Application.Info.DirectoryPath & "\신규선택목록"
If A.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then
Me.bs.Filter = ""
Return
End If
Me.view1.SaveExcel(A.FileName, FarPoint.Win.Spread.Model.IncludeHeaders.ColumnHeadersCustomOnly)
My.Computer.Audio.Play(My.Application.Info.DirectoryPath & "\sound\notify.wav", AudioPlayMode.Background)
Me.bs.Filter = ""
End Sub
Private Sub m_filechol_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles m_filechol.Click
Me.bs.Filter = "철거"
Dim A As New SaveFileDialog
A.Filter = "엑셀워크시트문서(*.XLS)|*.xls"
A.FilterIndex = 0
A.FileName = My.Application.Info.DirectoryPath & "\철거선택목록"
If A.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then
Me.bs.Filter = ""
Return
End If
Me.view1.SaveExcel(A.FileName, FarPoint.Win.Spread.Model.IncludeHeaders.ColumnHeadersCustomOnly)
My.Computer.Audio.Play(My.Application.Info.DirectoryPath & "\sound\notify.wav", AudioPlayMode.Background)
Me.bs.Filter = ""
End Sub
Private Sub m_filepicno_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles m_filepicno.Click
Dim Dv As New DataView(Me.IreaDataSet1.jjutable, "not 그림", "", DataViewRowState.CurrentRows)
Me.view1.DataSource = Dv
Dim A As New SaveFileDialog
A.Filter = "엑셀워크시트문서(*.XLS)|*.xls"
A.FilterIndex = 0
A.FileName = My.Application.Info.DirectoryPath & "\목록은있고사진파일이없는경우"
If A.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then
Me.view1.DataSource = bs
Return
End If
Me.view1.SaveExcel(A.FileName, FarPoint.Win.Spread.Model.IncludeHeaders.ColumnHeadersCustomOnly)
My.Computer.Audio.Play(My.Application.Info.DirectoryPath & "\sound\notify.wav", AudioPlayMode.Background)
Me.view1.DataSource = bs
End Sub
Private Sub ToolStripButton1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
Me.CHk_Modify()
Me.Display_Data()
End Sub
Private Sub bt_chkimg_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_chkimg.Click
If MsgBox("계속하시겠습니까?", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "확인") <> MsgBoxResult.Ok Then Return
If Me.lb_picdirectory.Text = "" OrElse Me.lb_picdirectory.Text = "+" Then Me.bt_picselect.PerformClick()
If Me.lb_picdirectory.Text = "" OrElse Me.lb_picdirectory.Text = "+" Then Return
'BackWork = New Threading.Thread(AddressOf Check_image)
'BackWork.Start()
Check_image()
End Sub
Private Sub ToolStripButton4_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_compareImg.Click
End Sub
Private Sub filelistf_CellDoubleClick(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.CellClickEventArgs) Handles filelistf.CellDoubleClick
Dim 파일명 As String
Dim 파일경로 As String
Dim 파일Cell As FarPoint.Win.Spread.Cell
Dim 경로cell As FarPoint.Win.Spread.Cell
파일Cell = Me.filelistf.ActiveSheet.Cells(Me.filelistf.ActiveSheet.ActiveRowIndex, 0)
경로cell = Me.filelistf.ActiveSheet.Cells(Me.filelistf.ActiveSheet.ActiveRowIndex, 1)
파일명 = 파일Cell.Text
파일경로 = 경로cell.Text
Dim 신파일명 As String = InputBox("새로운 파일명을 입력하세요", "파일명변경", 파일명) : If 신파일명 = "" Then Return
If System.IO.File.Exists(파일경로 & "\" & 파일명) = False Then
MsgBox("원본파일이 존재하지않습니다", MsgBoxStyle.Critical, "변경 실패")
Return
End If
System.IO.File.Move(파일경로 & "\" & 파일명, 파일경로 & "\" & 신파일명)
NOTICE("파일명이 " & 신파일명 & " 으로 변경되었습니다", Color.Blue, Me.lb_msg)
파일Cell.Text = 신파일명
End Sub
Private Sub filelistf_SelectionChanged(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.SelectionChangedEventArgs) Handles filelistf.SelectionChanged
Dim Fn As String
Try
Fn = Me.filelistf.ActiveSheet.Cells(Me.filelistf.ActiveSheet.ActiveRowIndex, 1).Text & "\" & Me.filelistf.ActiveSheet.Cells(Me.filelistf.ActiveSheet.ActiveRowIndex, 0).Text
If System.IO.File.Exists(Fn) Then
Dim A As New Bitmap(Fn)
Dim B As New Bitmap(A)
A.Dispose()
Me.pic1.Image = B
PRv_picture.PictureBox1.Image = Me.pic1.Image
Else
NOTICE("NoFile:" & Fn, Me.lb_msg)
End If
Catch ex As Exception
End Try
End Sub
Private Sub bt_del1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_del1.Click
If Me.filelistf.ActiveSheet.RowCount = 0 Then Return
If MsgBox("파일을 삭제하시겠습니까?", MsgBoxStyle.OkCancel, "확인") <> MsgBoxResult.Ok Then Return
Dim fC As FarPoint.Win.Spread.Cell = Me.filelistf.ActiveSheet.Cells(Me.filelistf.ActiveSheet.ActiveRowIndex, 0)
Dim cc As FarPoint.Win.Spread.Cell = Me.filelistf.ActiveSheet.Cells(Me.filelistf.ActiveSheet.ActiveRowIndex, 1)
Dim Row As FarPoint.Win.Spread.Row = Me.filelistf.ActiveSheet.ActiveRow
If System.IO.File.Exists(cc.Text & "\" & fC.Text) = False Then
MsgBox("원본파일이 존재하지않습니다", MsgBoxStyle.Critical, "변경 실패")
Return
End If
System.IO.File.Delete(cc.Text & "\" & fC.Text)
NOTICE("파일명 " & fC.Text & "이 삭제되었습니다", Color.Blue, Me.lb_msg)
Row.Remove()
Me.pic1.Image = Nothing
End Sub
Private Sub bt_clist1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_clist1.Click
If MsgBox("목록을 지우시겠습니까?" & vbCrLf & "그림목록갱신을 누르면 목록이 다시 생성됩니다", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "확인") <> MsgBoxResult.Ok Then Return
Me.PicDS.PicfileList.Clear()
Me.PicDS.PicfileList.AcceptChanges()
End Sub
Private Sub ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem2.Click
'//찾은파일목록
If Me.filelistf.ActiveSheet.RowCount = 0 Then Return
Dim A As New SaveFileDialog
A.Filter = "엑셀워크시트문서(*.XLS)|*.xls"
A.FilterIndex = 0
A.FileName = My.Application.Info.DirectoryPath & "\전체파일목록"
If A.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then Return
Me.filelistf.SaveExcel(A.FileName, FarPoint.Win.Spread.Model.IncludeHeaders.ColumnHeadersCustomOnly)
My.Computer.Audio.Play(My.Application.Info.DirectoryPath & "\sound\notify.wav", AudioPlayMode.Background)
End Sub
Private Sub pic1_BackgroundImageChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles pic1.BackgroundImageChanged
If PRv_picture.Visible = True Then PRv_picture.PictureBox1.Image = Me.pic1.Image
End Sub
Private Sub pic1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pic1.Click
If Me.pic1.Image Is Nothing Then Return
PRv_picture.PictureBox1.Image = Nothing
PRv_picture.PictureBox1.Image = Me.pic1.Image
PRv_picture.Show()
End Sub
Private Sub bt_compareImg_ButtonClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_compareImg.ButtonClick
If MsgBox("계속하시겠습니까?", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "확인") <> MsgBoxResult.Ok Then Return
Compare_Image()
GETCNT()
End Sub
Private Sub ToolStripTextBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripTextBox1.Click
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
Try
Me.PicfileListBindingSource.Filter = Me.TextBox1.Text
Me.Text = Me.PicfileListBindingSource.Filter
Catch ex As Exception
Me.PicfileListBindingSource.Filter = ""
Me.Text = ex.Message.ToString
End Try
End Sub
Private Sub ToolStripTextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ToolStripTextBox1.TextChanged
Try
Me.bs.Filter = Me.ToolStripTextBox1.Text
Catch ex As Exception
Me.bs.Filter = ""
End Try
End Sub
Private Sub bt_colsizesave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_colsizesave.Click
Me.filelistf.Setting_Save(False)
End Sub
Private Sub bt_colsizesave2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_colsizesave2.Click
Me.view1.Setting_Save(False)
End Sub
Private Sub view1_CellClick(ByVal sender As System.Object, ByVal e As FarPoint.Win.Spread.CellClickEventArgs) Handles view1.CellClick
End Sub
End Class

248
Epole.fp13/입력폼/StyleEdit.Designer.vb generated Normal file
View File

@@ -0,0 +1,248 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class StyleEdit
Inherits System.Windows.Forms.Form
'Form은 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.StatusStrip1 = New System.Windows.Forms.StatusStrip
Me.lb_filename = New System.Windows.Forms.ToolStripStatusLabel
Me.RichTextBox1 = New System.Windows.Forms.RichTextBox
Me.Button1 = New System.Windows.Forms.Button
Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel
Me.Label1 = New System.Windows.Forms.Label
Me.Label2 = New System.Windows.Forms.Label
Me.RichTextBox2 = New System.Windows.Forms.RichTextBox
Me.GroupBox1 = New System.Windows.Forms.GroupBox
Me.TextBox1 = New System.Windows.Forms.TextBox
Me.TextBox2 = New System.Windows.Forms.TextBox
Me.Label3 = New System.Windows.Forms.Label
Me.Label4 = New System.Windows.Forms.Label
Me.MenuStrip1 = New System.Windows.Forms.MenuStrip
Me.bt_save = New System.Windows.Forms.ToolStripMenuItem
Me.bt_load = New System.Windows.Forms.ToolStripMenuItem
Me.lb_msg = New System.Windows.Forms.ToolStripStatusLabel
Me.StatusStrip1.SuspendLayout()
Me.TableLayoutPanel1.SuspendLayout()
Me.GroupBox1.SuspendLayout()
Me.MenuStrip1.SuspendLayout()
Me.SuspendLayout()
'
'StatusStrip1
'
Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.lb_msg, Me.lb_filename})
Me.StatusStrip1.Location = New System.Drawing.Point(0, 572)
Me.StatusStrip1.Name = "StatusStrip1"
Me.StatusStrip1.Size = New System.Drawing.Size(861, 22)
Me.StatusStrip1.TabIndex = 0
Me.StatusStrip1.Text = "StatusStrip1"
'
'lb_filename
'
Me.lb_filename.Name = "lb_filename"
Me.lb_filename.Size = New System.Drawing.Size(79, 17)
Me.lb_filename.Text = "스타일파일명"
'
'RichTextBox1
'
Me.RichTextBox1.BackColor = System.Drawing.Color.Gainsboro
Me.RichTextBox1.Dock = System.Windows.Forms.DockStyle.Fill
Me.RichTextBox1.Location = New System.Drawing.Point(3, 24)
Me.RichTextBox1.Name = "RichTextBox1"
Me.RichTextBox1.Size = New System.Drawing.Size(424, 412)
Me.RichTextBox1.TabIndex = 1
Me.RichTextBox1.Text = ""
'
'Button1
'
Me.Button1.Location = New System.Drawing.Point(126, 16)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(75, 57)
Me.Button1.TabIndex = 3
Me.Button1.Text = "변경"
Me.Button1.UseVisualStyleBackColor = True
'
'TableLayoutPanel1
'
Me.TableLayoutPanel1.ColumnCount = 2
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
Me.TableLayoutPanel1.Controls.Add(Me.RichTextBox1, 0, 1)
Me.TableLayoutPanel1.Controls.Add(Me.Label1, 0, 0)
Me.TableLayoutPanel1.Controls.Add(Me.Label2, 1, 0)
Me.TableLayoutPanel1.Controls.Add(Me.RichTextBox2, 1, 1)
Me.TableLayoutPanel1.Location = New System.Drawing.Point(0, 130)
Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
Me.TableLayoutPanel1.RowCount = 2
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 4.933586!))
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 95.06641!))
Me.TableLayoutPanel1.Size = New System.Drawing.Size(861, 439)
Me.TableLayoutPanel1.TabIndex = 4
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Font = New System.Drawing.Font("맑은 고딕", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.Label1.Location = New System.Drawing.Point(3, 0)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(74, 21)
Me.Label1.TabIndex = 2
Me.Label1.Text = "원본내용"
Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Font = New System.Drawing.Font("맑은 고딕", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.Label2.Location = New System.Drawing.Point(433, 0)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(90, 21)
Me.Label2.TabIndex = 2
Me.Label2.Text = "수정된내용"
Me.Label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'RichTextBox2
'
Me.RichTextBox2.Dock = System.Windows.Forms.DockStyle.Fill
Me.RichTextBox2.Location = New System.Drawing.Point(433, 24)
Me.RichTextBox2.Name = "RichTextBox2"
Me.RichTextBox2.Size = New System.Drawing.Size(425, 412)
Me.RichTextBox2.TabIndex = 3
Me.RichTextBox2.Text = ""
'
'GroupBox1
'
Me.GroupBox1.Controls.Add(Me.Label4)
Me.GroupBox1.Controls.Add(Me.Label3)
Me.GroupBox1.Controls.Add(Me.Button1)
Me.GroupBox1.Controls.Add(Me.TextBox2)
Me.GroupBox1.Controls.Add(Me.TextBox1)
Me.GroupBox1.Location = New System.Drawing.Point(3, 35)
Me.GroupBox1.Name = "GroupBox1"
Me.GroupBox1.Size = New System.Drawing.Size(212, 84)
Me.GroupBox1.TabIndex = 5
Me.GroupBox1.TabStop = False
Me.GroupBox1.Text = "전주번호 변경"
'
'TextBox1
'
Me.TextBox1.Location = New System.Drawing.Point(55, 23)
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(58, 21)
Me.TextBox1.TabIndex = 0
Me.TextBox1.Text = "0"
Me.TextBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'TextBox2
'
Me.TextBox2.Location = New System.Drawing.Point(55, 49)
Me.TextBox2.Name = "TextBox2"
Me.TextBox2.Size = New System.Drawing.Size(58, 21)
Me.TextBox2.TabIndex = 1
Me.TextBox2.Text = "0"
Me.TextBox2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Location = New System.Drawing.Point(12, 26)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(37, 12)
Me.Label3.TabIndex = 4
Me.Label3.Text = "X좌표"
'
'Label4
'
Me.Label4.AutoSize = True
Me.Label4.Location = New System.Drawing.Point(12, 52)
Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(37, 12)
Me.Label4.TabIndex = 5
Me.Label4.Text = "Y좌표"
'
'MenuStrip1
'
Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.bt_load, Me.bt_save})
Me.MenuStrip1.Location = New System.Drawing.Point(0, 0)
Me.MenuStrip1.Name = "MenuStrip1"
Me.MenuStrip1.Size = New System.Drawing.Size(861, 24)
Me.MenuStrip1.TabIndex = 6
Me.MenuStrip1.Text = "MenuStrip1"
'
'bt_save
'
Me.bt_save.Name = "bt_save"
Me.bt_save.Size = New System.Drawing.Size(147, 20)
Me.bt_save.Text = "현재 내용을 저장합니다"
'
'bt_load
'
Me.bt_load.Name = "bt_load"
Me.bt_load.Size = New System.Drawing.Size(147, 20)
Me.bt_load.Text = "파일을 다시 불러옵니다"
'
'lb_msg
'
Me.lb_msg.Name = "lb_msg"
Me.lb_msg.Size = New System.Drawing.Size(14, 17)
Me.lb_msg.Text = "#"
'
'StyleEdit
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 12.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(861, 594)
Me.Controls.Add(Me.GroupBox1)
Me.Controls.Add(Me.TableLayoutPanel1)
Me.Controls.Add(Me.StatusStrip1)
Me.Controls.Add(Me.MenuStrip1)
Me.Name = "StyleEdit"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "StyleEdit"
Me.StatusStrip1.ResumeLayout(False)
Me.StatusStrip1.PerformLayout()
Me.TableLayoutPanel1.ResumeLayout(False)
Me.TableLayoutPanel1.PerformLayout()
Me.GroupBox1.ResumeLayout(False)
Me.GroupBox1.PerformLayout()
Me.MenuStrip1.ResumeLayout(False)
Me.MenuStrip1.PerformLayout()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents StatusStrip1 As System.Windows.Forms.StatusStrip
Friend WithEvents lb_filename As System.Windows.Forms.ToolStripStatusLabel
Friend WithEvents RichTextBox1 As System.Windows.Forms.RichTextBox
Friend WithEvents Button1 As System.Windows.Forms.Button
Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents RichTextBox2 As System.Windows.Forms.RichTextBox
Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
Friend WithEvents TextBox2 As System.Windows.Forms.TextBox
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
Friend WithEvents Label4 As System.Windows.Forms.Label
Friend WithEvents Label3 As System.Windows.Forms.Label
Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip
Friend WithEvents bt_save As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents bt_load As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents lb_msg As System.Windows.Forms.ToolStripStatusLabel
End Class

View File

@@ -0,0 +1,126 @@
<?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="StatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="MenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>135, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,50 @@
Public Class StyleEdit
Public ListIndex As Integer = -1
Public Path As System.IO.DirectoryInfo
Public Target() As String = {"X1", "X2", "X3", "X4", "X5", "X6", "X7", "X8", "X9", "X10", "X11", "X12", "X13", "X14", "X15", "X16", "X17", "X18", "X19", "X20"}
Private Sub StyleEdit_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'MsgBox(ListIndex)
Me.lb_filename.Text = Common.PDS(ListIndex).TStyle.Rows(0)("File").ToString()
Me.RichTextBox1.LoadFile(Me.lb_filename.Text, RichTextBoxStreamType.PlainText)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim src As String
Dim pos() As String
Dim Cnt As Integer = 0
Me.RichTextBox2.Clear()
For Each A As String In Me.RichTextBox1.Lines
src = A
Cnt = 0
For Each Z As String In Me.Target
If A.ToUpper.IndexOf(Z & "POS") > -1 Then
pos = A.Substring(A.IndexOf("=") + 1).Trim.Split(",") '//위치값을 가졌으니 그 위치값으로 변경해서 다시 저장한다.
pos(0) += Val(Me.TextBox1.Text)
pos(1) += Val(Me.TextBox2.Text)
Cnt += 1
Me.RichTextBox2.AppendText(Z & "POS = " & pos(0) & "," & pos(1) & "," & pos(2) & "," & pos(3) & vbCrLf)
End If
Next
If Cnt = 0 Then
Me.RichTextBox2.AppendText(A & vbCrLf)
End If
Next
MsgBox("변경완료")
End Sub
Private Sub 저장ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_save.Click
If MsgBox("기존의 내용이 새로 기록됩니다", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "저장확인") = MsgBoxResult.Ok Then
Me.RichTextBox2.SaveFile(Me.lb_filename.Text, RichTextBoxStreamType.PlainText)
MsgBox("저장이완료되었습니다", MsgBoxStyle.Information, "확인")
End If
End Sub
Private Sub 파일을다시불러옵니다ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_load.Click
Me.RichTextBox1.LoadFile(Me.lb_filename.Text, RichTextBoxStreamType.PlainText)
End Sub
End Class

54
Epole.fp13/입력폼/selitem.Designer.vb generated Normal file
View File

@@ -0,0 +1,54 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class selitem
Inherits System.Windows.Forms.Form
'Form은 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.ListBox1 = New System.Windows.Forms.ListBox
Me.SuspendLayout()
'
'ListBox1
'
Me.ListBox1.Dock = System.Windows.Forms.DockStyle.Fill
Me.ListBox1.Font = New System.Drawing.Font("맑은 고딕", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.ListBox1.FormattingEnabled = True
Me.ListBox1.ItemHeight = 30
Me.ListBox1.Location = New System.Drawing.Point(0, 0)
Me.ListBox1.Name = "ListBox1"
Me.ListBox1.Size = New System.Drawing.Size(273, 364)
Me.ListBox1.TabIndex = 0
'
'selitem
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 12.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(273, 370)
Me.Controls.Add(Me.ListBox1)
Me.KeyPreview = True
Me.Name = "selitem"
Me.Opacity = 0.8
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
Me.Text = "범위내 개체(더블클릭하세요)"
Me.ResumeLayout(False)
End Sub
Friend WithEvents ListBox1 As System.Windows.Forms.ListBox
End Class

View File

@@ -0,0 +1,120 @@
<?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>
</root>

View File

@@ -0,0 +1,25 @@
Public Class selitem
Private Sub selitem_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
End Sub
Private Sub selitem_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp
If e.KeyCode = Keys.Escape Then
Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
Me.Dispose()
ElseIf e.KeyCode = Keys.Enter Then
Me.DialogResult = System.Windows.Forms.DialogResult.OK
Me.Dispose()
End If
End Sub
Private Sub ListBox1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.DoubleClick
Me.DialogResult = System.Windows.Forms.DialogResult.OK
Me.Dispose()
End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
End Sub
End Class

View File

@@ -0,0 +1,43 @@
Dim 패턴_관리구 As String = ""
Dim 패턴_전산번호 As String = ""
Dim 패턴_HA구간 As String = ""
Dim 패턴_HASS As String = ""
Dim 패턴_HADL As String = ""
Dim 패턴_HBSS As String = ""
Dim 패턴_HBDL As String = ""
Dim 패턴_HB구간 As String = ""
Dim 패턴_S0번호1 As String = ""
Dim 패턴_S0번호2 As String = ""
Dim 패턴_S0번호3 As String = ""
Dim 패턴_S0번호4 As String = ""
Dim 패턴_S0SW명 As String = ""
Dim 패턴_S0수용가 As String = ""
Dim 패턴_S1번호1 As String = ""
Dim 패턴_S1번호2 As String = ""
Dim 패턴_S1번호3 As String = ""
Dim 패턴_S1번호4 As String = ""
Dim 패턴_S1SW명 As String = ""
Dim 패턴_S1위치 As String = ""
Dim 패턴_s2번호1 As String = ""
Dim 패턴_s2번호2 As String = ""
Dim 패턴_s2번호3 As String = ""
Dim 패턴_s2번호4 As String = ""
Dim 패턴_s2SW명 As String = ""
Dim 패턴_s2위치 As String = ""
Dim 패턴_s3번호1 As String = ""
Dim 패턴_s3번호2 As String = ""
Dim 패턴_s3번호3 As String = ""
Dim 패턴_s3번호4 As String = ""
Dim 패턴_s3SW명 As String = ""
Dim 패턴_s3위치 As String = ""
Dim 패턴_s4번호1 As String = ""
Dim 패턴_s4번호2 As String = ""
Dim 패턴_s4번호3 As String = ""
Dim 패턴_s4번호4 As String = ""
Dim 패턴_s4SW명 As String = ""
Dim 패턴_s4위치 As String = ""
Dim 패턴_시공년월 As String = ""
Dim 패턴_시공회사 As String = ""
Dim 패턴_공사번호 As String = ""
Dim 패턴_감독자 As String = ""