initial commit

This commit is contained in:
chi
2020-05-24 12:36:36 +09:00
commit 7cb0365c6e
97 changed files with 15338 additions and 0 deletions

29
ArinNewFp/Form1.Designer.vb generated Normal file
View File

@@ -0,0 +1,29 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Form1
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()
components = New System.ComponentModel.Container
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.Text = "Form1"
End Sub
End Class

3
ArinNewFp/Form1.vb Normal file
View File

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

287
ArinNewFp/MyINI.vb Normal file
View File

@@ -0,0 +1,287 @@
Imports System.IO
Public Class tinyIni
Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Integer, ByVal lpFileName As String) As Integer
Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpDownFileName As String) As Integer
'Private Aname As String
Public FileName As String = vbNullString
Private FileNameBuf As String
Private m_sPath As String
Private m_sKey As String
Private m_sSection As String
Private m_sDefault As String
Private m_lLastReturnCode As Integer
Public Sub New(ByVal File As String)
FileName = File
FileNameBuf = File
Me.Create()
'MsgBox("New 1=" & FileName & vbCrLf & "2=" & FileNameBuf)
' If Not System.IO.File.Exists(File) Then System.IO.File.Create(File)
End Sub
Public Sub Create()
If Exist() = True Then Return
Dim A As New IO.FileInfo(FileName)
A.Directory.Create()
Dim FS As IO.FileStream = A.Create()
Dim SW As New IO.StreamWriter(FS, System.Text.Encoding.Default)
SW.WriteLine("//Myini 로부터 자동생성된 파일입니다")
SW.WriteLine("//생성일자 : " & Now.ToString)
SW.Flush()
SW.Close()
FS.Close()
SW = Nothing
FS = Nothing
FileName = FileNameBuf
End Sub
Public Function Exist() As Boolean
Return System.IO.File.Exists(FileName)
End Function
Public Function Read(ByVal appkey As String, ByVal subkey As String, Optional ByVal DefaultValue As String = vbNullString) As String '//변수초기화
'MsgBox("Read 1=" & FileName & vbCrLf & "2=" & FileNameBuf)
Dim tempstr As Integer 'ini파일에서 읽어온 값을 임시저장하는 변수
Dim strtemp As String = New String(Chr(0), 2000) 'ini파일의 임시 변수
Dim Tempbuf As String
If Not Exist() Then
MsgBox("환경파일이 존재하지 않습니다" & vbCrLf & "APP=" & appkey & vbCrLf & "subkey=" & subkey & vbCrLf & "파일명=" & FileName, MsgBoxStyle.Critical, "Error")
Return vbNullString
End If
Try
tempstr = GetPrivateProfileString(appkey, subkey, "", strtemp, Len(strtemp), FileName)
Tempbuf = strtemp.Substring(0, tempstr)
Tempbuf = Tempbuf.Trim(Chr(0))
FileName = FileNameBuf
If Tempbuf.Trim = vbNullString AndAlso DefaultValue <> vbNullString Then
Return DefaultValue
Else
Return Tempbuf
End If
Catch ex As Exception
FileName = FileNameBuf
Return vbNullString
End Try
End Function
Public Function ReadFile(ByVal appkey As String, ByVal subkey As String, ByVal filename2 As String, Optional ByVal DefaultValue As String = vbNullString) As String '//변수초기화
'MsgBox("ReadFile 1=" & FileName & vbCrLf & "2=" & FileNameBuf)
Dim tempstr As Integer 'ini파일에서 읽어온 값을 임시저장하는 변수
Dim strtemp As String = New String(Chr(0), 2000) 'ini파일의 임시 변수
Dim Tempbuf As String
If Not System.IO.File.Exists(filename2) Then
MsgBox("환경파일이 존재하지 않습니다" & vbCrLf & "파일명=" & FileName, MsgBoxStyle.Critical, "Error")
Return vbNullString
End If
Try
tempstr = GetPrivateProfileString(appkey, subkey, "", strtemp, Len(strtemp), filename2)
Tempbuf = strtemp.Substring(0, tempstr)
If Tempbuf.Trim = vbNullString AndAlso DefaultValue <> vbNullString Then
Return DefaultValue
Else
Return Tempbuf
End If
Catch ex As Exception
Return vbNullString
End Try
FileName = FileNameBuf
End Function
Public Function Write(ByVal appkey As String, ByVal subkey As String, ByVal WriteVal As Object) As Integer
Dim RetVal As Integer
'MsgBox("Write1 1=" & FileName & vbCrLf & "2=" & FileNameBuf)
If Not Exist() Then
MsgBox("환경파일이 존재하지 않습니다" & vbCrLf & "파일을 생성합니다." & vbCrLf & "파일명=" & FileName, MsgBoxStyle.Information, "확인")
Me.Create()
End If
' FileName = Aname
RetVal = (WritePrivateProfileString(appkey, subkey, WriteVal, FileName))
FileName = FileNameBuf
Return RetVal
End Function
Public Sub Write(ByVal appkey As String, ByVal subkey As String, ByVal WriteVal As Object, ByVal fileName2 As String)
'MsgBox("Write2 1=" & FileName & vbCrLf & "2=" & FileNameBuf)
If Not System.IO.File.Exists(fileName2) Then
MsgBox("[D] 환경파일이 존재하지 않습니다" & vbCrLf & "파일을 생성합니다." & vbCrLf & "파일명=" & fileName2, MsgBoxStyle.Information, "확인")
System.IO.File.Create(fileName2)
End If
WritePrivateProfileString(appkey, subkey, WriteVal, fileName2)
FileName = FileNameBuf
End Sub
Public Sub EnumerateCurrentSection(ByRef sKey() As String, ByRef iCount As Integer)
Dim sSection As String
Dim iPos As Integer
Dim iNextPos As Integer
Dim sCur As String
iCount = 0
Erase sKey
sSection = INISection
If (Len(sSection) > 0) Then
iPos = 1
iNextPos = InStr(iPos, sSection, Chr(0))
Do While iNextPos <> 0
sCur = Mid(sSection, iPos, iNextPos - iPos)
If (sCur <> Chr(0)) Then
iCount = iCount + 1
'UPGRADE_WARNING: sKey 배열의 하한이 1에서 0(으)로 변경되었습니다. 자세한 내용은 다음을 참조하십시오. 'ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?keyword="0F1C9BE1-AF9D-476E-83B1-17D43BECFF20"'
ReDim Preserve sKey(iCount)
sKey(iCount) = Mid(sSection, iPos, iNextPos - iPos)
iPos = iNextPos + 1
iNextPos = InStr(iPos, sSection, Chr(0))
End If
Loop
End If
End Sub
Public Sub GetAllsection(ByVal key As String, ByRef Section As ArrayList, ByRef Value As ArrayList)
Dim FS As New System.IO.FileStream(FileName, FileMode.Open)
Dim SR As New StreamReader(FS, System.Text.Encoding.Default)
Dim Findkey As String = "[" & key & "]"
Dim Line As String
Dim KeyPos As Integer = -1
Dim Seppos As Integer = -1
While SR.Peek > -1
Line = SR.ReadLine
If KeyPos = -1 Then '//키를 못찻았으면
If Line.ToUpper.IndexOf(Findkey.ToUpper) > -1 Then KeyPos = Line.ToUpper.IndexOf(Findkey.ToUpper)
Else '//찾앗으면
If Line.IndexOf("[") = -1 Then '//그다음 키가 오기전까지 모두 추가한다.
Seppos = Line.IndexOf("=")
Section.Add(Line.Substring(0, Seppos))
Value.Add(Line.Substring(Seppos + 1))
Else
Exit While
End If
End If
End While
SR.Close()
FS.Close()
End Sub
Public Sub EnumerateAllSections(ByRef sSections() As String, ByRef iCount As Integer)
Dim sIniFile As String
Dim iPos As Integer
Dim iNextPos As Integer
Dim sCur As String
iCount = 0
Erase sSections
sIniFile = Sections
If (Len(sIniFile) > 0) Then
iPos = 1
iNextPos = InStr(iPos, sIniFile, Chr(0))
Do While iNextPos <> 0
If (iNextPos <> iPos) Then
sCur = Mid(sIniFile, iPos, iNextPos - iPos)
iCount = iCount + 1
'UPGRADE_WARNING: sSections 배열의 하한이 1에서 0(으)로 변경되었습니다. 자세한 내용은 다음을 참조하십시오. 'ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?keyword="0F1C9BE1-AF9D-476E-83B1-17D43BECFF20"'
ReDim Preserve sSections(iCount)
sSections(iCount) = sCur
End If
iPos = iNextPos + 1
iNextPos = InStr(iPos, sIniFile, Chr(0))
Loop
End If
End Sub
Property INISection() As String
Get
Dim sBuf As String
Dim iSize As String
Dim iRetCode As Short
sBuf = Space(8192)
iSize = CStr(Len(sBuf))
iRetCode = GetPrivateProfileString(m_sSection, 0, m_sDefault, sBuf, CInt(iSize), m_sPath)
If (CDbl(iSize) > 0) Then
INISection = Left(sBuf, iRetCode)
Else
INISection = ""
End If
End Get
Set(ByVal Value As String)
m_lLastReturnCode = WritePrivateProfileString(m_sSection, 0, Value, m_sPath)
End Set
End Property
ReadOnly Property Sections() As String
Get
Dim sBuf As String
Dim iSize As String
Dim iRetCode As Short
sBuf = Space(8192)
iSize = CStr(Len(sBuf))
iRetCode = GetPrivateProfileString(0, 0, m_sDefault, sBuf, CInt(iSize), m_sPath)
If (CDbl(iSize) > 0) Then
Sections = Left(sBuf, iRetCode)
Else
Sections = ""
End If
End Get
End Property
ReadOnly Property LastReturnCode() As Integer
Get
LastReturnCode = m_lLastReturnCode
End Get
End Property
ReadOnly Property Success() As Boolean
Get
Success = (m_lLastReturnCode <> 0)
End Get
End Property
'UPGRADE_NOTE: Default이(가) Default_Renamed(으)로 업그레이드되었습니다. 자세한 내용은 다음을 참조하십시오. 'ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?keyword="A9E4979A-37FA-4718-9994-97DD76ED70A7"'
Property Default_Renamed() As String
Get
Default_Renamed = m_sDefault
End Get
Set(ByVal Value As String)
m_sDefault = Value
End Set
End Property
Property Path() As String
Get
Path = m_sPath
End Get
Set(ByVal Value As String)
m_sPath = Value
End Set
End Property
Property Key() As String
Get
Key = m_sKey
End Get
Set(ByVal Value As String)
m_sKey = Value
End Set
End Property
Property Section() As String
Get
Section = m_sSection
End Get
Set(ByVal Value As String)
m_sSection = Value
End Set
End Property
End Class

