솔루션에 fp5,fp13 포함
BIN
Sub/MyControl(OleDb)v2/.vs/MyControlOLEDBv2/v16/.suo
Normal file
@@ -1,9 +1,11 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2013
|
||||
VisualStudioVersion = 12.0.31101.0
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.29709.97
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "MyControlOLEDBv2", "MyControlOLEDBv2\MyControlOLEDBv2.vbproj", "{326F9A0F-F714-432D-81CB-CED39EC6C424}"
|
||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "MyControlOLEDBv2_fp5", "Spread.Net.v5\MyControlOLEDBv2_fp5.vbproj", "{326F9A0F-F714-432D-81CB-CED39EC6C424}"
|
||||
EndProject
|
||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "MyControlOLEDBv2_fp13", "Spread.Net.v13\MyControlOLEDBv2_fp13.vbproj", "{0BC58028-0840-4EB3-84D4-7982B0550E1A}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
@@ -15,8 +17,15 @@ Global
|
||||
{326F9A0F-F714-432D-81CB-CED39EC6C424}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{326F9A0F-F714-432D-81CB-CED39EC6C424}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{326F9A0F-F714-432D-81CB-CED39EC6C424}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0BC58028-0840-4EB3-84D4-7982B0550E1A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0BC58028-0840-4EB3-84D4-7982B0550E1A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0BC58028-0840-4EB3-84D4-7982B0550E1A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0BC58028-0840-4EB3-84D4-7982B0550E1A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {B10084D4-65A2-4165-B334-1833605547AC}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
FarPoint.Win.Spread.FpSpread, FarPoint.Win.Spread, Version=5.0.2005.2008, Culture=neutral, PublicKeyToken=327c3516b1b18457
|
||||
@@ -1,17 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="12.0">
|
||||
<PropertyGroup>
|
||||
<PublishUrlHistory>
|
||||
</PublishUrlHistory>
|
||||
<InstallUrlHistory>
|
||||
</InstallUrlHistory>
|
||||
<SupportUrlHistory>
|
||||
</SupportUrlHistory>
|
||||
<UpdateUrlHistory>
|
||||
</UpdateUrlHistory>
|
||||
<BootstrapperUrlHistory>
|
||||
</BootstrapperUrlHistory>
|
||||
<FallbackCulture>ko-KR</FallbackCulture>
|
||||
<VerifyUploadedFiles>false</VerifyUploadedFiles>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
13
Sub/MyControl(OleDb)v2/Spread.Net.v13/My Project/Application.Designer.vb
generated
Normal file
@@ -0,0 +1,13 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' 이 코드는 도구를 사용하여 생성되었습니다.
|
||||
' 런타임 버전:4.0.30319.42000
|
||||
'
|
||||
' 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
|
||||
' 이러한 변경 내용이 손실됩니다.
|
||||
' </auto-generated>
|
||||
'------------------------------------------------------------------------------
|
||||
|
||||
Option Strict On
|
||||
Option Explicit On
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
Imports System
|
||||
Imports System.Reflection
|
||||
Imports System.Runtime.InteropServices
|
||||
|
||||
' 어셈블리의 일반 정보는 다음 특성 집합을 통해 제어됩니다.
|
||||
' 어셈블리와 관련된 정보를 수정하려면
|
||||
' 이 특성 값을 변경하십시오.
|
||||
|
||||
' 어셈블리 특성 값을 검토합니다.
|
||||
|
||||
<Assembly: AssemblyTitle("MyControlOLEDBv2")>
|
||||
<Assembly: AssemblyDescription("")>
|
||||
<Assembly: AssemblyCompany("MICROSOFT")>
|
||||
<Assembly: AssemblyProduct("MyControlOLEDBv2")>
|
||||
<Assembly: AssemblyCopyright("Copyright (C) MICROSOFT 2007")>
|
||||
<Assembly: AssemblyTrademark("")>
|
||||
|
||||
<Assembly: ComVisible(False)>
|
||||
|
||||
'이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
|
||||
<Assembly: Guid("faf04807-27f6-4f69-b4e5-c1a2d61add2e")>
|
||||
|
||||
' 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
|
||||
'
|
||||
' 주 버전
|
||||
' 부 버전
|
||||
' 빌드 번호
|
||||
' 수정 버전
|
||||
'
|
||||
' 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 버전이 자동으로
|
||||
' 지정되도록 할 수 있습니다.
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("15.09.10.1405")>
|
||||
<Assembly: AssemblyFileVersion("15.09.10.1405")>
|
||||
93
Sub/MyControl(OleDb)v2/Spread.Net.v13/My Project/Resources.Designer.vb
generated
Normal file
@@ -0,0 +1,93 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' 이 코드는 도구를 사용하여 생성되었습니다.
|
||||
' 런타임 버전:4.0.30319.42000
|
||||
'
|
||||
' 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
|
||||
' 이러한 변경 내용이 손실됩니다.
|
||||
' </auto-generated>
|
||||
'------------------------------------------------------------------------------
|
||||
|
||||
Option Strict On
|
||||
Option Explicit On
|
||||
|
||||
Imports System
|
||||
|
||||
Namespace My.Resources
|
||||
|
||||
'이 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder
|
||||
'클래스에서 자동으로 생성되었습니다.
|
||||
'멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여 ResGen을
|
||||
'다시 실행하거나 VS 프로젝트를 다시 빌드하십시오.
|
||||
'''<summary>
|
||||
''' 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다.
|
||||
'''</summary>
|
||||
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0"), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
||||
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
|
||||
Friend Module Resources
|
||||
|
||||
Private resourceMan As Global.System.Resources.ResourceManager
|
||||
|
||||
Private resourceCulture As Global.System.Globalization.CultureInfo
|
||||
|
||||
'''<summary>
|
||||
''' 이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다.
|
||||
'''</summary>
|
||||
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
|
||||
Get
|
||||
If Object.ReferenceEquals(resourceMan, Nothing) Then
|
||||
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("MyControlOLEDBv2.Resources", GetType(Resources).Assembly)
|
||||
resourceMan = temp
|
||||
End If
|
||||
Return resourceMan
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' 이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 대해 현재 스레드의 CurrentUICulture 속성을
|
||||
''' 재정의합니다.
|
||||
'''</summary>
|
||||
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Friend Property Culture() As Global.System.Globalization.CultureInfo
|
||||
Get
|
||||
Return resourceCulture
|
||||
End Get
|
||||
Set
|
||||
resourceCulture = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property close_32() As System.Drawing.Bitmap
|
||||
Get
|
||||
Dim obj As Object = ResourceManager.GetObject("close_32", resourceCulture)
|
||||
Return CType(obj,System.Drawing.Bitmap)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property new_32() As System.Drawing.Bitmap
|
||||
Get
|
||||
Dim obj As Object = ResourceManager.GetObject("new_32", resourceCulture)
|
||||
Return CType(obj,System.Drawing.Bitmap)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property srch_32() As System.Drawing.Bitmap
|
||||
Get
|
||||
Dim obj As Object = ResourceManager.GetObject("srch_32", resourceCulture)
|
||||
Return CType(obj,System.Drawing.Bitmap)
|
||||
End Get
|
||||
End Property
|
||||
End Module
|
||||
End Namespace
|
||||
73
Sub/MyControl(OleDb)v2/Spread.Net.v13/My Project/Settings.Designer.vb
generated
Normal file
@@ -0,0 +1,73 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' 이 코드는 도구를 사용하여 생성되었습니다.
|
||||
' 런타임 버전:4.0.30319.42000
|
||||
'
|
||||
' 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
|
||||
' 이러한 변경 내용이 손실됩니다.
|
||||
' </auto-generated>
|
||||
'------------------------------------------------------------------------------
|
||||
|
||||
Option Strict On
|
||||
Option Explicit On
|
||||
|
||||
|
||||
Namespace My
|
||||
|
||||
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
||||
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.4.0.0"), _
|
||||
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Partial Friend NotInheritable Class MySettings
|
||||
Inherits Global.System.Configuration.ApplicationSettingsBase
|
||||
|
||||
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
|
||||
|
||||
#Region "My.Settings 자동 저장 기능"
|
||||
#If _MyType = "WindowsForms" Then
|
||||
Private Shared addedHandler As Boolean
|
||||
|
||||
Private Shared addedHandlerLockObject As New Object
|
||||
|
||||
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs)
|
||||
If My.Application.SaveMySettingsOnExit Then
|
||||
My.Settings.Save()
|
||||
End If
|
||||
End Sub
|
||||
#End If
|
||||
#End Region
|
||||
|
||||
Public Shared ReadOnly Property [Default]() As MySettings
|
||||
Get
|
||||
|
||||
#If _MyType = "WindowsForms" Then
|
||||
If Not addedHandler Then
|
||||
SyncLock addedHandlerLockObject
|
||||
If Not addedHandler Then
|
||||
AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
|
||||
addedHandler = True
|
||||
End If
|
||||
End SyncLock
|
||||
End If
|
||||
#End If
|
||||
Return defaultInstance
|
||||
End Get
|
||||
End Property
|
||||
End Class
|
||||
End Namespace
|
||||
|
||||
Namespace My
|
||||
|
||||
<Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
|
||||
Friend Module MySettingsProperty
|
||||
|
||||
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
|
||||
Friend ReadOnly Property Settings() As Global.MyControlOLEDBv2.My.MySettings
|
||||
Get
|
||||
Return Global.MyControlOLEDBv2.My.MySettings.Default
|
||||
End Get
|
||||
End Property
|
||||
End Module
|
||||
End Namespace
|
||||
@@ -0,0 +1 @@
|
||||
FarPoint.Win.Spread.FpSpread, FarPoint.Win.Spread, Version=13.45.20191.0, Culture=neutral, PublicKeyToken=327c3516b1b18457
|
||||
183
Sub/MyControl(OleDb)v2/Spread.Net.v13/MyCheckBox.vb
Normal file
@@ -0,0 +1,183 @@
|
||||
Imports System.Text
|
||||
Imports System.Data
|
||||
|
||||
Public Class MyCheckBox
|
||||
Dim ColName As String
|
||||
Dim Coltype As OleDbType
|
||||
Dim Ditem As Boolean
|
||||
|
||||
Dim CheckVal As String
|
||||
Dim UnCheckVal As String
|
||||
Dim otherval As Boolean
|
||||
|
||||
Dim Prompt As String
|
||||
|
||||
Dim WhereState As String = vbNullString
|
||||
Dim POS As Int16
|
||||
|
||||
Protected Var_ViewColNumber As Short
|
||||
Protected Var_BaseLabel As Label
|
||||
Private VAR_USERCLICK As Boolean = False '//우클릭시 비활성화되는데 그 기능의 사용여부이다.
|
||||
|
||||
''' <summary>
|
||||
''' 우클릭시 컨트롤 비활성화 기능여부
|
||||
''' </summary>
|
||||
''' <value></value>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
<System.ComponentModel.Description("우클릭시 컨트롤 비활성화 기능의 사용여부")> _
|
||||
Public Property DB_USERCLICK() As Boolean
|
||||
Get
|
||||
Return VAR_USERCLICK
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
VAR_USERCLICK = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' 이 컨트롤과 연결된 레이블을 설정/반환 합니다.
|
||||
''' </summary>
|
||||
''' <value></value>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
<System.ComponentModel.Description("이 컨트롤과 연결된 문자를 나타낼 레이블을 선택합니다")> _
|
||||
Public Property DB_BaseLabel() As Label
|
||||
Get
|
||||
Return Var_BaseLabel
|
||||
End Get
|
||||
Set(ByVal value As Label)
|
||||
'//데이터가 들어오면 현재의 프롬프트를 갱신합니다.
|
||||
Var_BaseLabel = value
|
||||
Me.DB_Prompt = Prompt
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 검색블럭에 속해있을때의 검색조건
|
||||
''' </summary>
|
||||
''' <value></value>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
<System.ComponentModel.Description("검색블럭아이템일경우" & vbCrLf & "검색조건을 입력합니다. >= <= LIKE")> _
|
||||
Public Property DB_WhereType() As String
|
||||
Get
|
||||
Return WhereState
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
WhereState = value
|
||||
End Set
|
||||
End Property
|
||||
<System.ComponentModel.Description("컬럼의 제목입니다.")> _
|
||||
Public Property DB_Prompt() As String
|
||||
Get
|
||||
Return IIf(Prompt Is vbNullString, DB_ColName, Prompt)
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Prompt = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("데이터베이스 컬럼")> _
|
||||
Public Property DB_ColName() As String
|
||||
Get
|
||||
If ColName = "" Then
|
||||
Return Me.Name
|
||||
Else
|
||||
Return ColName
|
||||
End If
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
ColName = value
|
||||
DB_Prompt = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("지정된값외의 값이 입력되었을때 Check/UnCheck 를 선택")> _
|
||||
Public Property DB_OtherValue() As Boolean
|
||||
Get
|
||||
Return otherval
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
otherval = False
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("선택했을때의 값")> _
|
||||
Public Property DB_CheckValue() As String
|
||||
Get
|
||||
Return CheckVal
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
CheckVal = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("비선택시 값")> _
|
||||
Public Property DB_UnCheckVal() As String
|
||||
Get
|
||||
Return UnCheckVal
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
UnCheckVal = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
<System.ComponentModel.Description("현재 컨트롤 값을 Set/Return 비활성일시 NOTHING 반환")> _
|
||||
Public Property Value() As String
|
||||
Get
|
||||
If Me.CheckState = System.Windows.Forms.CheckState.Indeterminate Then
|
||||
Return Nothing
|
||||
Else
|
||||
Return IIf(Me.Checked, CheckVal, UnCheckVal)
|
||||
End If
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Select Case value
|
||||
Case CheckVal
|
||||
Me.Checked = True
|
||||
Case UnCheckVal
|
||||
Me.Checked = False
|
||||
Case Else
|
||||
Me.Checked = otherval
|
||||
End Select
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("데이터베이스 컬럼의 타입")> _
|
||||
Public Property DB_Type() As OleDbType
|
||||
Get
|
||||
Return Coltype
|
||||
End Get
|
||||
Set(ByVal value As OleDbType)
|
||||
Coltype = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("현 아이템이 데이터베이스 컬럼인가?")> _
|
||||
Public Property DB_ITEM() As Boolean
|
||||
Get
|
||||
Return Ditem
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
Ditem = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Sub CheckBox_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)
|
||||
If e.KeyCode = Keys.Enter Then SendKeys.Send("{TAB}")
|
||||
If Me.VAR_USERCLICK AndAlso e.KeyCode = Keys.Escape Then '//우측버튼 클릭시 비활성화한다
|
||||
Me.CheckState = System.Windows.Forms.CheckState.Indeterminate
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub CheckBox_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
|
||||
If Me.VAR_USERCLICK AndAlso e.Button = System.Windows.Forms.MouseButtons.Right Then '//우측버튼 클릭시 비활성화한다
|
||||
Me.CheckState = System.Windows.Forms.CheckState.Indeterminate
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
@@ -0,0 +1,244 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="12.0">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{0BC58028-0840-4EB3-84D4-7982B0550E1A}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<RootNamespace>MyControlOLEDBv2</RootNamespace>
|
||||
<AssemblyName>MyControlOLEDBv2</AssemblyName>
|
||||
<MyType>Windows</MyType>
|
||||
<SignAssembly>false</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>
|
||||
</AssemblyOriginatorKeyFile>
|
||||
<IsWebBootstrapper>true</IsWebBootstrapper>
|
||||
<PublishUrl>http://localhost/MyControlOLEDBv2/</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Web</InstallFrom>
|
||||
<UpdateEnabled>true</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355</NoWarn>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<DefineDebug>false</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\debug\</OutputPath>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355</NoWarn>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="FarPoint.CalcEngine, Version=13.45.20191.0, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="FarPoint.Excel, Version=13.45.20191.0, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="FarPoint.Localization, Version=13.45.20191.0, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="FarPoint.PDF, Version=13.45.20191.0, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="FarPoint.PluginCalendar.WinForms, Version=13.45.20191.0, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="FarPoint.Win, Version=13.45.20191.0, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="FarPoint.Win.Chart, Version=13.45.20191.0, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="FarPoint.Win.Spread, Version=13.45.20191.0, Culture=neutral, PublicKeyToken=327c3516b1b18457, processorArchitecture=MSIL" />
|
||||
<Reference Include="GrapeCity.CalcEngine, Version=13.45.20191.0, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="GrapeCity.Spreadsheet, Version=13.45.20191.0, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="GrapeCity.Spreadsheet.Win, Version=13.45.20191.0, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="GrapeCity.Win.PluginInputMan, Version=13.45.20191.0, Culture=neutral, PublicKeyToken=327c3516b1b18457, processorArchitecture=MSIL" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Import Include="Microsoft.VisualBasic" />
|
||||
<Import Include="System" />
|
||||
<Import Include="System.Collections" />
|
||||
<Import Include="System.Collections.Generic" />
|
||||
<Import Include="System.ComponentModel" />
|
||||
<Import Include="System.Data" />
|
||||
<Import Include="System.Data.OleDb" />
|
||||
<Import Include="System.Diagnostics" />
|
||||
<Import Include="System.Drawing" />
|
||||
<Import Include="System.Windows.Forms" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="lov.Designer.vb">
|
||||
<DependentUpon>lov.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="lov.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ImpCtl.designer.vb">
|
||||
<DependentUpon>ImpCtl.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ImpCtl.vb">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="My Project\AssemblyInfo.vb" />
|
||||
<Compile Include="My Project\Application.Designer.vb">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Application.myapp</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="My Project\Resources.Designer.vb">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="My Project\Settings.Designer.vb">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
<Compile Include="MyCheckBox.Designer.vb">
|
||||
<DependentUpon>MyCheckBox.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MyCheckBox.vb">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MyCombo.Designer.vb">
|
||||
<DependentUpon>MyCombo.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MyCombo.vb">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MyFpoint.Designer.vb">
|
||||
<DependentUpon>MyFpoint.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MyFpoint.vb">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MyINI.vb" />
|
||||
<Compile Include="MyLabel.Designer.vb">
|
||||
<DependentUpon>MyLabel.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MyLabel.vb">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MyListView.Designer.vb">
|
||||
<DependentUpon>MyListView.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MyListView.vb">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MyMaskBox.Designer.vb">
|
||||
<DependentUpon>MyMaskBox.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MyMaskBox.vb">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MySearchGrp.Designer.vb">
|
||||
<DependentUpon>MySearchGrp.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MySearchGrp.vb">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MySortGrp.Designer.vb">
|
||||
<DependentUpon>MySortGrp.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MySortGrp.vb">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MyTextBox.Designer.vb">
|
||||
<DependentUpon>MyTextBox.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MyTextBox.vb">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="ImpCtl.resx">
|
||||
<DependentUpon>ImpCtl.vb</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="lov.resx">
|
||||
<SubType>Designer</SubType>
|
||||
<DependentUpon>lov.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="My Project\licenses.licx" />
|
||||
<EmbeddedResource Include="My Project\Resources.resx">
|
||||
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
|
||||
<CustomToolNamespace>My.Resources</CustomToolNamespace>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="MyCheckBox.resx">
|
||||
<SubType>Designer</SubType>
|
||||
<DependentUpon>MyCheckBox.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="MyMaskBox.resx">
|
||||
<SubType>Designer</SubType>
|
||||
<DependentUpon>MyMaskBox.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="MyTextBox.resx">
|
||||
<SubType>Designer</SubType>
|
||||
<DependentUpon>MyTextBox.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="My Project\Application.myapp">
|
||||
<Generator>MyApplicationCodeGenerator</Generator>
|
||||
<LastGenOutput>Application.Designer.vb</LastGenOutput>
|
||||
</None>
|
||||
<None Include="My Project\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<CustomToolNamespace>My</CustomToolNamespace>
|
||||
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Service Include="{94E38DFF-614B-4CBD-B67C-F211BB35CE8B}" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 2.0</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\new_32.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\close_32.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\srch_32.png" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
850
Sub/MyControl(OleDb)v2/Spread.Net.v13/MyFpoint.vb
Normal file
@@ -0,0 +1,850 @@
|
||||
Public Class MyFpoint
|
||||
Inherits FarPoint.Win.Spread.FpSpread
|
||||
|
||||
Private v_AAutoAddrowInLast As ToolStripButton = Nothing
|
||||
Private V_enterToTab As Boolean = False
|
||||
Private V_DeleteKey As Boolean = False
|
||||
Private V_CurrentDel As Boolean = False
|
||||
Private V_FIRSTINDEX As Integer = 0
|
||||
Private V_NextRowindex As Integer = -1
|
||||
Private A_Ubound As New ArrayList
|
||||
Private V_SpaceEdit As Boolean = True
|
||||
Private V_sameRHeight As Boolean = True
|
||||
Private V_선택줄번호 As Int16 = -1
|
||||
<System.ComponentModel.Description("더이상데이터가없는 마지막줄일때 자동으로 해당 버튼을 클릭해줍니다.")> _
|
||||
Public Property AAutoAddrowInLast() As ToolStripButton
|
||||
Get
|
||||
Return Me.v_AAutoAddrowInLast
|
||||
End Get
|
||||
Set(ByVal value As ToolStripButton)
|
||||
Me.v_AAutoAddrowInLast = value
|
||||
End Set
|
||||
End Property
|
||||
<System.ComponentModel.Description("선택용 체크박스의 인덱스번호를 입력하세요")> _
|
||||
Public Property 선택줄번호() As Int16
|
||||
Get
|
||||
Return V_선택줄번호
|
||||
End Get
|
||||
Set(ByVal value As Int16)
|
||||
V_선택줄번호 = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("줄너비가 변경될때 모두 같이 변경됩니다")> _
|
||||
Public Property SameRowheight() As Boolean
|
||||
Get
|
||||
Return V_sameRHeight
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
V_sameRHeight = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
|
||||
<System.ComponentModel.Description("스페이스키를 누르면 편집모드로 들어갑니다")> _
|
||||
Public Property EditFromSpace() As Boolean
|
||||
Get
|
||||
Return V_SpaceEdit
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
V_SpaceEdit = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' 중복된 데이터를 검색합니다. startindex = 시작할 줄번호,endindex = 종료할 줄번호, source 검색원본의 열번호들, target 검색대상의 열번호들
|
||||
''' 검색완료후 전체 중복된 갯수를 리턴합니다.
|
||||
''' </summary>
|
||||
''' <param name="StartIndex"></param>
|
||||
''' <param name="EndIndex"></param>
|
||||
''' <param name="Source"></param>
|
||||
''' <param name="Tartger"></param>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Public Function 중복검사(ByVal StartIndex As Integer, ByVal EndIndex As Integer, ByVal Source() As Short, ByVal Tartger() As Short, Optional ByVal CheckColnum As Short = -1, Optional ByVal PBar As ProgressBar = Nothing) As Integer
|
||||
'''''검색방법은 1번개체부터 마지막개체까지 풀루프를 돌면서 동일한 놈을 찾는다.
|
||||
Dim 원본, 대상 As String 'New System.Text.StringBuilder
|
||||
Dim fcnt As Integer = 0
|
||||
|
||||
If Not PBar Is Nothing Then
|
||||
PBar.Value = StartIndex
|
||||
PBar.Minimum = StartIndex
|
||||
PBar.Maximum = EndIndex
|
||||
End If
|
||||
|
||||
'NOTICE("중복되는 [전주번호]를 찾는중입니다...", Me.lb_msg)
|
||||
'Me.Invalidate()
|
||||
|
||||
|
||||
For A As Integer = StartIndex To EndIndex
|
||||
원본 = ""
|
||||
For Each T As Short In Source
|
||||
원본 &= Me.ActiveSheet.Cells(A, T).Value
|
||||
Next
|
||||
|
||||
If 원본.ToString <> "" Then
|
||||
For B As Integer = StartIndex To EndIndex
|
||||
If A <> B Then '//같은라인은 피하고 그렇지 않은 라인의 번호를 확인한다.
|
||||
대상 = ""
|
||||
For Each T As Short In Tartger
|
||||
대상 &= Me.ActiveSheet.Cells(B, T).Value
|
||||
Next
|
||||
If 원본.ToString = 대상.ToString Then
|
||||
'MsgBox(원본)
|
||||
|
||||
fcnt += 1
|
||||
If CheckColnum > -1 Then
|
||||
Me.ActiveSheet.Cells(A, CheckColnum).Value = True
|
||||
Me.ActiveSheet.Cells(B, CheckColnum).Value = True
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
If Not PBar Is Nothing Then
|
||||
If PBar.Value < PBar.Maximum Then PBar.Value += 1
|
||||
Me.Invalidate()
|
||||
End If
|
||||
Next
|
||||
Return fcnt
|
||||
|
||||
'NOTICE("[전주번호] 중복검사 완료(" & fcnt & "개의 데이터를 찾았습니다)", Me.lb_msg)
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 중복된 데이터를 검색합니다. startindex = 시작할 줄번호,endindex = 종료할 줄번호, source 검색원본의 열번호들, target 검색대상의 열번호들
|
||||
''' 검색완료후 전체 중복된 갯수를 리턴합니다.
|
||||
''' </summary>
|
||||
''' <param name="StartIndex"></param>
|
||||
''' <param name="EndIndex"></param>
|
||||
''' <param name="Source"></param>
|
||||
''' <param name="Tartger"></param>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Public Function 중복검사2(ByVal StartIndex As Integer, ByVal EndIndex As Integer, ByVal Source() As Short, ByVal Tartger() As Short, Optional ByVal CheckColnum As Short = -1, Optional ByVal PBar As ProgressBar = Nothing) As Integer
|
||||
'''''검색방법은 1번개체부터 마지막개체까지 풀루프를 돌면서 동일한 놈을 찾는다.
|
||||
Dim 원본, 대상 As String 'New System.Text.StringBuilder
|
||||
Dim fcnt As Integer = 0
|
||||
|
||||
If Not PBar Is Nothing Then
|
||||
PBar.Value = StartIndex
|
||||
PBar.Minimum = StartIndex
|
||||
PBar.Maximum = EndIndex
|
||||
End If
|
||||
|
||||
For A As Integer = StartIndex To EndIndex
|
||||
원본 = ""
|
||||
For Each T As Short In Source
|
||||
원본 &= Me.ActiveSheet.Cells(A, T).Value
|
||||
Next
|
||||
If 원본.Trim.ToString <> "" Then
|
||||
For B As Integer = StartIndex To EndIndex
|
||||
If A <> B Then '//같은라인은 피하고 그렇지 않은 라인의 번호를 확인한다.
|
||||
대상 = ""
|
||||
For Each T As Short In Tartger
|
||||
대상 &= Me.ActiveSheet.Cells(B, T).Value
|
||||
Next
|
||||
If 원본.Trim.ToString = 대상.Trim.ToString Then
|
||||
fcnt += 1
|
||||
If CheckColnum > -1 Then
|
||||
Me.ActiveSheet.Cells(A, CheckColnum).Value = True
|
||||
Me.ActiveSheet.Cells(B, CheckColnum).Value = True
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
If Not PBar Is Nothing Then
|
||||
If PBar.Value < PBar.Maximum Then PBar.Value += 1
|
||||
Me.Invalidate()
|
||||
End If
|
||||
Next
|
||||
Return fcnt
|
||||
'NOTICE("[전주번호] 중복검사 완료(" & fcnt & "개의 데이터를 찾았습니다)", Me.lb_msg)
|
||||
End Function
|
||||
|
||||
Public Function 중복검사같은줄(ByVal StartIndex As Integer, ByVal EndIndex As Integer, ByVal Source() As Short, ByVal Tartger() As Short, Optional ByVal CheckColnum As Short = -1, Optional ByVal PBar As ProgressBar = Nothing, Optional ByVal TrueDirection As Boolean = True) As Integer
|
||||
Dim 원본, 대상 As String 'New System.Text.StringBuilder
|
||||
Dim fcnt As Integer = 0
|
||||
Dim Can As Boolean = False
|
||||
If Not PBar Is Nothing Then : PBar.Value = StartIndex : PBar.Minimum = StartIndex : PBar.Maximum = EndIndex : End If
|
||||
|
||||
For A As Integer = StartIndex To EndIndex
|
||||
원본 = "" : 대상 = ""
|
||||
Can = False
|
||||
For Each T As Short In Source
|
||||
원본 &= Me.ActiveSheet.Cells(A, T).Value
|
||||
Next
|
||||
For Each T As Short In Tartger
|
||||
대상 &= Me.ActiveSheet.Cells(A, T).Value
|
||||
Next
|
||||
|
||||
If 원본.Trim.ToString <> "" Then
|
||||
If TrueDirection = True Then
|
||||
If 원본.Trim.ToString = 대상.Trim.ToString Then Can = True
|
||||
Else
|
||||
If 원본.Trim.ToString <> 대상.Trim.ToString Then Can = True
|
||||
End If
|
||||
If Can Then
|
||||
fcnt += 1
|
||||
If CheckColnum > -1 Then Me.ActiveSheet.Cells(A, CheckColnum).Value = True
|
||||
End If
|
||||
|
||||
End If
|
||||
If Not PBar Is Nothing Then
|
||||
If PBar.Value < PBar.Maximum Then PBar.Value += 1
|
||||
Me.Invalidate()
|
||||
End If
|
||||
Next
|
||||
Return fcnt
|
||||
|
||||
End Function
|
||||
|
||||
Public Function 중복검사같은줄공란포함(ByVal StartIndex As Integer, ByVal EndIndex As Integer, ByVal Source() As Short, ByVal Tartger() As Short, Optional ByVal CheckColnum As Short = -1, Optional ByVal PBar As ProgressBar = Nothing, Optional ByVal TrueDirection As Boolean = True) As Integer
|
||||
Dim 원본, 대상 As String 'New System.Text.StringBuilder
|
||||
Dim fcnt As Integer = 0
|
||||
Dim Can As Boolean = False
|
||||
If Not PBar Is Nothing Then : PBar.Value = StartIndex : PBar.Minimum = StartIndex : PBar.Maximum = EndIndex : End If
|
||||
|
||||
For A As Integer = StartIndex To EndIndex
|
||||
원본 = "" : 대상 = ""
|
||||
Can = False
|
||||
For Each T As Short In Source
|
||||
원본 &= Me.ActiveSheet.Cells(A, T).Text
|
||||
Next
|
||||
For Each T As Short In Tartger
|
||||
대상 &= Me.ActiveSheet.Cells(A, T).Text
|
||||
Next
|
||||
|
||||
If TrueDirection = True Then
|
||||
If 원본.Trim.ToString = 대상.Trim.ToString Then Can = True
|
||||
Else
|
||||
If 원본.Trim.ToString <> 대상.Trim.ToString Then Can = True
|
||||
End If
|
||||
|
||||
If Can Then
|
||||
fcnt += 1
|
||||
If CheckColnum > -1 Then Me.ActiveSheet.Cells(A, CheckColnum).Value = True
|
||||
End If
|
||||
|
||||
If Not PBar Is Nothing Then
|
||||
If PBar.Value < PBar.Maximum Then PBar.Value += 1
|
||||
Me.Invalidate()
|
||||
End If
|
||||
Next
|
||||
Return fcnt
|
||||
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 사용하지 않는걸 권장합니다( 이명령은 insertNewrow 로 사용하길 권장합니다.)
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Public Function AddRowsU() As Integer
|
||||
Dim Idx As Integer
|
||||
With Me.ActiveSheet
|
||||
If .RowCount <= 0 Then '//데이터가 아에없다면
|
||||
Idx = 0
|
||||
.AddUnboundRows(Idx, 1)
|
||||
.Rows(Idx).Tag = "UNBOUND"
|
||||
.ActiveRowIndex = 0
|
||||
.ActiveColumnIndex = Me.FIRST_FOCUSINDEX
|
||||
A_Ubound.Add(Idx)
|
||||
Else
|
||||
Idx = IIf(.ActiveRow.Index < 0, 0, .ActiveRow.Index)
|
||||
.AddUnboundRows(Idx, 1)
|
||||
.Rows(Idx).Tag = "UNBOUND"
|
||||
A_Ubound.Add(Idx)
|
||||
End If
|
||||
End With
|
||||
Return Idx
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 현재위치 위에 새로운 행을 추가합니다(바운드 적용됨)
|
||||
''' </summary>
|
||||
''' <remarks></remarks>
|
||||
Public Sub Arin_InsertNewRow()
|
||||
If Not Me.Focused Then Me.Focus()
|
||||
Me.ActiveSheet.Rows.Add(Me.ActiveSheet.ActiveRowIndex, 1)
|
||||
Me.ActiveSheet.SetActiveCell(Me.ActiveSheet.ActiveRowIndex, Me.FIRST_FOCUSINDEX)
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 마지막에 새로운 행을 추가합니다(바운드 적용됨)
|
||||
''' </summary>
|
||||
''' <remarks></remarks>
|
||||
Public Sub Arin_AddNewRow()
|
||||
If Not Me.Focused Then Me.Focus()
|
||||
Me.ActiveSheet.Rows.Add(Me.ActiveSheet.RowCount, 1)
|
||||
Me.ActiveSheet.SetActiveCell(Me.ActiveSheet.RowCount, Me.FIRST_FOCUSINDEX)
|
||||
SendKeys.Send("{ENTER}")
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 마지막에 새로운 행을 추가합니다.(바운드적용안됨)
|
||||
''' </summary>
|
||||
''' <remarks></remarks>
|
||||
Public Sub Arin_AddNewRowU()
|
||||
If Not Me.Focused Then Me.Focus()
|
||||
Dim Idx As Integer
|
||||
Me.ActiveSheet.AddUnboundRows(Me.ActiveSheet.RowCount, 1)
|
||||
Idx = Me.ActiveSheet.RowCount - 1
|
||||
Me.ActiveSheet.Rows(Idx).Tag = "UNBOUND"
|
||||
Me.ActiveSheet.SetActiveCell(Me.ActiveSheet.RowCount, Me.FIRST_FOCUSINDEX)
|
||||
SendKeys.Send("{ENTER}")
|
||||
End Sub
|
||||
|
||||
Public Function NewRowsU() As Integer
|
||||
Dim Idx As Integer
|
||||
Me.ActiveSheet.AddUnboundRows(Me.ActiveSheet.RowCount, 1)
|
||||
Idx = Me.ActiveSheet.RowCount - 1
|
||||
Me.ActiveSheet.Rows(Idx).Tag = "UNBOUND"
|
||||
A_Ubound.Add(Idx) '--언바운드목록에 제외시켜버린다
|
||||
Return Idx
|
||||
End Function
|
||||
Public Sub Attach_Ubound(Optional ByVal NullChkColnum As Integer = -1)
|
||||
' MsgBox(A_Ubound.Count)
|
||||
Dim nullVal As Boolean = False
|
||||
For Each A As Integer In A_Ubound
|
||||
Try
|
||||
If Me.ActiveSheet.Rows(CInt(A)).Tag = "UNBOUND" Then '//언바운드된열일경우에만
|
||||
If NullChkColnum > -1 Then
|
||||
nullVal = True
|
||||
For z As Integer = NullChkColnum To Me.ActiveSheet.ColumnCount - 1
|
||||
If Me.ActiveSheet.Cells(A, z).Text <> "" Then
|
||||
'MsgBox(Me.ActiveSheet.Cells(A, z).Text)
|
||||
nullVal = False
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
If Not nullVal Then Me.ActiveSheet.AddRowToDataSource(CInt(A), True)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MsgBox("[Err]Add-Unbound Row" & vbCrLf & ex.Message.ToString)
|
||||
End Try
|
||||
Next
|
||||
A_Ubound.Clear()
|
||||
End Sub
|
||||
|
||||
<System.ComponentModel.Description("줄바꿈을 할 열 번호입니다")> _
|
||||
Public Property NextRow_Index() As Integer
|
||||
Get
|
||||
Return V_NextRowindex
|
||||
|
||||
End Get
|
||||
Set(ByVal value As Integer)
|
||||
V_NextRowindex = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("줄이 바뀌었을때 커서가 위치할 시작 값입니다.")> _
|
||||
Public Property FIRST_FOCUSINDEX() As Integer
|
||||
Get
|
||||
Return V_FIRSTINDEX
|
||||
|
||||
End Get
|
||||
Set(ByVal value As Integer)
|
||||
V_FIRSTINDEX = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("Del 키를 누를시 커서가 위치한 셀의 값을 초기합니다")> _
|
||||
Public Property CurrentDel() As Boolean
|
||||
Get
|
||||
Return V_CurrentDel
|
||||
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
V_CurrentDel = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
<System.ComponentModel.Description("Shift+Del 키를 누를시 해당 줄을 삭제합니다.")> _
|
||||
Public Property DeleteKey() As Boolean
|
||||
Get
|
||||
Return V_DeleteKey
|
||||
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
V_DeleteKey = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' 입력된 줄번호와 태그=데이터필드 가 일치하는 셀을 반환합니다.
|
||||
''' </summary>
|
||||
''' <param name="index"></param>
|
||||
''' <param name="Tag"></param>
|
||||
''' <param name="Sheetindex"></param>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Public Function Cells(ByVal index As Integer, ByVal Tag As Object, Optional ByVal Sheetindex As Integer = -1) As FarPoint.Win.Spread.Cell
|
||||
Dim RetVal As FarPoint.Win.Spread.Cell = Nothing
|
||||
If Sheetindex = -1 Then Sheetindex = Me.ActiveSheetIndex
|
||||
|
||||
For Each SC As FarPoint.Win.Spread.Column In Me.Sheets(Sheetindex).Columns
|
||||
|
||||
If SC.DataField.ToUpper = Tag.ToString.ToUpper Then
|
||||
RetVal = Me.Sheets(Sheetindex).Cells(index, SC.Index)
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
If RetVal Is Nothing Then
|
||||
MsgBox("Can't Find column [" & Tag.ToString & "]", MsgBoxStyle.Critical, "Farpoint function Cells")
|
||||
End If
|
||||
Return RetVal
|
||||
End Function
|
||||
''' <summary>
|
||||
''' 현재선택된 줄의 열번호에해당하는 셀을 반환합니다.
|
||||
''' </summary>
|
||||
''' <param name="Columnindex"></param>
|
||||
''' <param name="Sheetindex"></param>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Public Function Cells(ByVal Columnindex As Integer, Optional ByVal Sheetindex As Integer = -1) As FarPoint.Win.Spread.Cell
|
||||
Dim RetVal As FarPoint.Win.Spread.Cell = Nothing
|
||||
If Sheetindex = -1 Then Sheetindex = Me.ActiveSheetIndex
|
||||
Return Me.Sheets(Sheetindex).Cells(Me.ActiveSheet.ActiveRowIndex, Columnindex)
|
||||
Return RetVal
|
||||
End Function
|
||||
''' <summary>
|
||||
''' 현재선택된 셀을 반환합니다
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Public Function Cells() As FarPoint.Win.Spread.Cell
|
||||
Dim RetVal As FarPoint.Win.Spread.Cell = Nothing
|
||||
Return Me.ActiveSheet.ActiveCell
|
||||
End Function
|
||||
Public Function ActiveCell() As FarPoint.Win.Spread.Cell
|
||||
Dim RetVal As FarPoint.Win.Spread.Cell = Nothing
|
||||
Return Me.ActiveSheet.ActiveCell
|
||||
End Function
|
||||
''' <summary>
|
||||
''' 전줄의 현재열위치 셀을 반환
|
||||
''' </summary>
|
||||
''' <param name="FirstrowValueisNothing"></param>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Public Function PreRCells(Optional ByVal FirstrowValueisNothing As Boolean = False) As FarPoint.Win.Spread.Cell
|
||||
If FirstrowValueisNothing AndAlso Me.ActiveRowindex = 0 Then Return Nothing
|
||||
|
||||
If Me.ActiveRowindex = 0 Then
|
||||
If FirstrowValueisNothing Then
|
||||
Return Nothing
|
||||
Else
|
||||
Return Me.ActiveSheet.ActiveCell
|
||||
End If
|
||||
Else
|
||||
Return Me.ActiveSheet.Cells(Me.ActiveRowindex - 1, Me.ActiveColumnindex)
|
||||
End If
|
||||
End Function
|
||||
''' <summary>
|
||||
''' 앞셀을 반환
|
||||
''' </summary>
|
||||
''' <param name="FirstColValueisNothing"></param>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Public Function PreCells(Optional ByVal FirstColValueisNothing As Boolean = False) As FarPoint.Win.Spread.Cell
|
||||
If FirstColValueisNothing AndAlso Me.ActiveColumnindex = 0 Then Return Nothing
|
||||
|
||||
If Me.ActiveColumnindex = 0 Then
|
||||
If FirstColValueisNothing Then
|
||||
Return Nothing
|
||||
Else
|
||||
Return Me.ActiveSheet.ActiveCell
|
||||
End If
|
||||
Else
|
||||
Return Me.ActiveSheet.Cells(Me.ActiveRowindex, Me.ActiveColumnindex - 1)
|
||||
End If
|
||||
End Function
|
||||
''' <summary>
|
||||
''' 입력된 태그와 데이터필드가 일치하는 셀을 반환합니다.(줄번호는 현재줄)
|
||||
''' </summary>
|
||||
''' <param name="Tag"></param>
|
||||
''' <param name="Sheetindex"></param>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Public Function Cells(ByVal Tag As Object, Optional ByVal Sheetindex As Integer = -1) As FarPoint.Win.Spread.Cell
|
||||
Dim RetVal As FarPoint.Win.Spread.Cell = Nothing
|
||||
If Sheetindex = -1 Then Sheetindex = Me.ActiveSheetIndex
|
||||
|
||||
For Each SC As FarPoint.Win.Spread.Column In Me.Sheets(Sheetindex).Columns
|
||||
|
||||
If SC.DataField.ToUpper = Tag.ToString.ToUpper Then
|
||||
RetVal = Me.Sheets(Sheetindex).Cells(Me.ActiveRowindex, SC.Index)
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
If RetVal Is Nothing Then
|
||||
MsgBox("Can't Find column [" & Tag.ToString & "]", MsgBoxStyle.Critical, "Farpoint function Cells")
|
||||
End If
|
||||
Return RetVal
|
||||
End Function
|
||||
''' <summary>
|
||||
''' 활성화된 열제목줄을 반환합니다.
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Public Function ActiveColumn() As FarPoint.Win.Spread.Column
|
||||
Return Me.ActiveSheet.Columns(Me.ActiveColumnindex)
|
||||
End Function
|
||||
''' <summary>
|
||||
''' 입력된 태그와 데이터필드가 일치하는 셀을 반환합니다.(줄번호는 현재줄)
|
||||
''' </summary>
|
||||
''' <param name="Tag"></param>
|
||||
''' <param name="Sheetindex"></param>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Public Function CCells(ByVal Tag As Object, Optional ByVal Sheetindex As Integer = -1) As FarPoint.Win.Spread.Cell
|
||||
Dim RetVal As FarPoint.Win.Spread.Cell = Nothing
|
||||
If Sheetindex = -1 Then Sheetindex = Me.ActiveSheetIndex
|
||||
|
||||
For Each SC As FarPoint.Win.Spread.Column In Me.Sheets(Sheetindex).Columns
|
||||
|
||||
If SC.DataField.ToUpper = Tag.ToString.ToUpper Then
|
||||
RetVal = Me.Sheets(Sheetindex).Cells(Me.ActiveRowindex, SC.Index)
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
If RetVal Is Nothing Then
|
||||
MsgBox("Can't Find column [" & Tag.ToString & "]", MsgBoxStyle.Critical, "Farpoint function Cells")
|
||||
End If
|
||||
Return RetVal
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 활성화된 줄번호를 반환
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Public Function ActiveRowindex() As Integer
|
||||
Return Me.ActiveSheet.ActiveRowIndex
|
||||
End Function
|
||||
''' <summary>
|
||||
''' 활성화된 열버호를 반환
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Public Function ActiveColumnindex() As Integer
|
||||
Return Me.ActiveSheet.ActiveColumnIndex
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 엔터키를 누르면 다음셀로이동하는 키맵을 설정합니다.
|
||||
''' </summary>
|
||||
''' <remarks></remarks>
|
||||
Public Sub EnterToNextItem()
|
||||
Dim im As New FarPoint.Win.Spread.InputMap
|
||||
im = Me.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused)
|
||||
im.Put(New FarPoint.Win.Spread.Keystroke(Keys.Enter, Keys.None), FarPoint.Win.Spread.SpreadActions.MoveToNextColumnWrap)
|
||||
im = Me.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused)
|
||||
im.Put(New FarPoint.Win.Spread.Keystroke(Keys.Enter, Keys.None), FarPoint.Win.Spread.SpreadActions.MoveToNextColumnWrap)
|
||||
End Sub
|
||||
|
||||
Public Sub NEXT_CELL()
|
||||
If Me.ActiveSheet.ActiveRowIndex <> Me.ActiveSheet.RowCount - 1 Then '//마지막줄이 아니면
|
||||
If Me.ActiveSheet.ActiveColumnIndex = Me.ActiveSheet.ColumnCount - 1 Then '/마지막열이면 다음줄 첨으로 이동
|
||||
'SendKeys.Send("{TAB}")
|
||||
Me.ActiveSheet.ActiveRowIndex += 1
|
||||
Me.ActiveSheet.ActiveColumnIndex = V_FIRSTINDEX '//첫인덱스로 옴긴다.기본값은 0이다.
|
||||
'Me.ActiveSheet.SetActiveCell(Me.ActiveSheet.ActiveRowIndex + 1, V_FIRSTINDEX)
|
||||
|
||||
Else
|
||||
'SendKeys.Send("{TAB}")
|
||||
'Me.ActiveSheet.SetActiveCell(Me.ActiveSheet.ActiveRowIndex, Me.ActiveSheet.ActiveColumnIndex + 1)
|
||||
'Me.ActiveSheet.IsSelected(Me.ActiveSheet.ActiveRowIndex, Me.ActiveSheet.ActiveColumnIndex + 1)
|
||||
'ME.ActiveSheet.SEL
|
||||
Me.ActiveSheet.ActiveColumnIndex += 1
|
||||
End If
|
||||
Else
|
||||
If Me.ActiveSheet.ActiveColumnIndex <> Me.ActiveSheet.ColumnCount - 1 Then '/마지막열이면 다음줄 첨으로 이동
|
||||
'Me.ActiveSheet.ActiveRowIndex += 1
|
||||
Me.ActiveSheet.ActiveColumnIndex += 1 '//첫인덱스로 옴긴다.기본값은 0이다.
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
Public Sub NEXT_ROW()
|
||||
If Me.ActiveSheet.ActiveRowIndex <> Me.ActiveSheet.RowCount - 1 Then '//마지막줄이 아니면
|
||||
Me.ActiveSheet.ActiveRowIndex += 1
|
||||
Me.ActiveSheet.ActiveColumnIndex = V_FIRSTINDEX '//첫인덱스로 옴긴다.기본값은 0이다.
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Sub ItemCheck_Select(Optional ByVal index As Int16 = -1)
|
||||
|
||||
Dim sheet As FarPoint.Win.Spread.SheetView = Me.ActiveSheet
|
||||
If index = -1 AndAlso Me.선택줄번호 <> -1 Then index = 선택줄번호 '//지정된열제목이 잇는지
|
||||
sheet.AutoFilterReset(index) '//필터적용시 만힝 느리므로 필터를 해제한다.
|
||||
For i As Integer = 0 To sheet.RowCount - 1
|
||||
sheet.Cells(i, index).Value = True
|
||||
Next
|
||||
End Sub
|
||||
Public Sub ItemCheck_Unselect(Optional ByVal index As Int16 = -1)
|
||||
Dim sheet As FarPoint.Win.Spread.SheetView = Me.ActiveSheet
|
||||
If index = -1 AndAlso Me.선택줄번호 <> -1 Then index = 선택줄번호 '//지정된열제목이 잇는지
|
||||
sheet.AutoFilterReset(index) '//필터적용시 만힝 느리므로 필터를 해제한다.
|
||||
For i As Integer = 0 To sheet.RowCount - 1
|
||||
sheet.Cells(i, index).Value = False
|
||||
Next
|
||||
End Sub
|
||||
Public Sub ItemCheck_Reverse(Optional ByVal index As Int16 = -1)
|
||||
Dim sheet As FarPoint.Win.Spread.SheetView = Me.ActiveSheet
|
||||
If index = -1 AndAlso Me.선택줄번호 <> -1 Then index = 선택줄번호 '//지정된열제목이 잇는지
|
||||
sheet.AutoFilterReset(index) '//필터적용시 만힝 느리므로 필터를 해제한다.
|
||||
For i As Integer = 0 To sheet.RowCount - 1
|
||||
sheet.Cells(i, index).Value = IIf(sheet.Cells(i, index).Value = True, False, True)
|
||||
Next
|
||||
End Sub
|
||||
''' <summary>
|
||||
''' 뷰의 열너비,열이름(옵션),줌팩터등을 저장합니다.
|
||||
''' </summary>
|
||||
''' <param name="ColName"></param>
|
||||
''' <remarks></remarks>
|
||||
Public Sub Setting_Save(Optional ByVal ColName As Boolean = True, Optional ByVal Tag As String = "", Optional ByVal FN As String = "")
|
||||
ColSize_Save(Tag, FN)
|
||||
If ColName Then ColName_Save(Tag, FN)
|
||||
CurrentState_Save(Tag, FN)
|
||||
AZOOM_Save(Tag, FN)
|
||||
End Sub
|
||||
''' <summary>
|
||||
''' 뷰의 열너비,열이름(옵션),줌팩터등을 불러옵니다
|
||||
''' </summary>
|
||||
''' <param name="ColName"></param>
|
||||
''' <remarks></remarks>
|
||||
Public Sub Setting_Load(Optional ByVal ColName As Boolean = True, Optional ByVal Tag As String = "", Optional ByVal FN As String = "")
|
||||
ColSize_Load(Tag, FN)
|
||||
If ColName Then ColName_Load(Tag, FN)
|
||||
CurrentState_Load(Tag, FN)
|
||||
AZOOM_LOAD(Tag, FN)
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 현재 열너비를 Spread.ini 파일에 저장합니다.
|
||||
''' </summary>
|
||||
''' <remarks></remarks>
|
||||
Public Sub AZOOM_Save(ByVal tag As String, ByVal fn As String)
|
||||
Dim File As New System.IO.FileInfo(My.Application.Info.DirectoryPath & "\" & fn & "spread.INI")
|
||||
If System.IO.Directory.Exists(File.DirectoryName) = False Then System.IO.Directory.CreateDirectory(File.DirectoryName)
|
||||
Dim a As New MyINI2(File.FullName)
|
||||
a.Write(Me.Parent.Name & "-" & (Me.Name & tag), "ZOOM", Me.ActiveSheet.ZoomFactor)
|
||||
|
||||
End Sub
|
||||
''' <summary>
|
||||
''' 현재 열너비를 Spread.ini 파일로 부터 불러옵니다.
|
||||
''' </summary>
|
||||
''' <remarks></remarks>
|
||||
Public Sub AZOOM_LOAD(ByVal tag As String, ByVal fn As String)
|
||||
Dim FILEname As String = My.Application.Info.DirectoryPath & "\" & fn & "spread.INI"
|
||||
If Not System.IO.File.Exists(FILEname) Then
|
||||
MsgBox("열너비 파일이 존재하지 않습니다", MsgBoxStyle.Critical, "열너비설정-오류")
|
||||
ColSize_Save(tag, fn)
|
||||
Return
|
||||
End If
|
||||
'MsgBox("PARENT" & Me.Parent.Name.ToString & "/" & Me.Parent.Text)
|
||||
Dim a As New MyINI2(FILEname)
|
||||
Me.ActiveSheet.ZoomFactor = a.Read(Me.Parent.Name & "-" & (Me.Name & tag), "ZOOM", 1)
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 현재 열너비를 Spread.ini 파일에 저장합니다.
|
||||
''' </summary>
|
||||
''' <remarks></remarks>
|
||||
Public Sub ColSize_Save(ByVal tag As String, ByVal fn As String)
|
||||
Dim File As New System.IO.FileInfo(My.Application.Info.DirectoryPath & "\" & fn & "spread.INI")
|
||||
If System.IO.Directory.Exists(File.DirectoryName) = False Then System.IO.Directory.CreateDirectory(File.DirectoryName)
|
||||
Dim a As New MyINI2(File.FullName)
|
||||
For Each z As FarPoint.Win.Spread.Column In Me.ActiveSheet.Columns
|
||||
a.Write(Me.Parent.Name & "-" & (Me.Name & tag), "COLSIZE" & z.Index.ToString, z.Width)
|
||||
Next
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 현재 열너비를 Spread.ini 파일로 부터 불러옵니다.
|
||||
''' </summary>
|
||||
''' <remarks></remarks>
|
||||
Public Sub ColSize_Load(ByVal tag As String, ByVal fn As String)
|
||||
Dim FILEname As String = My.Application.Info.DirectoryPath & "\" & fn & "spread.INI"
|
||||
If Not System.IO.File.Exists(FILEname) Then
|
||||
MsgBox("열너비 파일이 존재하지 않습니다", MsgBoxStyle.Critical, "열너비설정-오류")
|
||||
ColSize_Save(tag, fn)
|
||||
Return
|
||||
End If
|
||||
'MsgBox("PARENT" & Me.Parent.Name.ToString & "/" & Me.Parent.Text)
|
||||
Dim a As New MyINI2(FILEname)
|
||||
For Each col As FarPoint.Win.Spread.Column In Me.ActiveSheet.Columns
|
||||
'MsgBox(COL.Index)
|
||||
'a.Write(Me.Parent.Name, "COLSIZE" & COL.Index.ToString, File, COL.Width)
|
||||
Try
|
||||
col.Width = a.Read(Me.Parent.Name & "-" & (Me.Name & tag), "COLSIZE" & col.Index.ToString)
|
||||
Catch ex As Exception '//없을경우에는 에러를 내므로 그냥 나간다
|
||||
|
||||
End Try
|
||||
Next
|
||||
End Sub
|
||||
Public Sub ColName_Load(ByVal tag As String, ByVal fn As String)
|
||||
Dim FILEname As String = My.Application.Info.DirectoryPath & "\" & fn & "spread.INI"
|
||||
|
||||
If Not System.IO.File.Exists(FILEname) Then
|
||||
MsgBox("열너비 파일이 존재하지 않습니다", MsgBoxStyle.Critical, "열너비설정-오류")
|
||||
ColSize_Save(tag, fn)
|
||||
Return
|
||||
End If
|
||||
'MsgBox("PARENT" & Me.Parent.Name.ToString & "/" & Me.Parent.Text)
|
||||
Dim a As New MyINI2(FILEname)
|
||||
For Each col As FarPoint.Win.Spread.Column In Me.ActiveSheet.Columns
|
||||
'MsgBox(COL.Index)
|
||||
'a.Write(Me.Parent.Name, "COLSIZE" & COL.Index.ToString, File, COL.Width)
|
||||
Try
|
||||
col.Label = a.Read(Me.Parent.Name & "-" & Me.Name & tag, "COLNAME" & col.Index.ToString).ToString.Trim(Chr(0))
|
||||
Catch ex As Exception '//없을경우에는 에러를 내므로 그냥 나간다
|
||||
End Try
|
||||
Next
|
||||
End Sub
|
||||
Public Sub ColName_Save(ByVal tag As String, ByVal fn As String)
|
||||
Dim File As New System.IO.FileInfo(My.Application.Info.DirectoryPath & "\" & fn & "spread.INI")
|
||||
If System.IO.Directory.Exists(File.DirectoryName) = False Then System.IO.Directory.CreateDirectory(File.DirectoryName)
|
||||
Dim a As New MyINI2(File.FullName)
|
||||
For Each z As FarPoint.Win.Spread.Column In Me.ActiveSheet.Columns
|
||||
a.Write(Me.Parent.Name & "-" & Me.Name & tag, "COLNAME" & z.Index.ToString, z.Label)
|
||||
Next
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' [보충요망] :줄높이를 저장
|
||||
''' </summary>
|
||||
''' <remarks></remarks>
|
||||
Public Sub CurrentState_Save(ByVal tag As String, ByVal fn As String)
|
||||
Dim File As New System.IO.FileInfo(My.Application.Info.DirectoryPath & "\" & fn & "spread.INI")
|
||||
If System.IO.Directory.Exists(File.DirectoryName) = False Then System.IO.Directory.CreateDirectory(File.DirectoryName)
|
||||
Dim a As New MyINI2(File.FullName)
|
||||
a.Write(Me.Parent.Name & "-" & Me.Name & tag, "RowHeight", Me.ActiveSheet.Rows.Default.Height)
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' [보충요망] :줄높이를 불러온다.(spre.ini)
|
||||
''' </summary>
|
||||
''' <remarks></remarks>
|
||||
Public Sub CurrentState_Load(ByVal tag As String, ByVal fn As String)
|
||||
Dim FILEname As String = My.Application.Info.DirectoryPath & "\" & fn & "spread.INI"
|
||||
If Not System.IO.File.Exists(FILEname) Then
|
||||
MsgBox("열너비 파일이 존재하지 않습니다", MsgBoxStyle.Critical, "열너비설정-오류")
|
||||
CurrentState_Save(tag, fn)
|
||||
Return
|
||||
End If
|
||||
Dim a As New MyINI2(My.Application.Info.DirectoryPath & "\" & fn & "spread.INI")
|
||||
Me.ActiveSheet.Rows.Default.Height = a.Read(Me.Parent.Name & "-" & Me.Name & tag, "RowHeight", 20)
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub Delete_itm(Optional ByVal rowindex As Integer = -1, Optional ByVal prompt As Boolean = True)
|
||||
Dim Commit As Boolean = True
|
||||
Dim A As New System.Text.StringBuilder("경고 : 데이터 삭제를 선택했습니다")
|
||||
A.AppendLine()
|
||||
A.AppendLine("현재 선택된 줄이 삭제됩니다")
|
||||
A.AppendLine("계속하시겠습니까?")
|
||||
If prompt Then
|
||||
If MsgBox(A.ToString, MsgBoxStyle.Critical + MsgBoxStyle.OkCancel, "선택줄 삭제") <> MsgBoxResult.Ok Then Commit = False
|
||||
End If
|
||||
If Not Commit Then Return '//명령프롬프트에서 취소를 선택햇을시에는 빠져나간다.
|
||||
Me.ActiveSheet.ActiveRow.Remove()
|
||||
End Sub
|
||||
|
||||
Private Sub MyFpoint_EditModeOff(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.EditModeOff
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 전줄의 현재열위치 셀을 반환
|
||||
''' </summary>
|
||||
''' <param name="FirstrowValueisNothing"></param>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Public Function CellsPR(Optional ByVal FirstrowValueisNothing As Boolean = False) As FarPoint.Win.Spread.Cell
|
||||
If FirstrowValueisNothing AndAlso Me.ActiveRowindex = 0 Then Return Nothing
|
||||
|
||||
If Me.ActiveRowindex = 0 Then
|
||||
If FirstrowValueisNothing Then
|
||||
Return Nothing
|
||||
Else
|
||||
Return Me.ActiveSheet.ActiveCell
|
||||
End If
|
||||
Else
|
||||
Return Me.ActiveSheet.Cells(Me.ActiveRowindex - 1, Me.ActiveColumnindex)
|
||||
End If
|
||||
End Function
|
||||
|
||||
Private Sub CustFP_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
|
||||
e.Handled = True
|
||||
e.SuppressKeyPress = False
|
||||
|
||||
Select Case e.KeyCode
|
||||
Case Keys.Enter
|
||||
If e.Control Then
|
||||
Me.Cells.Value = Me.CellsPR.Value
|
||||
Else
|
||||
If Not Me.v_AAutoAddrowInLast Is Nothing Then
|
||||
If Me.ActiveSheet.ActiveRowIndex = Me.ActiveSheet.RowCount - 1 Then '//마지막줄에
|
||||
If Me.V_NextRowindex = Me.ActiveSheet.ActiveColumnIndex Then '//다음줄로가아햘 경우라면
|
||||
e.Handled = True
|
||||
Me.v_AAutoAddrowInLast.PerformClick()
|
||||
ElseIf Me.ActiveSheet.ActiveColumnIndex = Me.ActiveSheet.ColumnCount - 1 Then '//마지막열이라면
|
||||
e.Handled = True
|
||||
Me.v_AAutoAddrowInLast.PerformClick()
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
If Me.V_NextRowindex = Me.ActiveSheet.ActiveColumnIndex Then '//다음줄로가아햘 경우라면
|
||||
Me.NEXT_ROW()
|
||||
ElseIf Me.ActiveSheet.ActiveColumnIndex = Me.ActiveSheet.ColumnCount - 1 Then '//마지막열이라면
|
||||
Me.NEXT_ROW()
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Case Keys.Delete
|
||||
|
||||
If e.Shift Then '//쉬프트가 눌러져잇을경우
|
||||
If Me.V_DeleteKey Then Delete_itm(, True)
|
||||
e.Handled = True
|
||||
Else
|
||||
If Me.V_CurrentDel Then
|
||||
Me.ActiveSheet.ActiveCell.ResetValue()
|
||||
Me.OnEditModeOff(Nothing)
|
||||
e.Handled = True
|
||||
End If
|
||||
End If
|
||||
|
||||
Case Keys.Space
|
||||
If Me.V_SpaceEdit Then EditMode = True
|
||||
e.Handled = True
|
||||
Case Else '//그외다른게입력되어있을경우에는 editmode 에 들어가게되므로 한글처리를 위해 바로 에디트모드로 들어오게한다.
|
||||
|
||||
If e.KeyCode >= Keys.NumPad0 AndAlso e.KeyCode <= Keys.NumPad9 Then
|
||||
'//우측숫자패트
|
||||
ElseIf e.KeyCode >= Keys.D0 AndAlso e.KeyCode <= Keys.D9 Then
|
||||
'//일반숫자패드
|
||||
Else
|
||||
If Not e.Alt AndAlso Not e.Control AndAlso Me.ImeMode = System.Windows.Forms.ImeMode.Hangul Then
|
||||
EditMode = True
|
||||
End If
|
||||
End If
|
||||
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Private Sub CustFP_RowHeightChanged(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.RowHeightChangedEventArgs) Handles Me.RowHeightChanged
|
||||
If Me.V_sameRHeight Then
|
||||
Dim Row As FarPoint.Win.Spread.RowHeightChangeExtents = e.RowList(0)
|
||||
Me.ActiveSheet.Rows.Default.Height = Me.ActiveSheet.Rows(Row.FirstRow).Height
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
237
Sub/MyControl(OleDb)v2/Spread.Net.v13/MyListView.vb
Normal file
@@ -0,0 +1,237 @@
|
||||
Imports System.Text
|
||||
Imports System.IO
|
||||
Public Class MyListView
|
||||
Private AutoView As Boolean = False '//자동으로 리뷰의내용을 쿼리블럭에표시할지
|
||||
Private var_AutoDelete As Boolean = True '//Delte키를 눌렀을때 자동으로 rowid를 이용해서 삭제한다.
|
||||
Private VAR_ENABLE_MYKEY As Boolean = True
|
||||
Private var_enterkey As Boolean = True
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 엔터키를 누르면 포커스를 이동합니까?
|
||||
''' </summary>
|
||||
''' <remarks></remarks>
|
||||
<System.ComponentModel.Description("엔터키를 누르면 다음으로 포커스를 이동합니까?")> _
|
||||
Public Property DB_Enable_EnterKey() As Boolean
|
||||
Get
|
||||
Return var_enterkey
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
var_enterkey = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' 이 개체에 커서를 이동합니다.
|
||||
''' </summary>
|
||||
''' <remarks></remarks>
|
||||
Public Sub DB_SetFocus()
|
||||
If Me.Items.Count <= 0 Then
|
||||
MsgBox("뷰 데이터가 존재하지 않습니다", MsgBoxStyle.Information, "확인")
|
||||
Else
|
||||
Me.Focus()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 기본 셋트된 키 ENTER/SHIFT+KEY/DELETE 를 비활성화합니다.
|
||||
''' </summary>
|
||||
''' <value></value>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
<System.ComponentModel.Description("자동넘김 ENTER/SHIFT+ENTER/DELETE 키를 비활성화합니다")> _
|
||||
Public Property DB_Enable_MyKey() As Boolean
|
||||
Get
|
||||
Return (VAR_ENABLE_MYKEY)
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
VAR_ENABLE_MYKEY = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' DELETE 키가 눌렷을때 선택되아이템의 0번재 값을 ROWID로 삭제합니다
|
||||
''' </summary>
|
||||
''' <value></value>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
<System.ComponentModel.Description("Delete키를 눌렀을때 0번째 ID값을 가지고 삭제합니다")> _
|
||||
Public Property DB_Enable_DelKey() As Boolean
|
||||
Get
|
||||
Return var_AutoDelete
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
var_AutoDelete = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' 자동으로 리뷰의 내용을 설정된 쿼리블럭에 표시합니다 selectedindexchanged 함수가 호출됩니다.
|
||||
''' </summary>
|
||||
''' <value></value>
|
||||
''' <remarks></remarks>
|
||||
<System.ComponentModel.Description("자동으로 리뷰의 내용을 설정된 쿼리블럭에 표시합니다 seletecindexchanged 함수가 호출됩니다")> _
|
||||
Public Property DB_Autoview() As Boolean
|
||||
Get
|
||||
Return AutoView
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
AutoView = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 모든 개체를 선택합니다.
|
||||
''' </summary>
|
||||
''' <remarks></remarks>
|
||||
Public Sub ITEM_SELECT()
|
||||
For Each A As ListViewItem In Me.Items
|
||||
A.Checked = True
|
||||
Next
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 모든 개체의 선택을 해제합니다.
|
||||
''' </summary>
|
||||
''' <remarks></remarks>
|
||||
Public Sub ITEM_UNSELECT()
|
||||
For Each A As ListViewItem In Me.Items
|
||||
A.Checked = False
|
||||
Next
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 선택 반전
|
||||
''' </summary>
|
||||
''' <remarks></remarks>
|
||||
Public Sub ITEM_DESELECT()
|
||||
For Each A As ListViewItem In Me.Items
|
||||
A.Checked = IIf(A.Checked, False, True)
|
||||
Next
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 선택삭제
|
||||
''' </summary>
|
||||
''' <remarks></remarks>
|
||||
Public Sub ITEM_SELECTDEL()
|
||||
For Each A As ListViewItem In Me.Items
|
||||
If A.Checked Then A.Remove()
|
||||
Next
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 리스트뷰 각열이 크기를 확인합니다.
|
||||
''' </summary>
|
||||
''' <remarks></remarks>
|
||||
Public Sub COLSIZE_SAVE()
|
||||
Dim a As New MyINI2(My.Application.Info.DirectoryPath & "\LISTVIEW.INI")
|
||||
For Each COL As ColumnHeader In Me.Columns
|
||||
a.Write(Me.Parent.Name & "-" & Me.Name, "COLSIZE" & COL.Index.ToString, COL.Width)
|
||||
Next
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 리스트뷰 각열의 크기를 파일로부터 불러옵니다.
|
||||
''' </summary>
|
||||
''' <remarks></remarks>
|
||||
Public Sub COLSIZE_LOAD()
|
||||
Dim FILEname As String = My.Application.Info.DirectoryPath & "\LISTVIEW.INI"
|
||||
Dim a As New MyINI2(My.Application.Info.DirectoryPath & "\LISTVIEW.INI")
|
||||
If Not File.Exists(FILEname) Then
|
||||
MsgBox("열너비 파일이 존재하지 않습니다", MsgBoxStyle.Critical, "열너비설정-오류")
|
||||
COLSIZE_SAVE()
|
||||
Return
|
||||
End If
|
||||
'MsgBox("PARENT" & Me.Parent.Name.ToString & "/" & Me.Parent.Text)
|
||||
|
||||
For Each COL As ColumnHeader In Me.Columns
|
||||
'MsgBox(COL.Index)
|
||||
'a.Write(Me.Parent.Name, "COLSIZE" & COL.Index.ToString, File, COL.Width)
|
||||
Try
|
||||
COL.Width = a.Read(Me.Parent.Name & "-" & Me.Name, "COLSIZE" & COL.Index.ToString)
|
||||
Catch ex As Exception '//없을경우에는 에러를 내므로 그냥 나간다
|
||||
|
||||
End Try
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Public Sub FileSave()
|
||||
|
||||
Dim SD As New SaveFileDialog
|
||||
SD.Filter = "탭으로 분리된 파일(*.TXT)|*.TXT|콤마로 분리된 파일(*.CSV)|*.CSV|Excel WorkSheet(*.XLS)|*.XLS|XML Excel WorkSheet|*.xml|HTML(*.HTML)|*.HTML"
|
||||
SD.FilterIndex = 1
|
||||
SD.RestoreDirectory = True
|
||||
If SD.ShowDialog() = DialogResult.OK Then
|
||||
Select Case SD.FilterIndex
|
||||
Case 1
|
||||
ExportToTXT(SD.FileName)
|
||||
End Select
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Public Function ExportToTXT(ByVal FileName As String, Optional ByVal StartPosition As Short = 2, Optional ByVal NotePadOpen As Boolean = False) As Boolean
|
||||
Dim FS As New FileStream(FileName, FileMode.Create)
|
||||
'Dim BW As New BinaryWriter(FS, System.Text.Encoding.Default)
|
||||
Dim SW As New StreamWriter(FS, System.Text.Encoding.Default)
|
||||
|
||||
Dim rowIndex As Integer = 1 '엑셀의 행값
|
||||
Dim Rrowindex As Integer = 1
|
||||
Dim colIndex As Integer = 0 '엑셀의 열값
|
||||
Dim RcolIndex As Integer = 0
|
||||
|
||||
|
||||
System.Windows.Forms.Cursor.Current = Cursors.WaitCursor '//마우스를 대기로 변환
|
||||
|
||||
Try
|
||||
Dim LV As ListViewItem
|
||||
Dim la As ListViewItem.ListViewSubItem
|
||||
Dim SubBuf As StringBuilder
|
||||
Dim Aa As ColumnHeader
|
||||
|
||||
'--열머리글 내보내기
|
||||
For Each Aa In Me.Columns
|
||||
'MsgBox(Aa.Text)
|
||||
colIndex += 1
|
||||
If colIndex >= StartPosition Then
|
||||
RcolIndex += 1
|
||||
SW.Write(Aa.Text & vbTab)
|
||||
'excelApp.Cells(1, RcolIndex) = Aa.Text
|
||||
End If
|
||||
Next
|
||||
SW.Write(vbCrLf)
|
||||
|
||||
'- 열데이터 내보내기
|
||||
For Each LV In Me.Items
|
||||
rowIndex += 1 '//행값을 1개 증가시킨다.
|
||||
colIndex = 0 '//열값은 초기화한다.
|
||||
RcolIndex = 0 '//열값은 초기화한다.
|
||||
SubBuf = New StringBuilder '//문자열 저장버퍼 초기화
|
||||
For Each la In LV.SubItems
|
||||
colIndex += 1
|
||||
If colIndex >= StartPosition Then
|
||||
RcolIndex += 1
|
||||
SW.Write(la.Text & vbTab) '//컬럼을 추가한다.
|
||||
End If
|
||||
Next
|
||||
SW.Write(vbCrLf)
|
||||
Next
|
||||
|
||||
SW.Close()
|
||||
FS.Close()
|
||||
Return True
|
||||
Catch exp As Exception
|
||||
MessageBox.Show(exp.ToString)
|
||||
SW.Close()
|
||||
FS.Close()
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
End Class
|
||||
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
200
Sub/MyControl(OleDb)v2/Spread.Net.v13/lov.vb
Normal file
@@ -0,0 +1,200 @@
|
||||
Public Class lov
|
||||
Public RES As Integer = 0
|
||||
Public SelRow As DataRowView
|
||||
Dim first As Boolean = False
|
||||
' Dim DA As OracleClient.OracleDataAdapter
|
||||
' Dim vCMD As OracleClient.OracleCommand
|
||||
Dim Dt As New DataTable
|
||||
Dim VSql As String
|
||||
Dim work As Boolean
|
||||
Dim A As New System.Text.StringBuilder
|
||||
|
||||
#Region "New Function"
|
||||
Public Sub New()
|
||||
InitializeComponent()
|
||||
End Sub
|
||||
Public Sub New(ByVal Dt As DataTable)
|
||||
' 이 호출은 Windows Form 디자이너에 필요합니다.
|
||||
InitializeComponent()
|
||||
Me.BindingSource1.DataSource = Dt
|
||||
Me.fpspread1.DataSource = Me.BindingSource1
|
||||
'Me.OK_Button.PerformClick()
|
||||
' InitializeComponent() 호출 뒤에 초기화 코드를 추가하십시오.
|
||||
End Sub
|
||||
'Public Sub New(ByVal Connection As OracleClient.OracleConnection, ByVal Sql As String)
|
||||
' ' 이 호출은 Windows Form 디자이너에 필요합니다.
|
||||
' InitializeComponent()
|
||||
' DA = New OracleClient.OracleDataAdapter(Sql, Connection)
|
||||
' Dt = New DataTable
|
||||
|
||||
' DA.Fill(Dt)
|
||||
' DA = Nothing
|
||||
|
||||
' Me.BindingSource1.DataSource = Dt
|
||||
' Me.fpspread1.DataSource = Me.BindingSource1
|
||||
|
||||
' 'Me.OK_Button.PerformClick()
|
||||
' ' InitializeComponent() 호출 뒤에 초기화 코드를 추가하십시오.
|
||||
'End Sub
|
||||
'Public Sub New(ByVal cmd As OracleClient.OracleCommand)
|
||||
' ' 이 호출은 Windows Form 디자이너에 필요합니다.
|
||||
' InitializeComponent()
|
||||
|
||||
|
||||
' vCMD = cmd
|
||||
' DA = New OracleClient.OracleDataAdapter(vCMD)
|
||||
' Dt = New DataTable
|
||||
|
||||
' DA.Fill(Dt)
|
||||
' DA = Nothing
|
||||
|
||||
' Me.BindingSource1.DataSource = Dt
|
||||
' Me.fpspread1.DataSource = Me.BindingSource1
|
||||
|
||||
' 'Me.OK_Button.PerformClick()
|
||||
' ' InitializeComponent() 호출 뒤에 초기화 코드를 추가하십시오.
|
||||
'End Sub
|
||||
#End Region
|
||||
|
||||
#Region "OK/CANCEL 버튼"
|
||||
Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_ok.Click
|
||||
SelRow = Me.BindingSource1.Current
|
||||
Me.DialogResult = System.Windows.Forms.DialogResult.OK
|
||||
Me.Close()
|
||||
End Sub
|
||||
|
||||
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_cancel.Click
|
||||
Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
|
||||
Me.Close()
|
||||
End Sub
|
||||
#End Region
|
||||
Public Sub NOTICE(ByVal MSG As String, ByVal Src As Object)
|
||||
On Error Resume Next
|
||||
If Src.GetType.Name.ToUpper = "TOOLSTRIPSTATUSLABEL" Then
|
||||
CType(Src, ToolStripStatusLabel).Text = "▶ " & MSG & Space(1)
|
||||
ElseIf Src.GetType.Name.ToUpper = "LABEL" Then
|
||||
CType(Src, Label).Text = "▶ " & MSG & Space(1) & "(" & Now.ToString & ")"
|
||||
End If
|
||||
My.Computer.Audio.PlaySystemSound(Media.SystemSounds.Hand)
|
||||
End Sub
|
||||
Public Sub NOTICE(ByVal MSG As String, ByVal FCOLOR As Color, ByVal Src As System.Windows.Forms.ToolStripStatusLabel)
|
||||
Src.Text = "▶ " & MSG & Space(1) & "(" & Now.ToString & ")"
|
||||
Src.ForeColor = FCOLOR
|
||||
My.Computer.Audio.PlaySystemSound(Media.SystemSounds.Hand)
|
||||
End Sub
|
||||
Public Sub NOTICE(ByVal MSG As String, ByVal FCOLOR As Color, ByVal Src As System.Windows.Forms.ToolStripLabel)
|
||||
Src.Text = "▶ " & MSG & Space(1) & "(" & Now.ToString & ")"
|
||||
Src.ForeColor = FCOLOR
|
||||
My.Computer.Audio.PlaySystemSound(Media.SystemSounds.Hand)
|
||||
End Sub
|
||||
Public Sub NoticeDel(ByVal Src As System.Windows.Forms.ToolStripStatusLabel)
|
||||
Src.Text = "▶"
|
||||
End Sub
|
||||
Private Sub fpspread1_CellDoubleClick(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.CellClickEventArgs) Handles fpspread1.CellDoubleClick
|
||||
Me.bt_ok.PerformClick()
|
||||
End Sub
|
||||
|
||||
'Private Sub fpspread1_EnterCell(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.EnterCellEventArgs) Handles fpspread1.EnterCell
|
||||
' NOTICE(Me.fpspread1_Sheet1.ActiveRowIndex & "/" & Me.fpspread1_Sheet1.ActiveColumnIndex & " : 엔터(ENTER)키는 현재항목을 선택 , ESC 키를 누르면 검색창으로 이동합니다.", Color.Blue, Me.lb_msg)
|
||||
'End Sub
|
||||
|
||||
Private Sub fpspread1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles fpspread1.GotFocus
|
||||
If Me.fpspread1_Sheet1.Rows.Count = 0 Then
|
||||
NOTICE("선택 가능한 목록이 없습니다", Color.Red, Me.lb_msg)
|
||||
Me.tb_searchText.Focus()
|
||||
Else
|
||||
NOTICE("엔터(ENTER)키는 현재항목을 선택 , ESC 키를 누르면 검색창으로 이동합니다.", Color.Blue, Me.lb_msg)
|
||||
'MsgBox("sdf")
|
||||
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub Lov_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
|
||||
|
||||
Select Case Me.fpspread1.ActiveSheet.RowCount
|
||||
Case 0
|
||||
Me.bt_cancel.PerformClick()
|
||||
Case 1
|
||||
Me.bt_ok.PerformClick()
|
||||
Case Else
|
||||
Me.tb_searchText.Focus()
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 사용하지않음
|
||||
''' </summary>
|
||||
''' <remarks></remarks>
|
||||
Private Sub FindStr()
|
||||
work = True
|
||||
Dim Frow, Fcol As Integer
|
||||
Dim Colname As String = Me.fpspread1.ActiveSheet.Columns(Me.fpspread1.ActiveSheet.ActiveColumnIndex).Label
|
||||
Dim SearchStr As String = InputBox("[" & Colname & "] 열에서 검색할 문자를 입력하세요.", "검색문자를 입력하세요")
|
||||
Me.fpspread1.Search(Me.fpspread1.ActiveSheetIndex, SearchStr, False, False, False, True, 0, Me.fpspread1.ActiveSheet.ActiveColumnIndex, Me.fpspread1.ActiveSheet.RowCount, Me.fpspread1.ActiveSheet.ActiveColumnIndex, Frow, Fcol)
|
||||
If Frow >= 0 AndAlso Fcol >= 0 Then '//검색됫다면
|
||||
Me.first = True
|
||||
Me.fpspread1.ActiveSheet.SetActiveCell(Frow, Fcol)
|
||||
SendKeys.Send("{RIGHT}")
|
||||
SendKeys.Send("{LEFT}")
|
||||
Me.lb_msg.Text = "줄번호 = " & Me.fpspread1.ActiveSheet.ActiveRowIndex + 1
|
||||
My.Computer.Audio.PlaySystemSound(Media.SystemSounds.Exclamation)
|
||||
Else
|
||||
Me.lb_msg.Text = SearchStr & "로 검색된 값이 없습니다"
|
||||
My.Computer.Audio.PlaySystemSound(Media.SystemSounds.Hand)
|
||||
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub Lov_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
|
||||
Me.fpspread1.EnterToNextItem()
|
||||
End Sub
|
||||
|
||||
''' <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 fpspread1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles fpspread1.KeyUp
|
||||
Select Case e.KeyCode
|
||||
Case Keys.Escape
|
||||
Me.tb_searchtext.Focus()
|
||||
Case Keys.Enter
|
||||
Me.bt_ok.PerformClick()
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Private Sub TextBox1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_searchtext.GotFocus
|
||||
NOTICE("방향키(↓)를 누르면 하단목록으로 이동합니다", Color.Blue, Me.lb_msg)
|
||||
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
|
||||
Me.fpspread1.Focus()
|
||||
If Me.fpspread1_Sheet1.Rows.Count = 1 Then Me.bt_ok.PerformClick() '//한것박에없을경우는 바로 그것이므로 바로 커밋한다.
|
||||
Case Keys.Escape
|
||||
Me.bt_cancel.PerformClick()
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
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 Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
|
||||
Me.tb_searchtext.Focus()
|
||||
End Sub
|
||||
End Class
|
||||
29
Sub/MyControl(OleDb)v2/Spread.Net.v5/Form1.Designer.vb
generated
Normal 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
Sub/MyControl(OleDb)v2/Spread.Net.v5/Form1.vb
Normal file
@@ -0,0 +1,3 @@
|
||||
Public Class Form1
|
||||
|
||||
End Class
|
||||
137
Sub/MyControl(OleDb)v2/Spread.Net.v5/ImpCtl.designer.vb
generated
Normal file
@@ -0,0 +1,137 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class ImpCtl
|
||||
Inherits System.Windows.Forms.UserControl
|
||||
|
||||
'UserControl은 Dispose를 재정의하여 구성 요소 목록을 정리합니다.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
MyBase.Dispose(disposing)
|
||||
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.TextBox2 = New System.Windows.Forms.TextBox
|
||||
Me.Label1 = New System.Windows.Forms.Label
|
||||
Me.TextBox1 = New System.Windows.Forms.TextBox
|
||||
Me.CheckBox1 = New System.Windows.Forms.CheckBox
|
||||
Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components)
|
||||
Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel
|
||||
Me.ComboBox1 = New System.Windows.Forms.ComboBox
|
||||
Me.TableLayoutPanel1.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'TextBox2
|
||||
'
|
||||
Me.TextBox2.BackColor = System.Drawing.Color.LightSlateGray
|
||||
Me.TextBox2.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.TextBox2.Location = New System.Drawing.Point(1, 126)
|
||||
Me.TextBox2.Margin = New System.Windows.Forms.Padding(0)
|
||||
Me.TextBox2.Name = "TextBox2"
|
||||
Me.TextBox2.Size = New System.Drawing.Size(89, 21)
|
||||
Me.TextBox2.TabIndex = 6
|
||||
Me.TextBox2.TabStop = False
|
||||
Me.TextBox2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
|
||||
'
|
||||
'Label1
|
||||
'
|
||||
Me.Label1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
|
||||
Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.Label1.BackColor = System.Drawing.Color.White
|
||||
Me.Label1.Font = New System.Drawing.Font("굴림", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
|
||||
Me.Label1.Location = New System.Drawing.Point(1, 1)
|
||||
Me.Label1.Margin = New System.Windows.Forms.Padding(0)
|
||||
Me.Label1.Name = "Label1"
|
||||
Me.Label1.Size = New System.Drawing.Size(89, 82)
|
||||
Me.Label1.TabIndex = 5
|
||||
Me.Label1.Text = "개체번호"
|
||||
Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
|
||||
'
|
||||
'TextBox1
|
||||
'
|
||||
Me.TextBox1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.TextBox1.Location = New System.Drawing.Point(1, 105)
|
||||
Me.TextBox1.Margin = New System.Windows.Forms.Padding(0)
|
||||
Me.TextBox1.Name = "TextBox1"
|
||||
Me.TextBox1.Size = New System.Drawing.Size(89, 21)
|
||||
Me.TextBox1.TabIndex = 4
|
||||
Me.TextBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
|
||||
'
|
||||
'CheckBox1
|
||||
'
|
||||
Me.CheckBox1.AutoSize = True
|
||||
Me.CheckBox1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.CheckBox1.Location = New System.Drawing.Point(1, 147)
|
||||
Me.CheckBox1.Margin = New System.Windows.Forms.Padding(0)
|
||||
Me.CheckBox1.Name = "CheckBox1"
|
||||
Me.CheckBox1.Size = New System.Drawing.Size(89, 20)
|
||||
Me.CheckBox1.TabIndex = 7
|
||||
Me.CheckBox1.TabStop = False
|
||||
Me.CheckBox1.Text = "빈값"
|
||||
Me.ToolTip1.SetToolTip(Me.CheckBox1, "선택이 됫을경우 선택된 모든개체의 값이 비어있을경우 데이터가져오기 대상에 제외합니다")
|
||||
Me.CheckBox1.UseVisualStyleBackColor = True
|
||||
'
|
||||
'TableLayoutPanel1
|
||||
'
|
||||
Me.TableLayoutPanel1.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.[Single]
|
||||
Me.TableLayoutPanel1.ColumnCount = 1
|
||||
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.CheckBox1, 0, 4)
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.Label1, 0, 0)
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.TextBox2, 0, 3)
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.TextBox1, 0, 2)
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.ComboBox1, 0, 1)
|
||||
Me.TableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.TableLayoutPanel1.Location = New System.Drawing.Point(0, 0)
|
||||
Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
|
||||
Me.TableLayoutPanel1.RowCount = 5
|
||||
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, 20.0!))
|
||||
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
|
||||
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
|
||||
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
|
||||
Me.TableLayoutPanel1.Size = New System.Drawing.Size(91, 168)
|
||||
Me.TableLayoutPanel1.TabIndex = 8
|
||||
'
|
||||
'ComboBox1
|
||||
'
|
||||
Me.ComboBox1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.ComboBox1.FormattingEnabled = True
|
||||
Me.ComboBox1.Items.AddRange(New Object() {"문자", "숫자", "날짜"})
|
||||
Me.ComboBox1.Location = New System.Drawing.Point(1, 84)
|
||||
Me.ComboBox1.Margin = New System.Windows.Forms.Padding(0)
|
||||
Me.ComboBox1.Name = "ComboBox1"
|
||||
Me.ComboBox1.Size = New System.Drawing.Size(89, 20)
|
||||
Me.ComboBox1.TabIndex = 8
|
||||
'
|
||||
'ImpCtl
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 12.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.Controls.Add(Me.TableLayoutPanel1)
|
||||
Me.Name = "ImpCtl"
|
||||
Me.Size = New System.Drawing.Size(91, 168)
|
||||
Me.TableLayoutPanel1.ResumeLayout(False)
|
||||
Me.TableLayoutPanel1.PerformLayout()
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
Friend WithEvents TextBox2 As System.Windows.Forms.TextBox
|
||||
Friend WithEvents Label1 As System.Windows.Forms.Label
|
||||
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
|
||||
Friend WithEvents CheckBox1 As System.Windows.Forms.CheckBox
|
||||
Friend WithEvents ToolTip1 As System.Windows.Forms.ToolTip
|
||||
Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel
|
||||
Friend WithEvents ComboBox1 As System.Windows.Forms.ComboBox
|
||||
|
||||
End Class
|
||||
123
Sub/MyControl(OleDb)v2/Spread.Net.v5/ImpCtl.resx
Normal file
@@ -0,0 +1,123 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
173
Sub/MyControl(OleDb)v2/Spread.Net.v5/ImpCtl.vb
Normal file
@@ -0,0 +1,173 @@
|
||||
Imports System.Drawing
|
||||
Public Class ImpCtl
|
||||
Enum e_Valuetype
|
||||
문자 = 0
|
||||
숫자 = 1
|
||||
날짜 = 2
|
||||
End Enum
|
||||
|
||||
Dim v필드명 As String
|
||||
Public Event TimeExpired(ByVal sender As Object, ByVal Status As String)
|
||||
|
||||
''' <summary>
|
||||
''' 사용여부
|
||||
''' </summary>
|
||||
''' <value></value>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Overloads Property eNABLED() As Boolean
|
||||
Get
|
||||
Return Me.TextBox1.Enabled
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
Me.TextBox1.Enabled = value
|
||||
Me.Label1.Enabled = value
|
||||
Me.TextBox2.Enabled = value
|
||||
Me.CheckBox1.Enabled = value
|
||||
If value = False Then Me.Label1.Text = ".."
|
||||
End Set
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' 연결할 필드명입니다.
|
||||
''' </summary>
|
||||
''' <value></value>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Public Property 필드명() As String
|
||||
Get
|
||||
Return v필드명
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
v필드명 = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property Vtype() As Boolean
|
||||
Get
|
||||
Return Me.ComboBox1.Enabled
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
Me.ComboBox1.Enabled = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property Valuetype() As e_Valuetype
|
||||
Get
|
||||
Return Me.ComboBox1.SelectedIndex
|
||||
End Get
|
||||
Set(ByVal value As e_Valuetype)
|
||||
Me.ComboBox1.SelectedIndex = 0
|
||||
End Set
|
||||
End Property
|
||||
Public Property 제목() As String
|
||||
Get
|
||||
Return Me.Label1.Text
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Me.Label1.Text = value.Replace("/", vbCrLf)
|
||||
End Set
|
||||
End Property
|
||||
Public Property 문자열자르기() As String
|
||||
Get
|
||||
Return Me.TextBox2.Text
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Me.TextBox2.Text = value
|
||||
End Set
|
||||
End Property
|
||||
Public Property 열번호() As String
|
||||
Get
|
||||
Return Me.TextBox1.Text
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Me.TextBox1.Text = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property 빈값체크() As Boolean
|
||||
Get
|
||||
Return Me.CheckBox1.Checked
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
Me.CheckBox1.Checked = value
|
||||
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
Public Sub New()
|
||||
|
||||
' 이 호출은 Windows Form 디자이너에 필요합니다.
|
||||
InitializeComponent()
|
||||
|
||||
' AddHandler TextBox1.TextChanged, ADDRESS OF
|
||||
'AddHandler TextBox1.TextChanged, AddressOf ControlChanged
|
||||
' AddHandler Me.DoubleClick, Me.TextBox1.DoubleClick
|
||||
'AddHandler Me.TimeExpired, AddressOf timeExp
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
Private Sub timeExp(ByVal sender As Object, ByVal stri As String)
|
||||
'MsgBox(stri)
|
||||
|
||||
End Sub
|
||||
Private Sub ControlChanged(ByVal sender As Object, ByVal e As System.EventArgs)
|
||||
Dim A As TextBox = CType(sender, TextBox)
|
||||
If A.Text.Length <= 0 Then Exit Sub
|
||||
|
||||
Select Case A.Text.Substring(0, 1)
|
||||
Case ":"
|
||||
If IsNumeric(A.Text.Substring(1)) Then
|
||||
A.BackColor = Color.LawnGreen
|
||||
Else
|
||||
A.BackColor = Color.Tomato
|
||||
End If
|
||||
Case "?"
|
||||
A.BackColor = Color.Gray
|
||||
Case "#"
|
||||
A.BackColor = Color.SteelBlue
|
||||
Case Else
|
||||
A.BackColor = Color.White
|
||||
End Select
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub UserControl1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.DoubleClick
|
||||
RaiseEvent TimeExpired(Me, "sdf")
|
||||
End Sub
|
||||
|
||||
Private Sub TextBox1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.DoubleClick
|
||||
|
||||
RaiseEvent TimeExpired(Me, "sdf")
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub TextBox1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Enter
|
||||
Me.TextBox1.SelectAll()
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub TextBox2_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox2.Enter
|
||||
Me.TextBox2.SelectAll()
|
||||
End Sub
|
||||
|
||||
Private Sub TextBox2_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox2.GotFocus
|
||||
Me.TextBox2.SelectAll()
|
||||
' SendKeys.Send("{TAB}")
|
||||
End Sub
|
||||
|
||||
Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub TextBox1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.GotFocus
|
||||
Me.TextBox1.SelectAll()
|
||||
End Sub
|
||||
|
||||
Private Sub CheckBox1_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
|
||||
Me.CheckBox1.ForeColor = IIf(Me.CheckBox1.Checked, Color.Red, Color.Black)
|
||||
Me.Label1.ForeColor = IIf(Me.CheckBox1.Checked, Color.Red, Color.Black)
|
||||
End Sub
|
||||
End Class
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<MySubMain>false</MySubMain>
|
||||
<SingleInstance>false</SingleInstance>
|
||||
<ShutdownMode>0</ShutdownMode>
|
||||
<EnableVisualStyles>true</EnableVisualStyles>
|
||||
<AuthenticationMode>0</AuthenticationMode>
|
||||
<ApplicationType>1</ApplicationType>
|
||||
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
|
||||
</MyApplicationData>
|
||||
130
Sub/MyControl(OleDb)v2/Spread.Net.v5/My Project/Resources.resx
Normal file
@@ -0,0 +1,130 @@
|
||||
<?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>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="new_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\new_32.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="close_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\close_32.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="srch_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\srch_32.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
||||
@@ -0,0 +1 @@
|
||||
FarPoint.Win.Spread.FpSpread, FarPoint.Win.Spread, Version=5.0.3505.2008, Culture=neutral, PublicKeyToken=327c3516b1b18457
|
||||
26
Sub/MyControl(OleDb)v2/Spread.Net.v5/MyCheckBox.Designer.vb
generated
Normal file
@@ -0,0 +1,26 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class MyCheckBox
|
||||
Inherits System.Windows.Forms.CheckBox
|
||||
'UserControl은 Dispose를 재정의하여 구성 요소 목록을 정리합니다.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
MyBase.Dispose(disposing)
|
||||
End Sub
|
||||
|
||||
'Windows Form 디자이너에 필요합니다.
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다.
|
||||
'수정하려면 Windows Form 디자이너를 사용하십시오.
|
||||
'코드 편집기를 사용하여 수정하지 마십시오.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.SuspendLayout()
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
123
Sub/MyControl(OleDb)v2/Spread.Net.v5/MyCheckBox.resx
Normal 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>
|
||||
26
Sub/MyControl(OleDb)v2/Spread.Net.v5/MyCombo.Designer.vb
generated
Normal file
@@ -0,0 +1,26 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class MyCombo
|
||||
Inherits System.Windows.Forms.ComboBox
|
||||
|
||||
'UserControl은 Dispose를 재정의하여 구성 요소 목록을 정리합니다.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
MyBase.Dispose(disposing)
|
||||
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
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
205
Sub/MyControl(OleDb)v2/Spread.Net.v5/MyCombo.vb
Normal file
@@ -0,0 +1,205 @@
|
||||
Imports System.Text
|
||||
Imports System.Data
|
||||
Imports System
|
||||
|
||||
Public Class MyCombo
|
||||
Dim ColName As String
|
||||
Dim Coltype As OleDbType = OleDbType.VarChar
|
||||
Dim Ditem As Boolean
|
||||
Dim SQl As String
|
||||
Dim QueryType As Boolean = False
|
||||
Dim Prompt As String
|
||||
Dim WhereState As String = vbNullString
|
||||
Dim POS As Int16
|
||||
Dim StaticList As String = vbNullString '//쿼리아이템이아닌 수동아이템용 목록을 저장한다.
|
||||
Dim QueryList As String = vbNullString '//쿼리아이템시 수동으로 입력할 목록을 저장한다.
|
||||
Dim NotNull As Boolean = False
|
||||
|
||||
<System.ComponentModel.Description("반드시입력되어야 할 값입니까?")> _
|
||||
Public Property DB_NotNull() As Boolean
|
||||
Get
|
||||
Return NotNull
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
NotNull = value
|
||||
End Set
|
||||
End Property
|
||||
<System.ComponentModel.Description("데이터베이의 위치표시")> _
|
||||
Public Property DB_POs() As Int16
|
||||
Get
|
||||
Return POS
|
||||
End Get
|
||||
Set(ByVal value As Int16)
|
||||
POS = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("[STR] 검색조건절의 형태를 씁니다.(EX, >= , > , = , <= , < , LIKE )")> _
|
||||
Public Property DB_WhereType() As String
|
||||
Get
|
||||
Return WhereState
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
WhereState = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("목록을 작성할 쿼리문입니다" & vbCrLf & "Ex: select name,val from table")> _
|
||||
Public Property DB_Query() As String
|
||||
Get
|
||||
Return SQl
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
SQl = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("아이템목록이 쿼리로 되어있는지" & vbCrLf & "수동문자열인지 선택합니다")> _
|
||||
Public Property DB_QueryType() As Boolean
|
||||
Get
|
||||
Return QueryType
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
QueryType = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("아이템을 쿼리로 작성시 추가로 입력할값을 표시" & vbCrLf & "ex:DSP,VAL,POS:텍스트,값,위치")> _
|
||||
Public Property DB_QueryItem() As String
|
||||
Get
|
||||
Return QueryList
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
QueryList = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("아이템을 수동작성시 입력할값" & vbCrLf & "ex:DSP,VAL:텍스트,값")> _
|
||||
Public Property DB_StaticItem() As String
|
||||
Get
|
||||
Return StaticList
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
StaticList = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("현재 별 의미는 없다..컬럼이 의미하는 글자")> _
|
||||
Public Property DB_Prompt() As String
|
||||
Get
|
||||
Return IIf(Prompt Is vbNullString, DB_ColName, Prompt)
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Prompt = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("데이터베이스 컬럼의 이름을 적는다!. 반드시 필수")> _
|
||||
Public Property DB_ColName() As String
|
||||
Get
|
||||
If ColName = "" Then
|
||||
Return Me.Name
|
||||
Else
|
||||
Return ColName
|
||||
End If
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
ColName = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("데이터베이스 컬럼의 형식을 고른다")> _
|
||||
Public Property DB_Type() As OleDbType
|
||||
Get
|
||||
Return Coltype
|
||||
End Get
|
||||
Set(ByVal value As OleDbType)
|
||||
Coltype = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("현재 컨트롤이 데이터베이스 필드인지 선택합니다.")> _
|
||||
Public Property DB_ITEM() As Boolean
|
||||
Get
|
||||
Return Ditem
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
Ditem = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("현재값")> _
|
||||
Public Property Value() As String
|
||||
Get
|
||||
If Me.SelectedValue = "" Then
|
||||
Return Me.Text
|
||||
Else
|
||||
Return Me.SelectedValue
|
||||
End If
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Me.SelectedValue = value
|
||||
If Me.SelectedValue Is vbNullString Then Me.Text = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 지정된 목록으로 업데이트
|
||||
''' </summary>
|
||||
''' <remarks></remarks>
|
||||
Public Sub UpdateItem()
|
||||
Dim NTab As New DataTable
|
||||
Dim UserRow As DataRow
|
||||
|
||||
If QueryType = True Then '//쿼리를 사용해서 아이템을 쓸때
|
||||
'DB.DB_SQL = (SQl)
|
||||
' DB.Get_Data(NTab)
|
||||
'NTab = DB.Get_TABLE
|
||||
|
||||
If Not QueryList Is Nothing Then
|
||||
If QueryList.Trim.Length > 0 Then
|
||||
For Each R As String In QueryList.Split(":")
|
||||
UserRow = NTab.NewRow
|
||||
UserRow(0) = R.Split(",")(0)
|
||||
UserRow(1) = R.Split(",")(1)
|
||||
NTab.Rows.InsertAt(UserRow, R.Split(",")(2))
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
|
||||
'If QueryList <> Nothing OrElse QueryList.Trim.Length > 0 Then '//추가쿼리목록이 있을경우에 추가해준다.
|
||||
'For Each R As String In QueryList.Split(",")
|
||||
'NTab.Rows.Add(R.Split(","))
|
||||
'Next
|
||||
'End If
|
||||
|
||||
Me.DataSource = NTab
|
||||
Me.DisplayMember = Me.DisplayMember
|
||||
Me.ValueMember = Me.ValueMember
|
||||
Else '//쿼리가아닌 staticitem 을 데이터테이블로 만들어서 한다.
|
||||
If StaticList = "" Then Exit Sub
|
||||
|
||||
Dim A As New DataTable("NEWTAB")
|
||||
Dim CDIV() As String = StaticList.Split(":")
|
||||
A.Columns.Add("DSP")
|
||||
A.Columns.Add("VAL")
|
||||
'SataicList 를 :로 분할한뒤 , 데이터를 나눈다.
|
||||
|
||||
For Each R As String In CDIV
|
||||
A.Rows.Add(R.Split(","))
|
||||
Next
|
||||
|
||||
Me.DataSource = A
|
||||
Me.DisplayMember = "DSP"
|
||||
Me.ValueMember = "VAL"
|
||||
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Private Sub ComboBOx_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp
|
||||
If e.KeyCode = Keys.Enter Then SendKeys.Send("{TAB}")
|
||||
End Sub
|
||||
End Class
|
||||
@@ -57,13 +57,13 @@
|
||||
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355</NoWarn>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="FarPoint.CalcEngine, Version=5.0.2005.2008, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="FarPoint.Excel, Version=5.0.2005.2008, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="FarPoint.PDF, Version=5.0.2005.2008, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="FarPoint.PluginCalendar.WinForms, Version=5.0.2005.2008, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="FarPoint.Win, Version=5.0.2005.2008, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="FarPoint.Win.Chart, Version=5.0.2005.2008, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="FarPoint.Win.Spread, Version=5.0.2005.2008, Culture=neutral, PublicKeyToken=327c3516b1b18457, processorArchitecture=MSIL" />
|
||||
<Reference Include="FarPoint.CalcEngine, Version=5.0.3505.2008, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="FarPoint.Excel, Version=5.0.3505.2008, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="FarPoint.PDF, Version=5.0.3505.2008, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="FarPoint.PluginCalendar.WinForms, Version=5.0.3505.2008, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="FarPoint.Win, Version=5.0.3505.2008, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="FarPoint.Win.Chart, Version=5.0.3505.2008, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="FarPoint.Win.Spread, Version=5.0.3505.2008, Culture=neutral, PublicKeyToken=327c3516b1b18457, processorArchitecture=MSIL" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Drawing" />
|
||||
27
Sub/MyControl(OleDb)v2/Spread.Net.v5/MyFpoint.Designer.vb
generated
Normal file
@@ -0,0 +1,27 @@
|
||||
Imports FarPoint.Win.Spread
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class MyFpoint
|
||||
Inherits FarPoint.Win.Spread.FpSpread
|
||||
|
||||
'UserControl은 Dispose를 재정의하여 구성 요소 목록을 정리합니다.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
MyBase.Dispose(disposing)
|
||||
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
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
287
Sub/MyControl(OleDb)v2/Spread.Net.v5/MyINI.vb
Normal file
@@ -0,0 +1,287 @@
|
||||
Imports System.IO
|
||||
|
||||
Public Class MyINI2
|
||||
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
|
||||
26
Sub/MyControl(OleDb)v2/Spread.Net.v5/MyLabel.Designer.vb
generated
Normal file
@@ -0,0 +1,26 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class MyLabel
|
||||
Inherits System.Windows.Forms.PictureBox
|
||||
|
||||
'UserControl은 Dispose를 재정의하여 구성 요소 목록을 정리합니다.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
MyBase.Dispose(disposing)
|
||||
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
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
226
Sub/MyControl(OleDb)v2/Spread.Net.v5/MyLabel.vb
Normal file
@@ -0,0 +1,226 @@
|
||||
|
||||
Public Class MyLabel
|
||||
Public TextValue As String = "[tindevil@Nate.com]"
|
||||
Public TextFont As New Font("HY견고딕", 30)
|
||||
|
||||
Dim v장평 As Int16 = 100
|
||||
Dim v장높이 As Int16 = 100
|
||||
|
||||
Dim v설명 As String = vbNullString
|
||||
Dim v전경색 As Color = Color.Black
|
||||
Dim v회전 As Int16 = 0
|
||||
|
||||
Private v_공백 As Int16 = 0 '//공백
|
||||
Private V_CB As CheckBox
|
||||
|
||||
Public Repeat As Short = 0 '//반복출력횟수
|
||||
Public RepeatX As Single '//반복출력시 x변위
|
||||
Public RepeatY As Single '//반복출력시 y변위
|
||||
|
||||
Public Pattern As String
|
||||
Public DIV As String
|
||||
|
||||
|
||||
Public Sub New()
|
||||
|
||||
' 이 호출은 Windows Form 디자이너에 필요합니다.
|
||||
InitializeComponent()
|
||||
'Me.BackColor = Color.Transparent
|
||||
' InitializeComponent() 호출 뒤에 초기화 코드를 추가하십시오.
|
||||
|
||||
End Sub
|
||||
|
||||
<System.ComponentModel.Description("글자사이의 공백 수")> _
|
||||
Public Property CheckBox() As CheckBox
|
||||
Get
|
||||
Return V_CB
|
||||
End Get
|
||||
Set(ByVal value As CheckBox)
|
||||
V_CB = value
|
||||
Me.Invalidate()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("글자사이의 공백 수")> _
|
||||
Public Property 공백() As Int16
|
||||
Get
|
||||
Return v_공백
|
||||
End Get
|
||||
Set(ByVal value As Int16)
|
||||
v_공백 = value
|
||||
Me.Invalidate()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Function 최종문자() As String
|
||||
If v_공백 = 0 Then Return TextValue.Trim
|
||||
Dim z As New System.Text.StringBuilder
|
||||
For Each A As Char In TextValue.ToCharArray
|
||||
z.Append(A.ToString & Space(v_공백))
|
||||
Next
|
||||
Return (z.ToString.Trim())
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 컨트롤의 장평을 설정합니다 기본값=100
|
||||
''' </summary>
|
||||
''' <value></value>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
<DefaultValue(100), Description("컨트롤의 장평을 설정합니다. 기본=100%")> _
|
||||
Public Property 장평() As Int16
|
||||
Get
|
||||
Return v장평
|
||||
End Get
|
||||
Set(ByVal value As Int16)
|
||||
v장평 = value
|
||||
Me.Invalidate()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<DefaultValue(100), Description("컨트롤의 글자너비를 설정합니다. 기본=100%")> _
|
||||
Public Property 회전() As Int16
|
||||
Get
|
||||
Return v회전
|
||||
End Get
|
||||
Set(ByVal value As Int16)
|
||||
v회전 = value
|
||||
Me.Invalidate()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
<DefaultValue(100), Description("컨트롤의 글자너비를 설정합니다. 기본=100%")> _
|
||||
Public Property 장높이() As Int16
|
||||
Get
|
||||
Return v장높이
|
||||
End Get
|
||||
Set(ByVal value As Int16)
|
||||
v장높이 = value
|
||||
Me.Invalidate()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
Public Function GetSize(Optional ByVal NewFont As Font = Nothing) As SizeF
|
||||
If NewFont Is Nothing Then NewFont = TextFont
|
||||
Return TextRenderer.MeasureText(최종문자, NewFont)
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 컨트롤의 설명을 집어넣습니다.
|
||||
''' </summary>
|
||||
''' <value></value>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
<System.ComponentModel.Description("컨트롤의 설명입니다")> _
|
||||
Property 설명() As String
|
||||
Get
|
||||
If v설명 = vbNullString Then Return Me.Name.ToString
|
||||
Return v설명
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
v설명 = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property MyForeColor() As Color
|
||||
Get
|
||||
Return v전경색
|
||||
End Get
|
||||
Set(ByVal value As Color)
|
||||
v전경색 = value
|
||||
Me.Invalidate()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("표시할 문자를 설정합니다.길이는 1입니다")> _
|
||||
Public Property MyText() As String
|
||||
Get
|
||||
Return TextValue
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
TextValue = value
|
||||
Me.Invalidate()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("텍스트의 폰트타입을 설정합니다")> _
|
||||
Public Property MyFont() As Font
|
||||
Get
|
||||
Return TextFont
|
||||
End Get
|
||||
Set(ByVal value As Font)
|
||||
TextFont = value
|
||||
Me.Invalidate()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
Public Function GetImage() As Bitmap
|
||||
Dim Br As New SolidBrush(v전경색)
|
||||
Me.Height = GetSize.Height * (v장높이 / 100)
|
||||
Me.Width = GetSize.Width * (v장평 / 100)
|
||||
Dim Bmp As New Bitmap(Me.Width, Me.Height, Me.CreateGraphics)
|
||||
Dim G As Graphics = Graphics.FromImage(Bmp)
|
||||
|
||||
G.ScaleTransform((v장평 / 100), (v장높이 / 100))
|
||||
G.DrawString(TextValue, TextFont, Br, 0, 0)
|
||||
G.Dispose()
|
||||
Return Bmp
|
||||
End Function
|
||||
|
||||
|
||||
Protected Overrides Sub OnPaint(ByVal pe As System.Windows.Forms.PaintEventArgs)
|
||||
Dim Br As New SolidBrush(v전경색)
|
||||
Dim LastText As String = ""
|
||||
Dim Idx As Integer = 0
|
||||
|
||||
|
||||
Dim Z As New System.Drawing.StringFormat()
|
||||
Z.FormatFlags = StringFormatFlags.MeasureTrailingSpaces
|
||||
|
||||
If v장평 = 100 AndAlso v장높이 = 100 Then '//장평미적용 문자로 처리
|
||||
Me.Width = GetSize.Width
|
||||
Me.Height = GetSize.Height
|
||||
LastText = 최종문자()
|
||||
|
||||
' Dim A As New Font("굴림", 20, FontStyle.Regular, GraphicsUnit.Display, &H1, True)
|
||||
pe.Graphics.DrawString(LastText, TextFont, Br, 0, 0, Z)
|
||||
'pe.Graphics.DrawString(LastText, A, Br, 0, 0)
|
||||
Else
|
||||
Me.Height = GetSize.Height * (v장높이 / 100)
|
||||
Me.Width = GetSize.Width * (v장평 / 100)
|
||||
Dim Bmp As New Bitmap(Me.Width, Me.Height, pe.Graphics)
|
||||
Dim G As Graphics = Graphics.FromImage(Bmp)
|
||||
|
||||
If v회전 <> 0 Then
|
||||
'G.ResetTransform()
|
||||
'G.TranslateTransform(-Me.Width, -Me.Height, Drawing2D.MatrixOrder.Append)
|
||||
'G.RotateTransform(v회전, Drawing2D.MatrixOrder.Append)
|
||||
'G.TranslateTransform(Me.Width, Me.Height, Drawing2D.MatrixOrder.Append)
|
||||
|
||||
G.TranslateTransform(-Me.Width, -Me.Height, Drawing2D.MatrixOrder.Append)
|
||||
G.RotateTransform(v회전, Drawing2D.MatrixOrder.Append)
|
||||
G.TranslateTransform(Me.Width, Me.Height, Drawing2D.MatrixOrder.Append)
|
||||
End If
|
||||
'G.TranslateTransform(Me.Width / 2, Me.Height / 2, Drawing2D.MatrixOrder.Append)
|
||||
G.ScaleTransform((v장평 / 100), (v장높이 / 100))
|
||||
G.DrawString(TextValue, TextFont, Br, 0, 0)
|
||||
G.Dispose()
|
||||
pe.Graphics.DrawImage(Bmp, 0, 0) ', CInt(GetSize.Width * (v장평 / 100)), GetSize.Height)
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub RotateAt(ByVal gr As Graphics, ByVal cx As Integer, ByVal cy As Integer, ByVal angle As Single)
|
||||
gr.ResetTransform()
|
||||
gr.TranslateTransform(-cx, -cy, Drawing2D.MatrixOrder.Append)
|
||||
gr.RotateTransform(angle, Drawing2D.MatrixOrder.Append)
|
||||
gr.TranslateTransform(cx, cy, Drawing2D.MatrixOrder.Append)
|
||||
End Sub
|
||||
|
||||
|
||||
End Class
|
||||
26
Sub/MyControl(OleDb)v2/Spread.Net.v5/MyListView.Designer.vb
generated
Normal file
@@ -0,0 +1,26 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class MyListView
|
||||
Inherits System.Windows.Forms.ListView
|
||||
|
||||
'UserControl은 Dispose를 재정의하여 구성 요소 목록을 정리합니다.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
MyBase.Dispose(disposing)
|
||||
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
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
32
Sub/MyControl(OleDb)v2/Spread.Net.v5/MyMaskBox.Designer.vb
generated
Normal file
@@ -0,0 +1,32 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class MyMaskBox
|
||||
Inherits System.Windows.Forms.MaskedTextBox
|
||||
|
||||
'UserControl은 Dispose를 재정의하여 구성 요소 목록을 정리합니다.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
MyBase.Dispose(disposing)
|
||||
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.ErrorProvider1 = New System.Windows.Forms.ErrorProvider(Me.components)
|
||||
CType(Me.ErrorProvider1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SuspendLayout()
|
||||
CType(Me.ErrorProvider1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
Friend WithEvents ErrorProvider1 As System.Windows.Forms.ErrorProvider
|
||||
|
||||
End Class
|
||||
126
Sub/MyControl(OleDb)v2/Spread.Net.v5/MyMaskBox.resx
Normal 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="ErrorProvider1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>394, 208</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
</root>
|
||||
190
Sub/MyControl(OleDb)v2/Spread.Net.v5/MyMaskBox.vb
Normal file
@@ -0,0 +1,190 @@
|
||||
Public Class MyMaskBox
|
||||
Enum Inputtype
|
||||
전부 = 1
|
||||
숫자 = 2
|
||||
문자 = 3
|
||||
소문자 = 5
|
||||
대문자 = 6
|
||||
End Enum
|
||||
|
||||
Dim ColName As String
|
||||
Dim Coltype As OleDbType = OleDbType.VarChar
|
||||
Dim Ditem As Boolean
|
||||
Dim Prompt As String
|
||||
Dim WhereState As String = vbNullString
|
||||
Dim NotNull As Boolean = False
|
||||
Dim iNTYPE As Inputtype = Inputtype.전부
|
||||
Dim DEF_VALUE As String = Me.Text
|
||||
Protected Var_ViewColNumber As Short
|
||||
Protected Var_BaseLabel As Label
|
||||
|
||||
<System.ComponentModel.Description("이 컨트롤과 연결된 문자를 나타낼 레이블을 선택합니다")> _
|
||||
Public Property DB_BaseLabel() As Label
|
||||
Get
|
||||
Return Var_BaseLabel
|
||||
End Get
|
||||
Set(ByVal value As Label)
|
||||
'//데이터가 들어오면 현재의 프롬프트를 갱신합니다.
|
||||
Var_BaseLabel = value
|
||||
Me.DB_Prompt = Prompt
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
|
||||
|
||||
<System.ComponentModel.Description("입력되는 값을 필터링합니다")> _
|
||||
Public Property WHERE_DEFAULT_VALUE() As String
|
||||
Get
|
||||
Return DEF_VALUE
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
DEF_VALUE = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("입력되는 값을 필터링합니다")> _
|
||||
Public Property Input_type() As Inputtype
|
||||
Get
|
||||
Return iNTYPE
|
||||
End Get
|
||||
Set(ByVal value As Inputtype)
|
||||
iNTYPE = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("반드시입력되어야 할 값입니까?")> _
|
||||
Public Property DB_NotNull() As Boolean
|
||||
Get
|
||||
Return NotNull
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
NotNull = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
<System.ComponentModel.Description("검색그룹에 있을시 WHere 절")> _
|
||||
Public Property DB_WhereType() As String
|
||||
Get
|
||||
Return WhereState
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
WhereState = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("컬럼의 설명")> _
|
||||
Public Property DB_Prompt() As String
|
||||
Get
|
||||
Return IIf(Prompt Is vbNullString, DB_ColName, Prompt)
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Prompt = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("바인딩될 데이터베이스 컬럼명")> _
|
||||
Public Property DB_ColName() As String
|
||||
Get
|
||||
If ColName = "" Then
|
||||
Return Me.Name
|
||||
Else
|
||||
Return ColName
|
||||
End If
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
ColName = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("연결될 데이터베이스 데이터형식")> _
|
||||
Public Property DB_Type() As OleDbType
|
||||
Get
|
||||
Return Coltype
|
||||
End Get
|
||||
Set(ByVal value As OleDbType)
|
||||
Coltype = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("데이터베이스와 연결될 아이템인가?")> _
|
||||
Public Property DB_ITEM() As Boolean
|
||||
Get
|
||||
Return Ditem
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
Ditem = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' 현재 값을 설정하거나 반환합니다.
|
||||
''' </summary>
|
||||
''' <value></value>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
<System.ComponentModel.Description("현재 값을 설정하거나 가져옵니다")> _
|
||||
Public Property Value() As String
|
||||
Get
|
||||
Return Me.Text
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
If value.ToUpper = "$$DATE$$" Then
|
||||
Me.Text = Format(Now, "yyyyMMdd")
|
||||
Else
|
||||
Me.Text = value
|
||||
End If
|
||||
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Sub MyMaskTextBox_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs)
|
||||
Me.SelectAll()
|
||||
End Sub
|
||||
|
||||
Private Sub TextBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
|
||||
Select Case iNTYPE
|
||||
Case Inputtype.대문자
|
||||
If Char.IsNumber(e.KeyChar) Then
|
||||
e.Handled = True
|
||||
Else
|
||||
e.KeyChar = Char.ToUpper(e.KeyChar.ToString)
|
||||
End If
|
||||
'If Not Char.IsUpper(e.KeyChar.ToString) Then e.Handled = True
|
||||
Case Inputtype.문자
|
||||
If Char.IsNumber(e.KeyChar) Then e.Handled = True
|
||||
' If Not Char.IsLetter(e.KeyChar.ToString) Then e.Handled = True
|
||||
|
||||
Case Inputtype.소문자
|
||||
If Char.IsNumber(e.KeyChar) Then
|
||||
e.Handled = True
|
||||
Else
|
||||
e.KeyChar = Char.ToLower(e.KeyChar.ToString)
|
||||
End If
|
||||
'If Not Char.IsLower(e.KeyChar.ToString) Then e.Handled = True
|
||||
Case Inputtype.숫자
|
||||
|
||||
If Char.IsLetter(e.KeyChar) Then e.Handled = True
|
||||
End Select
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub TextBox_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)
|
||||
If e.KeyCode = Keys.Enter Then SendKeys.Send("{TAB}")
|
||||
If e.Alt AndAlso e.KeyCode = Keys.Enter Then SendKeys.Send("+{TAB}")
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub TextBox_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)
|
||||
If Me.NotNull = True AndAlso Me.Text = "" Then
|
||||
|
||||
Me.ErrorProvider1.SetError(Me, "이 필드는 반드시 입력되어야합니다")
|
||||
Else
|
||||
Me.ErrorProvider1.Clear()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
26
Sub/MyControl(OleDb)v2/Spread.Net.v5/MySearchGrp.Designer.vb
generated
Normal file
@@ -0,0 +1,26 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class MySearchGrp
|
||||
Inherits System.Windows.Forms.GroupBox
|
||||
|
||||
'UserControl은 Dispose를 재정의하여 구성 요소 목록을 정리합니다.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
MyBase.Dispose(disposing)
|
||||
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
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
184
Sub/MyControl(OleDb)v2/Spread.Net.v5/MySearchGrp.vb
Normal file
@@ -0,0 +1,184 @@
|
||||
Imports System.Text
|
||||
|
||||
Public Class MySearchGrp
|
||||
|
||||
''' <summary>
|
||||
''' 이 개체에 커서를 이동합니다.
|
||||
''' </summary>
|
||||
''' <remarks></remarks>
|
||||
Public Sub DB_SetFocus()
|
||||
'정렬된 아이템중에 1번쨰 아이템에 포커르를 줍니다.
|
||||
Dim A As ArrayList = GetSortedItem()
|
||||
Dim itm As Control = A(0)
|
||||
Dim ItmType As String = itm.GetType.Name.ToString.ToUpper
|
||||
Select Case ItmType
|
||||
Case "TEXTBOX"
|
||||
CType(itm, MyControlOLEDBv2.MyTextBox).Focus()
|
||||
Case "CHECKBOX"
|
||||
CType(itm, MyControlOLEDBv2.MyCheckBox).Focus()
|
||||
Case "COMBOBOX"
|
||||
CType(itm, MyControlOLEDBv2.MyCombo).Focus()
|
||||
End Select
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 탭순서를 이용하여 정렬된 아이템의 배열(ARRAYLIST)을 반환합니다.
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Public Function GetSortedItem() As ArrayList
|
||||
Dim Iname As String
|
||||
Dim CAr As New ArrayList
|
||||
Dim CArC As New ArrayList
|
||||
|
||||
For Each itm As Control In Me.Controls
|
||||
Iname = itm.GetType.Name.ToString.ToUpper
|
||||
If Iname = "TEXTBOX" OrElse Iname = "CHECKBOX" OrElse Iname = "COMBOBOX" Then
|
||||
CAr.Add(itm.TabIndex)
|
||||
End If
|
||||
Next
|
||||
CAr.Sort()
|
||||
|
||||
For i As Integer = 0 To CAr.Count - 1
|
||||
For Each itm As Control In Me.Controls
|
||||
Iname = itm.GetType.Name.ToString.ToUpper
|
||||
If itm.TabIndex = CAr.Item(i) Then CArC.Add(itm)
|
||||
Next
|
||||
Next
|
||||
Return CArC
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' WHERE SQL을 반한합니다.(PROMPT=TRUE 이면 WHERE절이 붙어서 반환됩니다)
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Public Function GetWhere(Optional ByVal HEADER As Boolean = False, Optional ByVal AddParam As Boolean = True, Optional ByVal ResetParam As Boolean = True) As String
|
||||
'where 절은 kcode = >= <= != 이런형태가 들어가서 만들어진다.
|
||||
'where 절내의 Db_item 타입이 true 인것들만 구문을 작성한다.
|
||||
Dim SQL As New StringBuilder(vbNullString)
|
||||
Dim CNT As Integer = 0
|
||||
|
||||
If ResetParam Then
|
||||
' MsgBox("파라미터 리셋")
|
||||
'DB.MyParam_Reset()
|
||||
|
||||
End If
|
||||
|
||||
For Each ITM As Object In Me.Controls
|
||||
|
||||
' MsgBox(ITM.GetType.Name)
|
||||
|
||||
Select Case ITM.GetType.Name.ToUpper
|
||||
Case "MYMASKTEXTBOX"
|
||||
Dim A As MyControlOLEDBv2.MyMaskBox = ITM
|
||||
If A.DB_ITEM AndAlso A.Text.Trim <> "" Then
|
||||
'기본값 WHERE_DEFAULT_VALUE 값을 확인합니다. 변경이되었다면 WHERE절을 생성합니다
|
||||
If A.Text <> A.WHERE_DEFAULT_VALUE Then
|
||||
CNT += 1
|
||||
If CNT <> 1 Then SQL.Append(" AND ")
|
||||
If Not AddParam Then '//문자는 '를붙여준다
|
||||
If A.DB_Type = OleDbType.VarChar Then
|
||||
SQL.Append(A.DB_ColName & Space(1) & A.DB_WhereType & "'" & A.Value & "'")
|
||||
Else
|
||||
SQL.Append(A.DB_ColName & Space(1) & A.DB_WhereType & A.Value)
|
||||
End If
|
||||
|
||||
Else
|
||||
SQL.Append(A.DB_ColName & Space(1) & A.DB_WhereType & " :S" & CNT)
|
||||
End If
|
||||
'If AddParam Then DB.MyParam_Add(" :S" & CNT, A.DB_Type, A.Value)
|
||||
End If
|
||||
End If
|
||||
Case "TEXTBOX"
|
||||
|
||||
Dim A As MyControlOLEDBv2.MyTextBox = ITM
|
||||
If A.DB_ITEM AndAlso A.Text.Trim <> "" Then
|
||||
'기본값 WHERE_DEFAULT_VALUE 값을 확인합니다. 변경이되었다면 WHERE절을 생성합니다
|
||||
If A.Text <> A.WHERE_DEFAULT_VALUE Then
|
||||
CNT += 1
|
||||
If CNT <> 1 Then SQL.Append(" AND ")
|
||||
If Not AddParam Then
|
||||
If A.DB_Type = OleDbType.VarChar Then
|
||||
SQL.Append(A.DB_ColName & Space(1) & A.DB_WhereType & "'" & A.Value & "'")
|
||||
Else
|
||||
SQL.Append(A.DB_ColName & Space(1) & A.DB_WhereType & A.Value)
|
||||
End If
|
||||
Else
|
||||
SQL.Append(A.DB_ColName & Space(1) & A.DB_WhereType & " :S" & CNT)
|
||||
End If
|
||||
'If AddParam Then DB.MyParam_Add(" :S" & CNT, A.DB_Type, A.Value)
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
Case "CHECKBOX"
|
||||
|
||||
Dim A As MyControlOLEDBv2.MyCheckBox = ITM
|
||||
If A.DB_ITEM Then
|
||||
'기본값 WHERE_DEFAULT_VALUE 값을 확인합니다. 변경이되었다면 WHERE절을 생성합니다
|
||||
CNT += 1
|
||||
If CNT <> 1 Then SQL.Append(" AND ")
|
||||
If Not AddParam Then
|
||||
If A.DB_Type = OleDbType.VarChar Then
|
||||
SQL.Append(A.DB_ColName & Space(1) & A.DB_WhereType & "'" & A.Value & "'")
|
||||
Else
|
||||
SQL.Append(A.DB_ColName & Space(1) & A.DB_WhereType & A.Value)
|
||||
End If
|
||||
Else
|
||||
SQL.Append(A.DB_ColName & Space(1) & A.DB_WhereType & " :S" & CNT)
|
||||
End If
|
||||
'If AddParam Then DB.MyParam_Add(" :S" & CNT, A.DB_Type, A.Value)
|
||||
|
||||
End If
|
||||
|
||||
Case "COMBOBOX"
|
||||
|
||||
Dim A As MyControlOLEDBv2.MyCombo = ITM
|
||||
If A.DB_ITEM Then
|
||||
'기본값 WHERE_DEFAULT_VALUE 값을 확인합니다. 변경이되었다면 WHERE절을 생성합니다
|
||||
If (A.DropDownStyle <> ComboBoxStyle.DropDownList AndAlso A.Text.Trim <> "") OrElse (A.DropDownStyle = ComboBoxStyle.DropDownList AndAlso Not (A.SelectedIndex = 0 AndAlso A.SelectedValue = -1)) Then
|
||||
CNT += 1
|
||||
If CNT <> 1 Then SQL.Append(" AND ")
|
||||
If Not AddParam Then
|
||||
If A.DB_Type = OleDbType.VarChar Then
|
||||
SQL.Append(A.DB_ColName & Space(1) & A.DB_WhereType & "'" & A.Value & "'")
|
||||
Else
|
||||
SQL.Append(A.DB_ColName & Space(1) & A.DB_WhereType & A.Value)
|
||||
End If
|
||||
Else
|
||||
SQL.Append(A.DB_ColName & Space(1) & A.DB_WhereType & " :S" & CNT)
|
||||
End If
|
||||
' If AddParam Then DB.MyParam_Add(" :S" & CNT, A.DB_Type, A.Value)
|
||||
End If
|
||||
End If
|
||||
End Select
|
||||
Next
|
||||
|
||||
|
||||
|
||||
If SQL.ToString.Trim = "" Then '//만들어진게 아예없을경우이다.
|
||||
Return vbNullString
|
||||
Else
|
||||
Return IIf(HEADER, " WHERE " & SQL.ToString, SQL.ToString)
|
||||
End If
|
||||
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 검색블럭내의 모든 콤보박스의 목록을 갱신합니다.
|
||||
''' </summary>
|
||||
''' <remarks></remarks>
|
||||
Public Sub UpdateComboBox()
|
||||
For Each Itm As Control In Me.Controls
|
||||
Select Case Itm.GetType.Name.ToString.ToUpper
|
||||
Case "COMBOBOX"
|
||||
CType(Itm, MyControlOLEDBv2.MyCombo).UpdateItem()
|
||||
End Select
|
||||
Next
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
26
Sub/MyControl(OleDb)v2/Spread.Net.v5/MySortGrp.Designer.vb
generated
Normal file
@@ -0,0 +1,26 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class MySortGrp
|
||||
Inherits System.Windows.Forms.GroupBox
|
||||
|
||||
'UserControl은 Dispose를 재정의하여 구성 요소 목록을 정리합니다.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
MyBase.Dispose(disposing)
|
||||
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
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
120
Sub/MyControl(OleDb)v2/Spread.Net.v5/MySortGrp.vb
Normal file
@@ -0,0 +1,120 @@
|
||||
Imports System.Text
|
||||
Imports System.IO
|
||||
|
||||
Public Class MySortGrp
|
||||
Public Sub SAVE_Setting()
|
||||
Dim a As New MyINI2(My.Application.Info.DirectoryPath & "\Setting.INI")
|
||||
For Each C As Control In Me.Controls
|
||||
If C.GetType.Name.ToUpper = "CHECKBOX" Then
|
||||
a.Write(Me.Parent.Name & "-" & Me.Name, C.Name, CType(C, MyControlOLEDBv2.MyCheckBox).CheckState.ToString)
|
||||
End If
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Public Sub LOAD_Setting()
|
||||
Dim FILEname As String = My.Application.Info.DirectoryPath & "\Setting.INI"
|
||||
Dim a As New MyINI2(FILEname)
|
||||
If Not File.Exists(FILEname) Then
|
||||
MsgBox("열너비 파일이 존재하지 않습니다", MsgBoxStyle.Critical, "열너비설정-오류")
|
||||
SAVE_Setting()
|
||||
Return
|
||||
End If
|
||||
'MsgBox("PARENT" & Me.Parent.Name.ToString & "/" & Me.Parent.Text)
|
||||
Dim Getdata As String
|
||||
For Each C As Control In Me.Controls
|
||||
If C.GetType.Name.ToUpper = "CHECKBOX" Then
|
||||
Try
|
||||
Getdata = a.Read(Me.Parent.Name & "-" & Me.Name, C.Name)
|
||||
Select Case Getdata.ToUpper
|
||||
Case "UNCHECKED"
|
||||
CType(C, MyControlOLEDBv2.MyCheckBox).CheckState = CheckState.Unchecked
|
||||
Case "INDETERMINATE"
|
||||
CType(C, MyControlOLEDBv2.MyCheckBox).CheckState = CheckState.Indeterminate
|
||||
Case "CHECKED"
|
||||
CType(C, MyControlOLEDBv2.MyCheckBox).CheckState = CheckState.Checked
|
||||
End Select
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
End If
|
||||
Next
|
||||
End Sub
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 이 개체에 커서를 이동합니다.
|
||||
''' </summary>
|
||||
''' <remarks></remarks>
|
||||
Public Sub DB_SetFocus()
|
||||
'정렬된 아이템중에 1번쨰 아이템에 포커르를 줍니다.
|
||||
Dim A As ArrayList = GetSortedItem()
|
||||
Dim itm As Control = A(0)
|
||||
Dim ItmType As String = itm.GetType.Name.ToString.ToUpper
|
||||
Select Case ItmType
|
||||
Case "TEXTBOX"
|
||||
CType(itm, MyControlOLEDBv2.MyTextBox).Focus()
|
||||
Case "CHECKBOX"
|
||||
CType(itm, MyControlOLEDBv2.MyCheckBox).Focus()
|
||||
Case "COMBOBOX"
|
||||
CType(itm, MyControlOLEDBv2.MyCombo).Focus()
|
||||
End Select
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 정렬 SQL문법을 반환합니다.(PROMPT=TRUE 이면 ORDER BY 가 붙여서 반환됩니다.)
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Public Function GetSort(Optional ByVal HEADER As Boolean = False) As String
|
||||
Dim SQL As New StringBuilder()
|
||||
Dim First As Boolean = False
|
||||
Dim Ar As ArrayList = GetSortedItem()
|
||||
|
||||
For Each ITM As MyControlOLEDBv2.MyCheckBox In Ar
|
||||
' MsgBox(ITM.DB_ColName)
|
||||
If ITM.Value <> Nothing Then
|
||||
If Not First Then
|
||||
First = True
|
||||
SQL.Append(Space(1) & CType(ITM, MyControlOLEDBv2.MyCheckBox).DB_ColName & Space(1) & CType(ITM, MyControlOLEDBv2.MyCheckBox).Value)
|
||||
Else
|
||||
SQL.Append(Space(1) & "," & CType(ITM, MyControlOLEDBv2.MyCheckBox).DB_ColName & Space(1) & CType(ITM, MyControlOLEDBv2.MyCheckBox).Value)
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
If SQL.ToString.Trim = "" Then
|
||||
Return vbNullString
|
||||
Else
|
||||
Return IIf(HEADER, " ORDER BY " & SQL.ToString, SQL.ToString)
|
||||
End If
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 탭순서로 정렬되어있는 아이템을 반환합니다
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Private Function GetSortedItem() As ArrayList
|
||||
Dim Iname As String
|
||||
Dim CAr As New ArrayList
|
||||
Dim CArC As New ArrayList
|
||||
|
||||
For Each itm As Control In Me.Controls
|
||||
Iname = itm.GetType.Name.ToString.ToUpper
|
||||
If Iname = "CHECKBOX" Then
|
||||
CAr.Add(itm.TabIndex)
|
||||
End If
|
||||
Next
|
||||
CAr.Sort()
|
||||
|
||||
For i As Integer = 0 To CAr.Count - 1
|
||||
For Each itm As Control In Me.Controls
|
||||
Iname = itm.GetType.Name.ToString.ToUpper
|
||||
If itm.TabIndex = CAr.Item(i) Then CArC.Add(itm)
|
||||
Next
|
||||
Next
|
||||
Return CArC
|
||||
End Function
|
||||
End Class
|
||||
32
Sub/MyControl(OleDb)v2/Spread.Net.v5/MyTextBox.Designer.vb
generated
Normal file
@@ -0,0 +1,32 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class MyTextBox
|
||||
Inherits System.Windows.Forms.TextBox
|
||||
|
||||
'UserControl은 Dispose를 재정의하여 구성 요소 목록을 정리합니다.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
MyBase.Dispose(disposing)
|
||||
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.ErrorProvider1 = New System.Windows.Forms.ErrorProvider(Me.components)
|
||||
CType(Me.ErrorProvider1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SuspendLayout()
|
||||
CType(Me.ErrorProvider1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
Friend WithEvents ErrorProvider1 As System.Windows.Forms.ErrorProvider
|
||||
|
||||
End Class
|
||||
126
Sub/MyControl(OleDb)v2/Spread.Net.v5/MyTextBox.resx
Normal 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="ErrorProvider1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>511, 180</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
</root>
|
||||
233
Sub/MyControl(OleDb)v2/Spread.Net.v5/MyTextBox.vb
Normal file
@@ -0,0 +1,233 @@
|
||||
Imports System.Drawing
|
||||
Public Class MyTextBox
|
||||
|
||||
Enum Inputtype
|
||||
전부 = 1
|
||||
숫자 = 2
|
||||
문자 = 3
|
||||
소문자 = 5
|
||||
대문자 = 6
|
||||
숫자대문자 = 7
|
||||
숫자소문자 = 8
|
||||
End Enum
|
||||
|
||||
Dim ColName As String
|
||||
Dim Coltype As OleDbType = OleDbType.VarChar
|
||||
Dim Ditem As Boolean
|
||||
Dim Prompt As String
|
||||
Dim WhereState As String = vbNullString
|
||||
Dim NotNull As Boolean = False
|
||||
Dim iNTYPE As Inputtype = Inputtype.전부
|
||||
Dim DEF_VALUE As String = Me.Text
|
||||
|
||||
Protected Var_ViewColNumber As Short
|
||||
Protected Var_BaseLabel As Label
|
||||
|
||||
Public Sub New()
|
||||
|
||||
' 이 호출은 디자이너에 필요합니다.
|
||||
InitializeComponent()
|
||||
|
||||
' InitializeComponent() 호출 뒤에 초기화 코드를 추가하십시오.
|
||||
|
||||
End Sub
|
||||
|
||||
<System.ComponentModel.Description("이 컨트롤과 연결된 문자를 나타낼 레이블을 선택합니다")> _
|
||||
Public Property DB_BaseLabel() As Label
|
||||
Get
|
||||
Return Var_BaseLabel
|
||||
End Get
|
||||
Set(ByVal value As Label)
|
||||
'//데이터가 들어오면 현재의 프롬프트를 갱신합니다.
|
||||
Var_BaseLabel = value
|
||||
Me.DB_Prompt = Prompt
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
<System.ComponentModel.Description("입력되는 값을 필터링합니다")> _
|
||||
Public Property WHERE_DEFAULT_VALUE() As String
|
||||
Get
|
||||
Return DEF_VALUE
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
DEF_VALUE = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("입력되는 값을 필터링합니다")> _
|
||||
Public Property Input_type() As Inputtype
|
||||
Get
|
||||
Return iNTYPE
|
||||
End Get
|
||||
Set(ByVal value As Inputtype)
|
||||
iNTYPE = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("반드시입력되어야 할 값입니까?")> _
|
||||
Public Property DB_NotNull() As Boolean
|
||||
Get
|
||||
Return NotNull
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
NotNull = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
<System.ComponentModel.Description("검색그룹에 있을시 WHere 절")> _
|
||||
Public Property DB_WhereType() As String
|
||||
Get
|
||||
Return WhereState
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
WhereState = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("컬럼의 설명")> _
|
||||
Public Property DB_Prompt() As String
|
||||
Get
|
||||
Return IIf(Prompt Is vbNullString, DB_ColName, Prompt)
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
'//프롬프트가 바뀔때 연결된 레이블이 잇으면 텍스트를 바꿔준다.
|
||||
Prompt = value
|
||||
Try
|
||||
Me.DB_BaseLabel.Text = value '& "(&" & Var_ViewColNumber & ")"
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("바인딩될 데이터베이스 컬럼명")> _
|
||||
Public Property DB_ColName() As String
|
||||
Get
|
||||
If ColName = "" Then
|
||||
Return Me.Name
|
||||
Else
|
||||
Return ColName
|
||||
End If
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
ColName = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("연결될 데이터베이스 데이터형식")> _
|
||||
Public Property DB_Type() As OleDbType
|
||||
Get
|
||||
Return Coltype
|
||||
End Get
|
||||
Set(ByVal value As OleDbType)
|
||||
Coltype = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("데이터베이스와 연결될 아이템인가?")> _
|
||||
Public Property DB_ITEM() As Boolean
|
||||
Get
|
||||
Return Ditem
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
Ditem = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.ComponentModel.Description("현재 값을 설정하거나 가져옵니다")> _
|
||||
Public Property Value() As String
|
||||
Get
|
||||
If Me.DB_Type = OleDbType.Numeric AndAlso Me.Text.Trim = "" Then
|
||||
Return 0
|
||||
End If
|
||||
Return Me.Text
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
If value.ToUpper = "$$DATE$$" Then
|
||||
Me.Text = Format(Now, "yyyyMMdd")
|
||||
Else
|
||||
Me.Text = value
|
||||
End If
|
||||
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Sub TextBox_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs)
|
||||
If Me.Text.Length > 0 Then
|
||||
Me.SelectAll()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub TextBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
|
||||
Select Case iNTYPE
|
||||
Case Inputtype.대문자
|
||||
If Char.IsNumber(e.KeyChar) Then
|
||||
e.Handled = True
|
||||
Else
|
||||
e.KeyChar = Char.ToUpper(e.KeyChar.ToString)
|
||||
End If
|
||||
'If Not Char.IsUpper(e.KeyChar.ToString) Then e.Handled = True
|
||||
Case Inputtype.문자
|
||||
If Char.IsNumber(e.KeyChar) Then e.Handled = True
|
||||
' If Not Char.IsLetter(e.KeyChar.ToString) Then e.Handled = True
|
||||
|
||||
Case Inputtype.소문자
|
||||
If Char.IsNumber(e.KeyChar) Then
|
||||
e.Handled = True
|
||||
Else
|
||||
e.KeyChar = Char.ToLower(e.KeyChar.ToString)
|
||||
End If
|
||||
'If Not Char.IsLower(e.KeyChar.ToString) Then e.Handled = True
|
||||
Case Inputtype.숫자
|
||||
|
||||
If Char.IsLetter(e.KeyChar) Then e.Handled = True
|
||||
|
||||
Case Inputtype.숫자대문자
|
||||
e.KeyChar = Char.ToUpper(e.KeyChar.ToString)
|
||||
|
||||
Case Inputtype.숫자소문자
|
||||
e.KeyChar = Char.ToLower(e.KeyChar.ToString)
|
||||
|
||||
End Select
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub TextBox_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)
|
||||
If e.KeyCode = Keys.Enter OrElse e.KeyCode = Keys.Down Then SendKeys.Send("{TAB}")
|
||||
|
||||
'If e.KeyCode = Keys.Right AndAlso Me.SelectionStart = Me.Text.Length Then '//오른쪽버튼일경우에는 현재커서위치가 마지막인상태에서 눌럿을때이다.
|
||||
'SendKeys.Send("{TAB}")
|
||||
'End If
|
||||
|
||||
If (e.Shift AndAlso e.KeyCode = Keys.Enter) OrElse e.KeyCode = Keys.Up Then
|
||||
SendKeys.Send("+{TAB}")
|
||||
End If
|
||||
|
||||
'If e.KeyCode = Keys.Left AndAlso Me.Text.Length <= 0 Then
|
||||
' SendKeys.Send("+{TAB}")
|
||||
' End If
|
||||
|
||||
'If e.KeyCode = Keys.Left AndAlso Me.SelectionStart = 0 Then
|
||||
' SendKeys.Send("+{TAB}")
|
||||
' End If
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub TextBox_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)
|
||||
Me.BackColor = IIf(Me.ReadOnly, Color.Gray, Color.White)
|
||||
If Me.NotNull = True AndAlso Me.Text = "" Then
|
||||
Me.ErrorProvider1.SetError(Me, "이 필드는 반드시 입력되어야합니다")
|
||||
Me.BackColor = Color.Tomato
|
||||
Else
|
||||
Me.ErrorProvider1.Clear()
|
||||
Me.BackColor = IIf(Me.ReadOnly, Color.Gray, Color.White)
|
||||
'Me.BackColor = Color.White
|
||||
End If
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
BIN
Sub/MyControl(OleDb)v2/Spread.Net.v5/Resources/close_32.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
Sub/MyControl(OleDb)v2/Spread.Net.v5/Resources/new_32.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
Sub/MyControl(OleDb)v2/Spread.Net.v5/Resources/srch_32.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
235
Sub/MyControl(OleDb)v2/Spread.Net.v5/lov.Designer.vb
generated
Normal file
@@ -0,0 +1,235 @@
|
||||
<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 TipAppearance1 As FarPoint.Win.Spread.TipAppearance = New FarPoint.Win.Spread.TipAppearance
|
||||
Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel
|
||||
Me.fpspread1 = New MyControlOLEDBv2.MyFpoint
|
||||
Me.fpspread1_Sheet1 = New FarPoint.Win.Spread.SheetView
|
||||
Me.Button1 = New System.Windows.Forms.Button
|
||||
Me.tb_searchtext = New System.Windows.Forms.TextBox
|
||||
Me.ToolStrip1 = New System.Windows.Forms.ToolStrip
|
||||
Me.bt_cancel = New System.Windows.Forms.ToolStripButton
|
||||
Me.bt_ok = New System.Windows.Forms.ToolStripButton
|
||||
Me.lb_msg = New System.Windows.Forms.ToolStripLabel
|
||||
Me.BindingSource1 = New System.Windows.Forms.BindingSource(Me.components)
|
||||
Me.TableLayoutPanel1.SuspendLayout()
|
||||
CType(Me.fpspread1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.fpspread1_Sheet1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.ToolStrip1.SuspendLayout()
|
||||
CType(Me.BindingSource1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'TableLayoutPanel1
|
||||
'
|
||||
Me.TableLayoutPanel1.ColumnCount = 2
|
||||
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 666.0!))
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.fpspread1, 1, 0)
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.Button1, 0, 0)
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.tb_searchtext, 1, 0)
|
||||
Me.TableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.TableLayoutPanel1.Location = New System.Drawing.Point(0, 0)
|
||||
Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
|
||||
Me.TableLayoutPanel1.RowCount = 1
|
||||
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 45.0!))
|
||||
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 247.0!))
|
||||
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
|
||||
Me.TableLayoutPanel1.Size = New System.Drawing.Size(720, 476)
|
||||
Me.TableLayoutPanel1.TabIndex = 3
|
||||
'
|
||||
'fpspread1
|
||||
'
|
||||
Me.fpspread1.AAutoAddrowInLast = Nothing
|
||||
Me.fpspread1.About = "3.0.2003.2005"
|
||||
Me.fpspread1.AccessibleDescription = "fpspread1, Sheet1, Row 0, Column 0, "
|
||||
Me.fpspread1.BackColor = System.Drawing.SystemColors.Control
|
||||
Me.fpspread1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
|
||||
Me.TableLayoutPanel1.SetColumnSpan(Me.fpspread1, 2)
|
||||
Me.fpspread1.CurrentDel = False
|
||||
Me.fpspread1.DeleteKey = False
|
||||
Me.fpspread1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.fpspread1.EditFromSpace = True
|
||||
Me.fpspread1.EnableCrossSheetReference = False
|
||||
Me.fpspread1.FIRST_FOCUSINDEX = 0
|
||||
Me.fpspread1.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded
|
||||
Me.fpspread1.Location = New System.Drawing.Point(3, 48)
|
||||
Me.fpspread1.Name = "fpspread1"
|
||||
Me.fpspread1.NextRow_Index = -1
|
||||
Me.fpspread1.RightToLeft = System.Windows.Forms.RightToLeft.No
|
||||
Me.fpspread1.SameRowheight = True
|
||||
Me.fpspread1.SelectionBlockOptions = FarPoint.Win.Spread.SelectionBlockOptions.Rows
|
||||
Me.fpspread1.Sheets.AddRange(New FarPoint.Win.Spread.SheetView() {Me.fpspread1_Sheet1})
|
||||
Me.fpspread1.Size = New System.Drawing.Size(714, 425)
|
||||
Me.fpspread1.TabIndex = 0
|
||||
TipAppearance1.BackColor = System.Drawing.SystemColors.Info
|
||||
TipAppearance1.Font = New System.Drawing.Font("굴림", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
|
||||
TipAppearance1.ForeColor = System.Drawing.SystemColors.InfoText
|
||||
Me.fpspread1.TextTipAppearance = TipAppearance1
|
||||
Me.fpspread1.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded
|
||||
Me.fpspread1.선택줄번호 = CType(-1, Short)
|
||||
'
|
||||
'fpspread1_Sheet1
|
||||
'
|
||||
Me.fpspread1_Sheet1.Reset()
|
||||
Me.fpspread1_Sheet1.SheetName = "Sheet1"
|
||||
'Formulas and custom names must be loaded with R1C1 reference style
|
||||
Me.fpspread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1
|
||||
Me.fpspread1_Sheet1.Columns.Get(0).AllowAutoFilter = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(0).AllowAutoSort = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(1).AllowAutoFilter = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(1).AllowAutoSort = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(2).AllowAutoFilter = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(2).AllowAutoSort = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(3).AllowAutoFilter = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(3).AllowAutoSort = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(4).AllowAutoFilter = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(4).AllowAutoSort = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(5).AllowAutoFilter = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(5).AllowAutoSort = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(6).AllowAutoFilter = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(6).AllowAutoSort = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(7).AllowAutoFilter = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(7).AllowAutoSort = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(8).AllowAutoFilter = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(8).AllowAutoSort = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(9).AllowAutoFilter = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(9).AllowAutoSort = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(10).AllowAutoFilter = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(10).AllowAutoSort = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(11).AllowAutoFilter = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(11).AllowAutoSort = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(12).AllowAutoFilter = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(12).AllowAutoSort = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(13).AllowAutoFilter = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(13).AllowAutoSort = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(14).AllowAutoFilter = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(14).AllowAutoSort = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(15).AllowAutoFilter = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(15).AllowAutoSort = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(16).AllowAutoFilter = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(16).AllowAutoSort = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(17).AllowAutoFilter = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(17).AllowAutoSort = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(18).AllowAutoFilter = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(18).AllowAutoSort = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(19).AllowAutoFilter = True
|
||||
Me.fpspread1_Sheet1.Columns.Get(19).AllowAutoSort = True
|
||||
Me.fpspread1_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.RowMode
|
||||
Me.fpspread1_Sheet1.Protect = False
|
||||
Me.fpspread1_Sheet1.RowHeader.Columns.Default.Resizable = False
|
||||
Me.fpspread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1
|
||||
'
|
||||
'Button1
|
||||
'
|
||||
Me.Button1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Popup
|
||||
Me.Button1.Image = Global.MyControlOLEDBv2.My.Resources.Resources.srch_32
|
||||
Me.Button1.Location = New System.Drawing.Point(3, 3)
|
||||
Me.Button1.Name = "Button1"
|
||||
Me.Button1.Size = New System.Drawing.Size(48, 39)
|
||||
Me.Button1.TabIndex = 2
|
||||
Me.Button1.UseVisualStyleBackColor = True
|
||||
'
|
||||
'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(57, 3)
|
||||
Me.tb_searchtext.Name = "tb_searchtext"
|
||||
Me.tb_searchtext.Size = New System.Drawing.Size(660, 35)
|
||||
Me.tb_searchtext.TabIndex = 3
|
||||
Me.tb_searchtext.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
|
||||
'
|
||||
'ToolStrip1
|
||||
'
|
||||
Me.ToolStrip1.Dock = System.Windows.Forms.DockStyle.Bottom
|
||||
Me.ToolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden
|
||||
Me.ToolStrip1.ImageScalingSize = New System.Drawing.Size(32, 32)
|
||||
Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.bt_cancel, Me.bt_ok, Me.lb_msg})
|
||||
Me.ToolStrip1.Location = New System.Drawing.Point(0, 476)
|
||||
Me.ToolStrip1.Name = "ToolStrip1"
|
||||
Me.ToolStrip1.Size = New System.Drawing.Size(720, 39)
|
||||
Me.ToolStrip1.TabIndex = 4
|
||||
Me.ToolStrip1.Text = "ToolStrip1"
|
||||
'
|
||||
'bt_cancel
|
||||
'
|
||||
Me.bt_cancel.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right
|
||||
Me.bt_cancel.Font = New System.Drawing.Font("맑은 고딕", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
|
||||
Me.bt_cancel.Image = Global.MyControlOLEDBv2.My.Resources.Resources.close_32
|
||||
Me.bt_cancel.ImageTransparentColor = System.Drawing.Color.Magenta
|
||||
Me.bt_cancel.Name = "bt_cancel"
|
||||
Me.bt_cancel.Size = New System.Drawing.Size(98, 36)
|
||||
Me.bt_cancel.Text = "취소(&X)"
|
||||
'
|
||||
'bt_ok
|
||||
'
|
||||
Me.bt_ok.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right
|
||||
Me.bt_ok.Font = New System.Drawing.Font("맑은 고딕", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
|
||||
Me.bt_ok.Image = Global.MyControlOLEDBv2.My.Resources.Resources.new_32
|
||||
Me.bt_ok.ImageTransparentColor = System.Drawing.Color.Magenta
|
||||
Me.bt_ok.Name = "bt_ok"
|
||||
Me.bt_ok.Size = New System.Drawing.Size(100, 36)
|
||||
Me.bt_ok.Text = "확인(&O)"
|
||||
'
|
||||
'lb_msg
|
||||
'
|
||||
Me.lb_msg.Name = "lb_msg"
|
||||
Me.lb_msg.Size = New System.Drawing.Size(23, 36)
|
||||
Me.lb_msg.Text = ">>"
|
||||
'
|
||||
'lov
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 12.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(720, 515)
|
||||
Me.Controls.Add(Me.TableLayoutPanel1)
|
||||
Me.Controls.Add(Me.ToolStrip1)
|
||||
Me.Name = "lov"
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
|
||||
Me.Text = "값을 선택하세요"
|
||||
Me.TableLayoutPanel1.ResumeLayout(False)
|
||||
Me.TableLayoutPanel1.PerformLayout()
|
||||
CType(Me.fpspread1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.fpspread1_Sheet1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.ToolStrip1.ResumeLayout(False)
|
||||
Me.ToolStrip1.PerformLayout()
|
||||
CType(Me.BindingSource1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel
|
||||
Friend WithEvents fpspread1 As MyControlOLEDBv2.MyFpoint
|
||||
Friend WithEvents fpspread1_Sheet1 As FarPoint.Win.Spread.SheetView
|
||||
Friend WithEvents Button1 As System.Windows.Forms.Button
|
||||
Friend WithEvents tb_searchtext As System.Windows.Forms.TextBox
|
||||
Friend WithEvents BindingSource1 As System.Windows.Forms.BindingSource
|
||||
Friend WithEvents bt_cancel As System.Windows.Forms.ToolStripButton
|
||||
Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip
|
||||
Friend WithEvents bt_ok As System.Windows.Forms.ToolStripButton
|
||||
Friend WithEvents lb_msg As System.Windows.Forms.ToolStripLabel
|
||||
End Class
|
||||
129
Sub/MyControl(OleDb)v2/Spread.Net.v5/lov.resx
Normal file
@@ -0,0 +1,129 @@
|
||||
<?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="fpspread1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>679, 17</value>
|
||||
</metadata>
|
||||
<metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>969, 17</value>
|
||||
</metadata>
|
||||
<metadata name="BindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>830, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||