36
ArinNewFp/NewFp.Designer.vb generated Normal file
View File

@@ -0,0 +1,36 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class NewFp
Inherits FarPoint.Win.Spread.FpSpread
'UserControl1은 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()
CType(Me, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'NewFp
'
Me.ActiveSheetIndex = -1
CType(Me, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
End Class

123
ArinNewFp/NewFp.resx Normal file
View File

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

1420
ArinNewFp/NewFp.vb Normal file

File diff suppressed because it is too large Load Diff

152
ArinNewFp/lov.Designer.vb generated Normal file
View File

@@ -0,0 +1,152 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class lov
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()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(lov))
Me.ToolStripButton1 = New System.Windows.Forms.ToolStripButton()
Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel()
Me.tb_searchtext = New System.Windows.Forms.TextBox()
Me.datagridview1 = New FarPoint.Win.Spread.FpSpread()
Me.datagridview1_Sheet1 = New FarPoint.Win.Spread.SheetView()
Me.ToolStrip1 = New System.Windows.Forms.ToolStrip()
Me.ToolStripButton2 = New System.Windows.Forms.ToolStripButton()
Me.BindingSource1 = New System.Windows.Forms.BindingSource(Me.components)
Me.TableLayoutPanel1.SuspendLayout()
CType(Me.datagridview1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.datagridview1_Sheet1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.ToolStrip1.SuspendLayout()
CType(Me.BindingSource1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'ToolStripButton1
'
Me.ToolStripButton1.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right
Me.ToolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.ToolStripButton1.Image = CType(resources.GetObject("ToolStripButton1.Image"), System.Drawing.Image)
Me.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta
Me.ToolStripButton1.Name = "ToolStripButton1"
Me.ToolStripButton1.Size = New System.Drawing.Size(36, 37)
Me.ToolStripButton1.Text = "ToolStripButton1"
'
'TableLayoutPanel1
'
Me.TableLayoutPanel1.ColumnCount = 1
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 521.0!))
Me.TableLayoutPanel1.Controls.Add(Me.tb_searchtext, 0, 0)
Me.TableLayoutPanel1.Controls.Add(Me.datagridview1, 0, 1)
Me.TableLayoutPanel1.Controls.Add(Me.ToolStrip1, 0, 2)
Me.TableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill
Me.TableLayoutPanel1.Location = New System.Drawing.Point(0, 0)
Me.TableLayoutPanel1.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4)
Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
Me.TableLayoutPanel1.RowCount = 3
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40.0!))
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40.0!))
Me.TableLayoutPanel1.Size = New System.Drawing.Size(521, 499)
Me.TableLayoutPanel1.TabIndex = 4
'
'tb_searchtext
'
Me.tb_searchtext.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper
Me.tb_searchtext.Dock = System.Windows.Forms.DockStyle.Fill
Me.tb_searchtext.Font = New System.Drawing.Font("맑은 고딕", 15.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.tb_searchtext.Location = New System.Drawing.Point(3, 4)
Me.tb_searchtext.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4)
Me.tb_searchtext.Name = "tb_searchtext"
Me.tb_searchtext.Size = New System.Drawing.Size(515, 35)
Me.tb_searchtext.TabIndex = 3
Me.tb_searchtext.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'datagridview1
'
Me.datagridview1.AccessibleDescription = "datagridview1, Sheet1, Row 0, Column 0, "
Me.datagridview1.BackColor = System.Drawing.SystemColors.Control
Me.datagridview1.Dock = System.Windows.Forms.DockStyle.Fill
Me.datagridview1.Location = New System.Drawing.Point(3, 43)
Me.datagridview1.Name = "datagridview1"
Me.datagridview1.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.datagridview1.Sheets.AddRange(New FarPoint.Win.Spread.SheetView() {Me.datagridview1_Sheet1})
Me.datagridview1.Size = New System.Drawing.Size(515, 413)
Me.datagridview1.TabIndex = 4
'
'datagridview1_Sheet1
'
Me.datagridview1_Sheet1.Reset()
Me.datagridview1_Sheet1.SheetName = "Sheet1"
'Formulas and custom names must be loaded with R1C1 reference style
Me.datagridview1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1
Me.datagridview1_Sheet1.ColumnHeader.Rows.Get(0).Height = 30.0!
Me.datagridview1_Sheet1.RowHeader.Columns.Default.Resizable = False
Me.datagridview1_Sheet1.SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Row
Me.datagridview1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1
'
'ToolStrip1
'
Me.ToolStrip1.AutoSize = False
Me.ToolStrip1.Dock = System.Windows.Forms.DockStyle.Fill
Me.ToolStrip1.ImageScalingSize = New System.Drawing.Size(32, 32)
Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton1, Me.ToolStripButton2})
Me.ToolStrip1.Location = New System.Drawing.Point(0, 459)
Me.ToolStrip1.Name = "ToolStrip1"
Me.ToolStrip1.Size = New System.Drawing.Size(521, 40)
Me.ToolStrip1.TabIndex = 5
Me.ToolStrip1.Text = "ToolStrip1"
'
'ToolStripButton2
'
Me.ToolStripButton2.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right
Me.ToolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.ToolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta
Me.ToolStripButton2.Name = "ToolStripButton2"
Me.ToolStripButton2.Size = New System.Drawing.Size(23, 37)
Me.ToolStripButton2.Text = "ToolStripButton2"
'
'lov
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 12.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(521, 499)
Me.Controls.Add(Me.TableLayoutPanel1)
Me.Name = "lov"
Me.Text = "lov"
Me.TableLayoutPanel1.ResumeLayout(False)
Me.TableLayoutPanel1.PerformLayout()
CType(Me.datagridview1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.datagridview1_Sheet1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ToolStrip1.ResumeLayout(False)
Me.ToolStrip1.PerformLayout()
CType(Me.BindingSource1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
Friend WithEvents ToolStripButton1 As System.Windows.Forms.ToolStripButton
Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel
Friend WithEvents tb_searchtext As System.Windows.Forms.TextBox
Friend WithEvents datagridview1 As FarPoint.Win.Spread.FpSpread
Friend WithEvents datagridview1_Sheet1 As FarPoint.Win.Spread.SheetView
Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip
Friend WithEvents ToolStripButton2 As System.Windows.Forms.ToolStripButton
Friend WithEvents BindingSource1 As System.Windows.Forms.BindingSource
End Class

172
ArinNewFp/lov.resx Normal file
View File

@@ -0,0 +1,172 @@
<?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>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="ToolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
rkJggg==
</value>
</data>
<metadata name="datagridview1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>265, 17</value>
</metadata>
<metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>156, 17</value>
</metadata>
<metadata name="BindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

106
ArinNewFp/lov.vb Normal file
View File

@@ -0,0 +1,106 @@
Public Class lov
Dim Dt As New DataTable
Dim A As New System.Text.StringBuilder
Public Msg As String = "" '//lov가 반환한 메세지 : O일경우를 제외하고 반환된다.
Public Row As DataRowView = Nothing '//반환된 데이터로우 : O 이거나 1 일때만 반환된다.
Public StatusE As rStatus
Public Enum rStatus
NotFound = 1 '//검색어에대한 데이터가 없다
OneRow = 2 '//하나밖에없었다(ok)
Multirow = 3 '//여러개의 데이터가 조재한다.
Canceld = 4 '//취소되었다.
End Enum
#Region "New Function"
Public Sub New()
InitializeComponent()
End Sub
Public Sub New(ByVal Dtable As DataTable, Optional ByVal ImeMode As System.Windows.Forms.ImeMode = System.Windows.Forms.ImeMode.Hangul)
' 이 호출은 Windows Form 디자이너에 필요합니다.
Dt = Dtable
InitializeComponent()
Me.BindingSource1.DataSource = Dt
Me.datagridview1.DataSource = Me.BindingSource1
Me.tb_searchtext.ImeMode = ImeMode
End Sub
#End Region
#Region "OK/CANCEL 버튼"
Private Sub Prc_OK()
Msg = "사용자선택"
Row = Me.BindingSource1.Current
StatusE = rStatus.OneRow
Me.DialogResult = System.Windows.Forms.DialogResult.OK
Me.Close()
End Sub
Private Sub Prc_CalCel()
Msg = "사용자취소"
Row = Nothing
StatusE = rStatus.Canceld
Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
Me.Close()
End Sub
#End Region
''' <summary>
''' where 절을 생성한후 리턴(모든 열에대한 같은 where like 절
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Private Function WhereState() As String
A.Remove(0, A.Length)
For i As Integer = 0 To Me.Dt.Columns.Count - 1
If Dt.Columns(i).DataType.Name.ToUpper = "STRING" Then
A.Append(IIf(i = 0, "", Space(1) & "or ") & Dt.Columns(i).Caption & " like '" & Me.tb_searchtext.Text & "%'")
End If
Next
Return A.ToString
End Function
Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_searchtext.TextChanged
Me.BindingSource1.Filter = Me.WhereState
End Sub
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_searchtext.KeyDown
Select Case e.KeyCode
Case Keys.Down, Keys.Enter
Me.DataGridView1.Focus()
If Me.datagridview1.ActiveSheet.RowCount = 1 Then Me.Prc_OK()
Case Keys.Escape
Me.Prc_CalCel()
End Select
End Sub
Private Sub datagridview1_CellDoubleClick(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.CellClickEventArgs) Handles datagridview1.CellDoubleClick
Me.Prc_OK()
End Sub
Private Sub datagridview1_KeyDown1(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles datagridview1.KeyDown
Select Case e.KeyCode
Case Keys.F5
Case Keys.Escape
Me.tb_searchtext.Focus()
Case Keys.Enter
Me.Prc_OK()
End Select
End Sub
Private Sub datagridview1_KeyUp1(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles datagridview1.KeyUp
Select Case e.KeyCode
Case Keys.Escape
Me.tb_searchtext.Focus()
End Select
End Sub
Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click
Me.Prc_OK()
End Sub
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
Me.Prc_CalCel()
End Sub
End Class