솔루션에 fp5,fp13 포함
7
.gitignore
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
bin
|
||||
debug
|
||||
obj
|
||||
*.user
|
||||
*.v12
|
||||
*.v11
|
||||
.vs
|
||||
853
Epole.fp13/Common.vb
Normal file
@@ -0,0 +1,853 @@
|
||||
Imports System.IO
|
||||
Imports MyControlOLEDBv2
|
||||
|
||||
Module Common
|
||||
|
||||
|
||||
Structure S_Arrow
|
||||
Dim Direction As Short
|
||||
Dim RectX As Short
|
||||
Dim RectY As Short
|
||||
Dim RectW As Short
|
||||
Dim RectH As Short
|
||||
Dim TriWidth As Short
|
||||
Dim TriHeight As Short
|
||||
Dim PenColor As Drawing.Color
|
||||
Dim PenWidth As Single
|
||||
'Dim FillColor As Drawing.Color
|
||||
Dim Field As String
|
||||
End Structure
|
||||
|
||||
Structure S_Line
|
||||
Dim X As Short
|
||||
Dim Y As Short
|
||||
Dim X2 As Short
|
||||
Dim Y2 As Short
|
||||
Dim PenColor As Drawing.Color
|
||||
Dim PenWidth As Single
|
||||
Dim Field As String
|
||||
End Structure
|
||||
|
||||
Structure S_Box
|
||||
Dim X As Short
|
||||
Dim Y As Short
|
||||
Dim Width As Short
|
||||
Dim Height As Short
|
||||
Dim PenColor As Drawing.Color
|
||||
Dim PenWidth As Single
|
||||
Dim Field As String
|
||||
End Structure
|
||||
|
||||
Structure S_QRCode
|
||||
Dim X As Single
|
||||
Dim Y As Single
|
||||
Dim Width As Single
|
||||
Dim Height As Single
|
||||
Dim Field As String
|
||||
End Structure
|
||||
|
||||
Structure S_QRCode1
|
||||
Dim X As Single
|
||||
Dim Y As Single
|
||||
Dim Width As Single
|
||||
Dim Height As Single
|
||||
Dim Field As String
|
||||
End Structure
|
||||
|
||||
Structure S_Circle
|
||||
Dim X As Single
|
||||
Dim Y As Single
|
||||
Dim Width As Single
|
||||
Dim Height As Single
|
||||
Dim PenColor As Drawing.Color
|
||||
Dim PenWidth As Single
|
||||
'Dim Radius As Single '//휘어짐수치
|
||||
Dim Field As String
|
||||
End Structure
|
||||
|
||||
Structure S_Image
|
||||
Dim X As Single
|
||||
Dim Y As Single
|
||||
Dim Width As Single
|
||||
Dim Height As Single
|
||||
Dim FileName As String
|
||||
Dim Field As String
|
||||
End Structure
|
||||
|
||||
Enum ESorted
|
||||
No = 1
|
||||
YES = 2
|
||||
NULL = 0
|
||||
CANT = 3
|
||||
End Enum
|
||||
Structure Cfont
|
||||
Dim FontName As String
|
||||
Dim FontSize As Int16
|
||||
End Structure
|
||||
|
||||
Structure Str_Alllabels '레이블들을 저장한다.
|
||||
Dim ctl As MyControlOLEDBv2.MyLabel
|
||||
Dim desc As String
|
||||
End Structure
|
||||
|
||||
Structure SStyle
|
||||
Dim Desc As String
|
||||
Dim File As String
|
||||
Dim LoadOK As Boolean
|
||||
End Structure
|
||||
|
||||
Public StyleList() As SStyle
|
||||
Public PDS() As PatternDS
|
||||
|
||||
Public Draw_Line As New List(Of S_Line)
|
||||
Public Draw_Box As New List(Of S_Box)
|
||||
Public Draw_Circle As New List(Of S_Circle)
|
||||
Public Draw_Image As New List(Of S_Image)
|
||||
Public Draw_QRcode As New List(Of S_QRCode)
|
||||
Public Draw_QRcode1 As New List(Of S_QRCode1)
|
||||
Public Draw_Arrow As New List(Of S_Arrow) '//방향화살표 170711
|
||||
|
||||
Public Runcnt As UInt16 = 0
|
||||
Public Rundate As Date = Now
|
||||
|
||||
Public DataBaseFile As String = My.Application.Info.DirectoryPath & "\database\database.mdb"
|
||||
'Public ConString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DataBaseFile
|
||||
'Public Arin As New CommonClassv2.ARINCLASS
|
||||
'Public ArinPath As New CommonClassv2.MyPath
|
||||
Public Auto_Log As Boolean = False '//디비나 각종 로그파일을 쌓을지 여부
|
||||
Public PICmanFile As String = vbNullString '//그림관리프로그램의 파일명을 적는다.
|
||||
Public MakeState As String = vbNullString
|
||||
Public PoleState As String = vbNullString
|
||||
Public PoleEtcState As String = vbNullString
|
||||
Public PicState As String = vbNullString '/그림파일연결관리다.
|
||||
Public HelpWebSite As String = vbNullString '//웹페이지주소 일단은 도움말을 얻기위해쓴다.
|
||||
Public HomePage As String = vbNullString
|
||||
Public SORTNULL As Boolean = True '//전주세부-정렬이 번호가 비어잇을경우 가장위에표시할지 아닐지!
|
||||
Public NUMCOLOR As Boolean '//가공번호찰에서 번호에 색상을 지정할지
|
||||
Public Admin As Boolean = False '//개발자모드로 접속햇을때
|
||||
Public IsPro As Boolean = False
|
||||
|
||||
Public ViewFont As Cfont '//뷰의 글자
|
||||
Public MenuFont As Cfont '//메뉴의 글자
|
||||
Public FormFont As Cfont '//폼의 글자
|
||||
|
||||
'Public CEpole As CEpole.C_Epole '//전신주용 DLL추가햇다.
|
||||
|
||||
'Public Sub AddLog(ByVal msgtext As String, Optional ByVal ClearData As Boolean = False) '//로그창에 기록을 남깁니다.
|
||||
' If ClearData Then Frm_Log.RichTextBox1.Clear()
|
||||
' Frm_Log.RichTextBox1.AppendText(msgtext & vbCrLf)
|
||||
'End Sub
|
||||
'Public Sub Showlog()
|
||||
' Frm_Log.MdiParent = Main
|
||||
' Frm_Log.Show()
|
||||
'End Sub
|
||||
|
||||
Public Sub Work_Form(ByVal T As String)
|
||||
Form_Work.Show()
|
||||
Form_Work.Msg(T)
|
||||
End Sub
|
||||
Public Sub NWork_Form(ByVal T As String, ByVal maxcount As Integer)
|
||||
Form_Work.Show()
|
||||
Form_Work.Msg(T)
|
||||
Form_Work.ProgressBar1.Value = 0
|
||||
Form_Work.ProgressBar1.Minimum = 0
|
||||
Form_Work.ProgressBar1.Maximum = maxcount
|
||||
End Sub
|
||||
|
||||
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)
|
||||
CType(Src, ToolStripStatusLabel).ForeColor = Color.Black
|
||||
ElseIf Src.GetType.Name.ToUpper = "LABEL" Then
|
||||
CType(Src, Label).Text = "▶ " & MSG & Space(1)
|
||||
CType(Src, Label).ForeColor = Color.Black
|
||||
End If
|
||||
' My.Computer.Audio.PlaySystemSound(Media.SystemSounds.Beep)
|
||||
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)
|
||||
Src.ForeColor = FCOLOR
|
||||
' My.Computer.Audio.PlaySystemSound(Media.SystemSounds.Beep)
|
||||
End Sub
|
||||
|
||||
Public Function NVL(ByVal Indata As Object, Optional ByVal nullVal As Object = "") As Object
|
||||
|
||||
Try
|
||||
'If Indata = "" Then Return nullVal
|
||||
If Indata Is DBNull.Value Then Return nullVal
|
||||
Catch ex As Exception
|
||||
Return nullVal
|
||||
End Try
|
||||
If Indata Is vbNullString Then Return nullVal
|
||||
If Indata.ToString.Trim = "" Then Return nullVal
|
||||
Return Indata
|
||||
End Function
|
||||
|
||||
Public Function PATTERN_ENC(ByVal SRCSTR As String, Optional IncludeH As Boolean = False) As String
|
||||
Dim MSG As New System.Text.StringBuilder
|
||||
For Each A As Char In SRCSTR.ToCharArray '//모든문자의 숫자번호를 판별한다.
|
||||
|
||||
If IncludeH Then
|
||||
If A = ";" Then '//구분자라면
|
||||
MSG.Append(";")
|
||||
ElseIf A = "H" Then
|
||||
MSG.Append("Z")
|
||||
ElseIf A = "-" Then
|
||||
MSG.Append("-")
|
||||
ElseIf Char.IsNumber(A) Then
|
||||
MSG.Append("1")
|
||||
ElseIf Asc(A) < 0 Then
|
||||
MSG.Append("H")
|
||||
Else
|
||||
MSG.Append("0")
|
||||
End If
|
||||
Else
|
||||
If A = ";" Then '//구분자라면
|
||||
MSG.Append(";")
|
||||
ElseIf A = "-" Then
|
||||
MSG.Append("-")
|
||||
ElseIf Char.IsNumber(A) Then
|
||||
MSG.Append("1")
|
||||
ElseIf Asc(A) < 0 Then
|
||||
MSG.Append("H")
|
||||
Else
|
||||
MSG.Append("0")
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
Next
|
||||
Return MSG.ToString
|
||||
End Function
|
||||
|
||||
Public Sub ReNum(ByVal Srcspread As MyControlOLEDBv2.MyFpoint, ByVal NumColumnindex As Integer, Optional ByVal PBar As ProgressBar = Nothing)
|
||||
If Not PBar Is Nothing Then
|
||||
PBar.Minimum = 0
|
||||
PBar.Maximum = Srcspread.ActiveSheet.RowCount
|
||||
PBar.Value = 0
|
||||
End If
|
||||
|
||||
For Each SR As FarPoint.Win.Spread.Row In Srcspread.ActiveSheet.Rows
|
||||
If Not PBar Is Nothing Then PBar.Value += 1
|
||||
Srcspread.ActiveSheet.Cells(SR.Index, NumColumnindex).Value = SR.Index + 1
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Public Sub AddLog(ByVal t1 As Boolean, ByVal txt As String, Optional ByVal t2fn As String = "")
|
||||
'If Admin Then Log.RichTextBox1.AppendText(txt & vbCrLf)
|
||||
End Sub
|
||||
Public Sub showlog()
|
||||
' Log.Show()
|
||||
End Sub
|
||||
Public Sub hidelog()
|
||||
' Log.Close()
|
||||
End Sub
|
||||
Public Sub resetLog()
|
||||
' Log.RichTextBox1.Text = ""
|
||||
End Sub
|
||||
|
||||
Public Function TextEnc(ByVal SrcText As String) As String
|
||||
If SrcText = "" Then Return ""
|
||||
|
||||
Dim Ec As New System.Text.UnicodeEncoding
|
||||
Dim Msg1 As New System.Text.StringBuilder
|
||||
For Each bi As Byte In Ec.GetBytes(SrcText)
|
||||
Msg1.Append(bi.ToString & ",")
|
||||
Next
|
||||
Msg1.Remove(Msg1.Length - 1, 1)
|
||||
Return Msg1.ToString
|
||||
End Function
|
||||
Public Function TextDec(ByVal srctext As String) As String
|
||||
Dim Ec As New System.Text.UnicodeEncoding
|
||||
Dim Z(srctext.Split(",").GetUpperBound(0)) As Byte
|
||||
Dim i As Int16 = 0
|
||||
For Each aa As String In srctext.ToString.Split(",")
|
||||
Z(i) = CType(aa, Byte)
|
||||
i += 1
|
||||
Next
|
||||
Return Ec.GetString(Z)
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
Public Sub ReNum(ByRef SrcTable As DataTable, ByVal ColumnName As String, Optional ByVal PBar As ProgressBar = Nothing)
|
||||
|
||||
|
||||
If Not SrcTable.GetChanges Is Nothing Then
|
||||
MsgBox("변경된 내용이 있습니다" & vbCrLf & vbCrLf & "먼저 저장을 하세요", MsgBoxStyle.Information, "확인")
|
||||
Return
|
||||
End If
|
||||
|
||||
If MsgBox("모든번호가 새로 갱신됩니다" & vbCrLf & vbCrLf & "계속하시겠습니까?", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "확인") <> MsgBoxResult.Ok Then
|
||||
Return
|
||||
End If
|
||||
If Not PBar Is Nothing Then
|
||||
PBar.Minimum = 0
|
||||
PBar.Maximum = SrcTable.Rows.Count
|
||||
PBar.Value = 0
|
||||
End If
|
||||
|
||||
Dim i As Integer = 0
|
||||
Dim DV As New DataView(SrcTable, "", "정렬번호,번호", DataViewRowState.CurrentRows)
|
||||
Dim DT As DataTable = DV.ToTable
|
||||
|
||||
For Each dr As DataRow In DT.Rows
|
||||
i += 1
|
||||
dr(ColumnName) = i
|
||||
If Not PBar Is Nothing Then PBar.Value += 1
|
||||
Next
|
||||
SrcTable.Merge(DT)
|
||||
MsgBox("번호 정렬이 완료되었습니다", MsgBoxStyle.Information, "확인")
|
||||
End Sub
|
||||
|
||||
Public Sub GetAllsection(ByVal FILENAME As String, ByVal CurIdx As Short)
|
||||
|
||||
|
||||
Dim f As New fProgress()
|
||||
f.ProgressBar1.Minimum = 0
|
||||
f.ProgressBar1.Maximum = 0
|
||||
f.ProgressBar1.Style = ProgressBarStyle.Marquee
|
||||
f.Label1.Text = "스타일(" + CurIdx.ToString() + ")을 불러오고 있습니다" + vbCrLf + FILENAME
|
||||
f.TopMost = True
|
||||
f.Show()
|
||||
Application.DoEvents()
|
||||
|
||||
|
||||
'//파일의내용을 데이터테이블에 바로 넣도록 변경작업
|
||||
|
||||
'Dim wat As New System.Diagnostics.Stopwatch
|
||||
'Dim FS As New System.IO.FileStream(FILENAME, IO.FileMode.Open)
|
||||
'Dim SR As New IO.StreamReader(FS, System.Text.Encoding.Default)
|
||||
|
||||
Dim buffers() As String = System.IO.File.ReadAllLines(FILENAME, System.Text.Encoding.Default)
|
||||
|
||||
Dim Findkey As String = ""
|
||||
' Dim Line As String
|
||||
Dim KeyPos As Integer = -1
|
||||
Dim Seppos As Integer = -1
|
||||
Dim dr As DataRow
|
||||
|
||||
'WLog2(Auto_Log, "getallSection : 파일의 모든내용을 테이블로 옴긴다.()", "\지중(케이블라벨)순차로그.txt")
|
||||
|
||||
'StyleList(CurIdx).PATTERNTABLE = New DataTable
|
||||
'StyleList(CurIdx).PATTERNTABLE.Columns.Add("설명")
|
||||
'StyleList(CurIdx).PATTERNTABLE.Columns.Add("값")
|
||||
|
||||
'//초기값셋팅
|
||||
'StyleList(CurIdx).Backimg = ""
|
||||
'StyleList(CurIdx).CanvasX = 292
|
||||
'StyleList(CurIdx).CanvasY = 520
|
||||
'StyleList(CurIdx).Desc = "기본걸명"
|
||||
'StyleList(CurIdx).dummmyx = 0
|
||||
'StyleList(CurIdx).dummmyy = 50
|
||||
'StyleList(CurIdx).Dummy = False
|
||||
'StyleList(CurIdx).Dummytype = 1
|
||||
'StyleList(CurIdx).File = FILENAME
|
||||
'StyleList(CurIdx).IsXml = False
|
||||
' MsgBox(FILENAME)
|
||||
|
||||
'StyleList(CurIdx).Filter = ""
|
||||
'StyleList(CurIdx).LandScape = False
|
||||
'StyleList(CurIdx).MarginX = 50
|
||||
'StyleList(CurIdx).MarginY = 50
|
||||
'StyleList(CurIdx).picstyle = 1
|
||||
'StyleList(CurIdx).PrintFontOffset = 0
|
||||
'StyleList(CurIdx).ScaleX = 1.5
|
||||
'StyleList(CurIdx).ScaleY = 1.5
|
||||
'StyleList(CurIdx).Viewimage = False
|
||||
|
||||
'//XMl테이블 동기화(기존데이터삭제)
|
||||
|
||||
If Common.PDS(CurIdx) Is Nothing Then Common.PDS(CurIdx) = New PatternDS()
|
||||
|
||||
Common.PDS(CurIdx).TStyle.Rows.Clear()
|
||||
Common.PDS(CurIdx).TPattern.Rows.Clear()
|
||||
|
||||
'//set default value
|
||||
Dim Drow As PatternDS.TStyleRow = Common.PDS(CurIdx).TStyle.NewTStyleRow
|
||||
Drow.BACKIMG = String.Empty
|
||||
Drow.CANVASX = 292
|
||||
Drow.CANVASY = 520
|
||||
Drow.DESC = "기본설명"
|
||||
Drow.DUMMMYX = 0
|
||||
Drow.DUMMMYY = 50
|
||||
Drow.DUMMY = "false"
|
||||
Drow.DUMMYTYPE = "1"
|
||||
Drow.FILE = FILENAME
|
||||
Drow.ISXML = False
|
||||
Drow.DUMMYCNT = 0
|
||||
Drow.LANDSCAPE = "false"
|
||||
Drow.MARGINX = 50
|
||||
Drow.MARGINY = 50
|
||||
Drow.FILTER = String.Empty
|
||||
Drow.PICSTYLE = "1"
|
||||
Drow.PRINTFONTOFFSET = "0"
|
||||
Drow.SCALEX = "1.5"
|
||||
Drow.SCALEY = "1.5"
|
||||
Drow.VIEWIMAGE = "false"
|
||||
Drow.PRINTBG = "false"
|
||||
Drow.BAKX = "0"
|
||||
Drow.BAKY = "0"
|
||||
Drow.BAKW = "0"
|
||||
Drow.BAKH = "0"
|
||||
Drow.VIEWIMAGE = "false"
|
||||
|
||||
'wat.Restart()
|
||||
'Console.WriteLine("File Read Ready")
|
||||
|
||||
|
||||
'//모든줄을 읽어서 섹션&키 = 설명 으로 한다.
|
||||
Try
|
||||
For Each Line As String In buffers
|
||||
If String.IsNullOrEmpty(Line) Then Continue For '//빈값제거
|
||||
If Line.StartsWith("#") Then Continue For '//주석제거
|
||||
|
||||
|
||||
If Findkey = "" Then '//아직 셋팅된 키가 없다면
|
||||
If Line.ToUpper.IndexOf("[") > -1 Then Findkey = Line.Trim("[").ToString.Trim("]").ToString
|
||||
Else '//셋팅된 키가 있다면 테이블에 추가해준다.
|
||||
If Line.IndexOf("[") = -1 Then '//그다음 키가 오기전까지 모두 추가한다.
|
||||
Seppos = Line.IndexOf("=")
|
||||
|
||||
Select Case Line.Substring(0, Seppos).ToUpper
|
||||
Case "DESC"
|
||||
If Findkey.ToUpper = "STYLE" Then
|
||||
Drow.DESC = Line.Substring(Seppos + 1).ToUpper
|
||||
Else
|
||||
'dr = StyleList(CurIdx).PATTERNTABLE.NewRow
|
||||
Dim stitle As String = CStr(Findkey & Line.Substring(0, Seppos)).ToUpper
|
||||
Dim svalue As String = Line.Substring(Seppos + 1).ToUpper
|
||||
' StyleList(CurIdx).PATTERNTABLE.Rows.Add(dr)
|
||||
|
||||
Dim Nrow As PatternDS.TPatternRow = Common.PDS(CurIdx).TPattern.NewTPatternRow
|
||||
Nrow.NAME = stitle ' PRow("설명")
|
||||
Nrow.Val = svalue ' PRow("값")
|
||||
Common.PDS(CurIdx).TPattern.AddTPatternRow(Nrow)
|
||||
|
||||
End If
|
||||
Case "FILE" : Drow.FILE = FILENAME ''StyleList(CurIdx).File = Line.Substring(Seppos + 1).ToUpper
|
||||
Case "BACKIMG" : Drow.BACKIMG = Line.Substring(Seppos + 1).ToUpper
|
||||
Case "CANVASX" : Drow.CANVASX = Line.Substring(Seppos + 1).ToUpper
|
||||
Case "CANVASY" : Drow.CANVASY = Line.Substring(Seppos + 1).ToUpper
|
||||
Case "DUMMY" : Drow.DUMMY = Line.Substring(Seppos + 1).ToUpper
|
||||
Case "DUMMYCNT" : Drow.DUMMYCNT = Line.Substring(Seppos + 1).ToUpper
|
||||
Case "DUMMYTYPE" : Drow.DUMMYTYPE = Line.Substring(Seppos + 1).ToUpper
|
||||
Case "DUMMMYX" : Drow.DUMMMYX = Line.Substring(Seppos + 1).ToUpper
|
||||
Case "DUMMMYY" : Drow.DUMMMYY = Line.Substring(Seppos + 1).ToUpper
|
||||
Case "LANDSCAPE" : Drow.LANDSCAPE = Line.Substring(Seppos + 1).ToUpper
|
||||
Case "MARGINX" : Drow.MARGINX = Line.Substring(Seppos + 1).ToUpper
|
||||
Case "MARGINY" : Drow.MARGINY = Line.Substring(Seppos + 1).ToUpper
|
||||
Case "PICSTYLE" : Drow.PICSTYLE = Line.Substring(Seppos + 1).ToUpper
|
||||
Case "PRINTFONTOFFSET" : Drow.PRINTFONTOFFSET = Line.Substring(Seppos + 1).ToUpper
|
||||
Case "PRINTBG" : Drow.PRINTBG = Line.Substring(Seppos + 1).ToUpper
|
||||
Case "SCALEX" : Drow.SCALEX = Line.Substring(Seppos + 1).ToUpper
|
||||
Case "SCALEY" : Drow.SCALEY = Line.Substring(Seppos + 1).ToUpper
|
||||
Case "BAKX" : Drow.BAKX = Line.Substring(Seppos + 1).ToUpper
|
||||
Case "BAKY" : Drow.BAKY = Line.Substring(Seppos + 1).ToUpper
|
||||
Case "BAKW" : Drow.BAKW = Line.Substring(Seppos + 1).ToUpper
|
||||
Case "BAKH" : Drow.BAKH = Line.Substring(Seppos + 1).ToUpper
|
||||
Case "VIEWIMAGE" : Drow.VIEWIMAGE = Line.Substring(Seppos + 1).ToUpper
|
||||
Case "FILTER" : Drow.FILTER = Line.Substring(Seppos + 1).ToUpper
|
||||
Case Else
|
||||
'dr = StyleList(CurIdx).PATTERNTABLE.NewRow
|
||||
Dim stitle As String = CStr(Findkey & Line.Substring(0, Seppos)).ToUpper
|
||||
Dim svalue As String = Line.Substring(Seppos + 1).ToUpper
|
||||
'StyleList(CurIdx).PATTERNTABLE.Rows.Add(dr)
|
||||
|
||||
Dim Nrow As PatternDS.TPatternRow = Common.PDS(CurIdx).TPattern.NewTPatternRow
|
||||
Nrow.NAME = stitle ' PRow("설명")
|
||||
Nrow.Val = svalue ' PRow("값")
|
||||
Common.PDS(CurIdx).TPattern.AddTPatternRow(Nrow)
|
||||
|
||||
|
||||
End Select
|
||||
Else
|
||||
Findkey = Line.Trim("[").ToString.Trim("]").ToString
|
||||
End If
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
Catch ex As Exception
|
||||
f.Close()
|
||||
MsgBox("Load Error " + vbCrLf + ex.Message, MsgBoxStyle.Critical, "Error")
|
||||
End Try
|
||||
|
||||
' MsgBox(tyleList(CurIdx).Filter)
|
||||
|
||||
'Console.WriteLine("File Read : " + wat.ElapsedMilliseconds.ToString() + "ms")
|
||||
'wat.Restart()
|
||||
|
||||
'SR.Close()
|
||||
'FS.Close()
|
||||
Dim CFile As New System.IO.FileInfo(FILENAME.ToLower.Replace("ini", "cfg"))
|
||||
If CFile.Exists = False Then '//새로만들기
|
||||
AddLog(Admin, "로컬프린터정보 Config 파일이 존재하지않습니다. 새로 생성합니다.", "\Alllog.txt")
|
||||
Dim CfgIni As New MyINI2(CFile.FullName)
|
||||
CfgIni.Write("printer", "MARGINX", Drow.MARGINX)
|
||||
CfgIni.Write("printer", "MARGINY", Drow.MARGINY)
|
||||
CfgIni.Write("printer", "PRINTFONTOFFSET", Drow.PRINTFONTOFFSET)
|
||||
CfgIni.Write("printer", "SCALEX", Drow.SCALEX)
|
||||
CfgIni.Write("printer", "SCALEY", Drow.SCALEY)
|
||||
CfgIni.Write("printer", "PRINTBG", Drow.PRINTBG)
|
||||
Else '//파일있으면 불러온다
|
||||
AddLog(Admin, "로컬프린터정보 Config 파일이 존재하므로 해당 파일을 이용합니다(" & CFile.FullName & ")", "\Alllog.txt")
|
||||
Dim CfgIni As New MyINI2(CFile.FullName)
|
||||
Drow.MARGINX = CfgIni.Read("printer", "MARGINX", 50)
|
||||
Drow.MARGINY = CfgIni.Read("printer", "MARGINY", 50)
|
||||
Drow.PRINTFONTOFFSET = CfgIni.Read("printer", "PRINTFONTOFFSET", 0)
|
||||
Drow.SCALEX = CfgIni.Read("printer", "SCALEX", 1.5)
|
||||
Drow.SCALEY = CfgIni.Read("printer", "SCALEY", 1.5)
|
||||
Drow.PRINTBG = CfgIni.Read("printer", "PRINTBG", True)
|
||||
End If
|
||||
|
||||
' Console.WriteLine("File Read 2: " + wat.ElapsedMilliseconds.ToString() + "ms")
|
||||
' wat.Restart()
|
||||
|
||||
'//필터파일추가한다.
|
||||
CFile = New System.IO.FileInfo(FILENAME.ToLower.Replace("ini", "filter"))
|
||||
If CFile.Exists = True Then '//필터파일이있으며 불러오기한다.
|
||||
Dim CfgIni As New MyINI2(CFile.FullName)
|
||||
Drow.FILTER = CfgIni.Read("STYLE", "FILTER")
|
||||
End If
|
||||
|
||||
' Console.WriteLine("File Read 3: " + wat.ElapsedMilliseconds.ToString() + "ms")
|
||||
' wat.Restart()
|
||||
|
||||
'//XML테이블 데이터 동기화
|
||||
'Dim Drow As PatternDS.TStyleRow = Common.PDS(CurIdx).TStyle.NewTStyleRow
|
||||
'Drow.DESC = StyleList(CurIdx).Desc
|
||||
'Drow.BACKIMG = StyleList(CurIdx).Backimg
|
||||
'Drow.CANVASX = StyleList(CurIdx).CanvasX
|
||||
'Drow.CANVASY = StyleList(CurIdx).CanvasY
|
||||
'Drow.DUMMY = StyleList(CurIdx).Dummy
|
||||
'Drow.DUMMYCNT = StyleList(CurIdx).DummyCnt
|
||||
'Drow.DUMMYTYPE = StyleList(CurIdx).Dummytype
|
||||
'Drow.DUMMMYX = StyleList(CurIdx).dummmyx
|
||||
'Drow.DUMMMYY = StyleList(CurIdx).dummmyy
|
||||
'Drow.LANDSCAPE = StyleList(CurIdx).LandScape
|
||||
'Drow.MARGINX = StyleList(CurIdx).MarginX
|
||||
'Drow.MARGINY = StyleList(CurIdx).MarginY
|
||||
'Drow.PICSTYLE = StyleList(CurIdx).picstyle
|
||||
'Drow.PRINTFONTOFFSET = StyleList(CurIdx).PrintFontOffset
|
||||
'Drow.PRINTBG = StyleList(CurIdx).Printbg
|
||||
'Drow.SCALEX = StyleList(CurIdx).ScaleX
|
||||
'Drow.SCALEY = StyleList(CurIdx).ScaleY
|
||||
'Drow.BAKX = StyleList(CurIdx).bakx
|
||||
'Drow.BAKY = StyleList(CurIdx).baky
|
||||
'Drow.BAKW = StyleList(CurIdx).bakw
|
||||
'Drow.BAKH = StyleList(CurIdx).bakh
|
||||
'Drow.VIEWIMAGE = StyleList(CurIdx).Viewimage
|
||||
'Drow.FILE = StyleList(CurIdx).File
|
||||
'Drow.FILTER = StyleList(CurIdx).Filter
|
||||
Common.PDS(CurIdx).TStyle.AddTStyleRow(Drow) '//기본스타일 데이터 추가
|
||||
|
||||
|
||||
' Console.WriteLine("File Read 4: " + wat.ElapsedMilliseconds.ToString() + "ms")
|
||||
' wat.Restart()
|
||||
|
||||
'//패턴정보 추가하기
|
||||
'For i As Integer = 1 To StyleList(CurIdx).PATTERNTABLE.Rows.Count
|
||||
' Dim PRow As DataRow = StyleList(CurIdx).PATTERNTABLE.Rows(i - 1)
|
||||
' Dim Nrow As PatternDS.TPatternRow = Common.PDS(CurIdx).TPattern.NewTPatternRow
|
||||
' Nrow.NAME = PRow("설명")
|
||||
' Nrow.Val = PRow("값")
|
||||
' Common.PDS(CurIdx).TPattern.AddTPatternRow(Nrow)
|
||||
'Next
|
||||
Common.PDS(CurIdx).TPattern.AcceptChanges()
|
||||
|
||||
' Console.WriteLine("File Read 5: " + wat.ElapsedMilliseconds.ToString() + "ms")
|
||||
' wat.Stop()
|
||||
|
||||
f.Close()
|
||||
f.Dispose()
|
||||
Application.DoEvents()
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Public Sub GetAllsection_INI_Backup(ByVal FILENAME As String, ByVal CurIdx As Short)
|
||||
|
||||
'Dim wat As New System.Diagnostics.Stopwatch
|
||||
'Dim FS As New System.IO.FileStream(FILENAME, IO.FileMode.Open)
|
||||
'Dim SR As New IO.StreamReader(FS, System.Text.Encoding.Default)
|
||||
'Dim Findkey As String = ""
|
||||
'Dim Line As String
|
||||
'Dim KeyPos As Integer = -1
|
||||
'Dim Seppos As Integer = -1
|
||||
'Dim dr As DataRow
|
||||
|
||||
''WLog2(Auto_Log, "getallSection : 파일의 모든내용을 테이블로 옴긴다.()", "\지중(케이블라벨)순차로그.txt")
|
||||
|
||||
'StyleList(CurIdx).PATTERNTABLE = New DataTable
|
||||
'StyleList(CurIdx).PATTERNTABLE.Columns.Add("설명")
|
||||
'StyleList(CurIdx).PATTERNTABLE.Columns.Add("값")
|
||||
|
||||
''//초기값셋팅
|
||||
'StyleList(CurIdx).Backimg = ""
|
||||
'StyleList(CurIdx).CanvasX = 292
|
||||
'StyleList(CurIdx).CanvasY = 520
|
||||
'StyleList(CurIdx).Desc = "기본걸명"
|
||||
'StyleList(CurIdx).dummmyx = 0
|
||||
'StyleList(CurIdx).dummmyy = 50
|
||||
'StyleList(CurIdx).Dummy = False
|
||||
'StyleList(CurIdx).Dummytype = 1
|
||||
'StyleList(CurIdx).File = FILENAME
|
||||
'StyleList(CurIdx).IsXml = False
|
||||
'' MsgBox(FILENAME)
|
||||
|
||||
'StyleList(CurIdx).Filter = ""
|
||||
'StyleList(CurIdx).LandScape = False
|
||||
'StyleList(CurIdx).MarginX = 50
|
||||
'StyleList(CurIdx).MarginY = 50
|
||||
'StyleList(CurIdx).picstyle = 1
|
||||
'StyleList(CurIdx).PrintFontOffset = 0
|
||||
'StyleList(CurIdx).ScaleX = 1.5
|
||||
'StyleList(CurIdx).ScaleY = 1.5
|
||||
'StyleList(CurIdx).Viewimage = False
|
||||
|
||||
''//XMl테이블 동기화(기존데이터삭제)
|
||||
|
||||
'Common.PDS(CurIdx).TStyle.Rows.Clear()
|
||||
'Common.PDS(CurIdx).TPattern.Rows.Clear()
|
||||
|
||||
'wat.Restart()
|
||||
'Console.WriteLine("File Read Ready")
|
||||
|
||||
|
||||
''//모든줄을 읽어서 섹션&키 = 설명 으로 한다.
|
||||
'While SR.Peek > -1
|
||||
' Line = SR.ReadLine.ToUpper
|
||||
|
||||
' If Line <> "" Then
|
||||
|
||||
' If Findkey = "" Then '//아직 셋팅된 키가 없다면
|
||||
' If Line.ToUpper.IndexOf("[") > -1 Then Findkey = Line.Trim("[").ToString.Trim("]").ToString
|
||||
' Else '//셋팅된 키가 있다면 테이블에 추가해준다.
|
||||
' If Line.IndexOf("[") = -1 Then '//그다음 키가 오기전까지 모두 추가한다.
|
||||
' Seppos = Line.IndexOf("=")
|
||||
|
||||
' Select Case Line.Substring(0, Seppos).ToUpper
|
||||
' Case "DESC"
|
||||
' If Findkey.ToUpper = "STYLE" Then
|
||||
' StyleList(CurIdx).Desc = Line.Substring(Seppos + 1).ToUpper
|
||||
' Else
|
||||
' dr = StyleList(CurIdx).PATTERNTABLE.NewRow
|
||||
' dr(0) = CStr(Findkey & Line.Substring(0, Seppos)).ToUpper
|
||||
' dr(1) = Line.Substring(Seppos + 1).ToUpper
|
||||
' StyleList(CurIdx).PATTERNTABLE.Rows.Add(dr)
|
||||
' End If
|
||||
' Case "FILE" 'StyleList(CurIdx).File = Line.Substring(Seppos + 1).ToUpper
|
||||
' Case "BACKIMG" : StyleList(CurIdx).Backimg = Line.Substring(Seppos + 1).ToUpper
|
||||
' Case "CANVASX" : StyleList(CurIdx).CanvasX = Line.Substring(Seppos + 1).ToUpper
|
||||
' Case "CANVASY" : StyleList(CurIdx).CanvasY = Line.Substring(Seppos + 1).ToUpper
|
||||
' Case "DUMMY" : StyleList(CurIdx).Dummy = Line.Substring(Seppos + 1).ToUpper
|
||||
' Case "DUMMYCNT" : StyleList(CurIdx).DummyCnt = Line.Substring(Seppos + 1).ToUpper
|
||||
' Case "DUMMYTYPE" : StyleList(CurIdx).Dummytype = Line.Substring(Seppos + 1).ToUpper
|
||||
' Case "DUMMMYX" : StyleList(CurIdx).dummmyx = Line.Substring(Seppos + 1).ToUpper
|
||||
' Case "DUMMMYY" : StyleList(CurIdx).dummmyy = Line.Substring(Seppos + 1).ToUpper
|
||||
' Case "LANDSCAPE" : StyleList(CurIdx).LandScape = Line.Substring(Seppos + 1).ToUpper
|
||||
' Case "MARGINX" : StyleList(CurIdx).MarginX = Line.Substring(Seppos + 1).ToUpper
|
||||
' Case "MARGINY" : StyleList(CurIdx).MarginY = Line.Substring(Seppos + 1).ToUpper
|
||||
' Case "PICSTYLE" : StyleList(CurIdx).picstyle = Line.Substring(Seppos + 1).ToUpper
|
||||
' Case "PRINTFONTOFFSET" : StyleList(CurIdx).PrintFontOffset = Line.Substring(Seppos + 1).ToUpper
|
||||
' Case "PRINTBG" : StyleList(CurIdx).Printbg = Line.Substring(Seppos + 1).ToUpper
|
||||
' Case "SCALEX" : StyleList(CurIdx).ScaleX = Line.Substring(Seppos + 1).ToUpper
|
||||
' Case "SCALEY" : StyleList(CurIdx).ScaleY = Line.Substring(Seppos + 1).ToUpper
|
||||
' Case "BAKX" : StyleList(CurIdx).bakx = Line.Substring(Seppos + 1).ToUpper
|
||||
' Case "BAKY" : StyleList(CurIdx).baky = Line.Substring(Seppos + 1).ToUpper
|
||||
' Case "BAKW" : StyleList(CurIdx).bakw = Line.Substring(Seppos + 1).ToUpper
|
||||
' Case "BAKH" : StyleList(CurIdx).bakh = Line.Substring(Seppos + 1).ToUpper
|
||||
' Case "VIEWIMAGE" : StyleList(CurIdx).Viewimage = Line.Substring(Seppos + 1).ToUpper
|
||||
' Case "FILTER" : StyleList(CurIdx).Filter = Line.Substring(Seppos + 1).ToUpper
|
||||
' Case Else
|
||||
' dr = StyleList(CurIdx).PATTERNTABLE.NewRow
|
||||
' dr(0) = CStr(Findkey & Line.Substring(0, Seppos)).ToUpper
|
||||
' dr(1) = Line.Substring(Seppos + 1).ToUpper
|
||||
' StyleList(CurIdx).PATTERNTABLE.Rows.Add(dr)
|
||||
' End Select
|
||||
|
||||
|
||||
|
||||
' Else
|
||||
' Findkey = Line.Trim("[").ToString.Trim("]").ToString
|
||||
' End If
|
||||
' End If
|
||||
' End If
|
||||
'End While
|
||||
'' MsgBox(tyleList(CurIdx).Filter)
|
||||
|
||||
'Console.WriteLine("File Read : " + wat.ElapsedMilliseconds.ToString() + "ms")
|
||||
'wat.Restart()
|
||||
|
||||
'SR.Close()
|
||||
'FS.Close()
|
||||
'Dim CFile As New System.IO.FileInfo(FILENAME.ToLower.Replace("ini", "cfg"))
|
||||
'If CFile.Exists = False Then '//새로만들기
|
||||
' AddLog(Admin, "로컬프린터정보 Config 파일이 존재하지않습니다. 새로 생성합니다.", "\Alllog.txt")
|
||||
' Dim CfgIni As New MyINI2(CFile.FullName)
|
||||
' CfgIni.Write("printer", "MARGINX", StyleList(CurIdx).MarginX)
|
||||
' CfgIni.Write("printer", "MARGINY", StyleList(CurIdx).MarginY)
|
||||
' CfgIni.Write("printer", "PRINTFONTOFFSET", StyleList(CurIdx).PrintFontOffset)
|
||||
' CfgIni.Write("printer", "SCALEX", StyleList(CurIdx).ScaleX)
|
||||
' CfgIni.Write("printer", "SCALEY", StyleList(CurIdx).ScaleY)
|
||||
' CfgIni.Write("printer", "PRINTBG", StyleList(CurIdx).Printbg)
|
||||
'Else '//파일있으면 불러온다
|
||||
' AddLog(Admin, "로컬프린터정보 Config 파일이 존재하므로 해당 파일을 이용합니다(" & CFile.FullName & ")", "\Alllog.txt")
|
||||
' Dim CfgIni As New MyINI2(CFile.FullName)
|
||||
' StyleList(CurIdx).MarginX = CfgIni.Read("printer", "MARGINX", 50)
|
||||
' StyleList(CurIdx).MarginY = CfgIni.Read("printer", "MARGINY", 50)
|
||||
' StyleList(CurIdx).PrintFontOffset = CfgIni.Read("printer", "PRINTFONTOFFSET", 0)
|
||||
' StyleList(CurIdx).ScaleX = CfgIni.Read("printer", "SCALEX", 1.5)
|
||||
' StyleList(CurIdx).ScaleY = CfgIni.Read("printer", "SCALEY", 1.5)
|
||||
' StyleList(CurIdx).Printbg = CfgIni.Read("printer", "PRINTBG", True)
|
||||
'End If
|
||||
|
||||
'Console.WriteLine("File Read 2: " + wat.ElapsedMilliseconds.ToString() + "ms")
|
||||
'wat.Restart()
|
||||
|
||||
''//필터파일추가한다.
|
||||
'CFile = New System.IO.FileInfo(FILENAME.ToLower.Replace("ini", "filter"))
|
||||
'If CFile.Exists = True Then '//필터파일이있으며 불러오기한다.
|
||||
' Dim CfgIni As New MyINI2(CFile.FullName)
|
||||
' StyleList(CurIdx).Filter = CfgIni.Read("STYLE", "FILTER")
|
||||
'End If
|
||||
|
||||
'Console.WriteLine("File Read 3: " + wat.ElapsedMilliseconds.ToString() + "ms")
|
||||
'wat.Restart()
|
||||
|
||||
''//XML테이블 데이터 동기화
|
||||
'Dim Drow As PatternDS.TStyleRow = Common.PDS(CurIdx).TStyle.NewTStyleRow
|
||||
'Drow.DESC = StyleList(CurIdx).Desc
|
||||
'Drow.BACKIMG = StyleList(CurIdx).Backimg
|
||||
'Drow.CANVASX = StyleList(CurIdx).CanvasX
|
||||
'Drow.CANVASY = StyleList(CurIdx).CanvasY
|
||||
'Drow.DUMMY = StyleList(CurIdx).Dummy
|
||||
'Drow.DUMMYCNT = StyleList(CurIdx).DummyCnt
|
||||
'Drow.DUMMYTYPE = StyleList(CurIdx).Dummytype
|
||||
'Drow.DUMMMYX = StyleList(CurIdx).dummmyx
|
||||
'Drow.DUMMMYY = StyleList(CurIdx).dummmyy
|
||||
'Drow.LANDSCAPE = StyleList(CurIdx).LandScape
|
||||
'Drow.MARGINX = StyleList(CurIdx).MarginX
|
||||
'Drow.MARGINY = StyleList(CurIdx).MarginY
|
||||
'Drow.PICSTYLE = StyleList(CurIdx).picstyle
|
||||
'Drow.PRINTFONTOFFSET = StyleList(CurIdx).PrintFontOffset
|
||||
'Drow.PRINTBG = StyleList(CurIdx).Printbg
|
||||
'Drow.SCALEX = StyleList(CurIdx).ScaleX
|
||||
'Drow.SCALEY = StyleList(CurIdx).ScaleY
|
||||
'Drow.BAKX = StyleList(CurIdx).bakx
|
||||
'Drow.BAKY = StyleList(CurIdx).baky
|
||||
'Drow.BAKW = StyleList(CurIdx).bakw
|
||||
'Drow.BAKH = StyleList(CurIdx).bakh
|
||||
'Drow.VIEWIMAGE = StyleList(CurIdx).Viewimage
|
||||
'Drow.FILE = StyleList(CurIdx).File
|
||||
'Drow.FILTER = StyleList(CurIdx).Filter
|
||||
'Common.PDS(CurIdx).TStyle.AddTStyleRow(Drow) '//기본스타일 데이터 추가
|
||||
|
||||
'Console.WriteLine("File Read 4: " + wat.ElapsedMilliseconds.ToString() + "ms")
|
||||
'wat.Restart()
|
||||
|
||||
''//패턴정보 추가하기
|
||||
'For i As Integer = 1 To StyleList(CurIdx).PATTERNTABLE.Rows.Count
|
||||
' Dim PRow As DataRow = StyleList(CurIdx).PATTERNTABLE.Rows(i - 1)
|
||||
' Dim Nrow As PatternDS.TPatternRow = Common.PDS(CurIdx).TPattern.NewTPatternRow
|
||||
' Nrow.NAME = PRow("설명")
|
||||
' Nrow.Val = PRow("값")
|
||||
' Common.PDS(CurIdx).TPattern.AddTPatternRow(Nrow)
|
||||
'Next
|
||||
'Common.PDS(CurIdx).TPattern.AcceptChanges()
|
||||
|
||||
'Console.WriteLine("File Read 5: " + wat.ElapsedMilliseconds.ToString() + "ms")
|
||||
'wat.Stop()
|
||||
|
||||
End Sub
|
||||
|
||||
Public Function GetSpread(ByRef dv As DataView, ByVal row As Integer, ByVal col As Integer) As String
|
||||
Try
|
||||
If row >= dv.Count Then Return String.Empty
|
||||
Return dv(row)(col).ToString.Trim
|
||||
'Return Me.CustFP1_Sheet1.Cells(row, col).Value.ToString
|
||||
Catch ex As Exception
|
||||
Return ""
|
||||
End Try
|
||||
End Function
|
||||
Public Function GetSpread1(ByRef dv As DataView, ByVal col As Integer) As String 'QR QR
|
||||
Try
|
||||
Return dv(col).ToString.Trim
|
||||
'Return Me.CustFP1_Sheet1.Cells(row, col).Value.ToString
|
||||
Catch ex As Exception
|
||||
Return ""
|
||||
End Try
|
||||
End Function
|
||||
Public Function GetSpread(ByRef dv As DataView, ByVal row As Integer, ByVal colname As String) As String
|
||||
Try
|
||||
If row >= dv.Count Then Return String.Empty
|
||||
Return dv(row)(colname).ToString.Trim
|
||||
'Return Me.CustFP1_Sheet1.Cells(row, col).Value.ToString
|
||||
Catch ex As Exception
|
||||
Return ""
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Public Sub WLog(ByVal msg As String, ByVal fname As String)
|
||||
'//로그를 기록합니다.
|
||||
Dim FD As String = My.Application.Info.DirectoryPath & "\LOG"
|
||||
If Not Directory.Exists(FD) Then Directory.CreateDirectory(FD)
|
||||
Dim FS As FileStream = New FileStream(FD & fname, FileMode.Append)
|
||||
Dim SW As StreamWriter = New StreamWriter(FS, System.Text.Encoding.Default)
|
||||
SW.WriteLine(Now.TimeOfDay.ToString & ":" & msg)
|
||||
SW.Flush()
|
||||
SW.Close()
|
||||
FS.Close()
|
||||
End Sub
|
||||
Public Sub WLog2(ByVal enable As Boolean, ByVal msg As String, ByVal fname As String)
|
||||
'//로그를 기록합니다.
|
||||
If Not enable Then Return
|
||||
Dim FD As String = My.Application.Info.DirectoryPath & "\LOG"
|
||||
If Not Directory.Exists(FD) Then Directory.CreateDirectory(FD)
|
||||
Dim FS As FileStream = New FileStream(FD & fname, FileMode.Append)
|
||||
Dim SW As StreamWriter = New StreamWriter(FS, System.Text.Encoding.Default)
|
||||
SW.WriteLine(Now.TimeOfDay.ToString & ":" & msg)
|
||||
SW.Flush()
|
||||
SW.Close()
|
||||
FS.Close()
|
||||
End Sub
|
||||
Public Sub Log(ByVal msg As String)
|
||||
'//로그를 기록합니다.
|
||||
Dim FD As String = My.Application.Info.DirectoryPath & "\LOG"
|
||||
If Not Directory.Exists(FD) Then Directory.CreateDirectory(FD)
|
||||
Dim FS As FileStream = New FileStream(FD & "\log.txt", FileMode.Append)
|
||||
Dim SW As StreamWriter = New StreamWriter(FS, System.Text.Encoding.Default)
|
||||
SW.WriteLine(Now.TimeOfDay.ToString & ":" & msg)
|
||||
SW.Flush()
|
||||
SW.Close()
|
||||
FS.Close()
|
||||
End Sub
|
||||
|
||||
End Module
|
||||
Class XML
|
||||
Public Shared Sub SavePatterN(ByVal index As Short, ByVal name As String, ByVal val As String)
|
||||
'//변경을 시도하는데 데이터가 없다면 추가를 하게한다.
|
||||
Dim Dr() As DataRow = Common.PDS(index).TPattern.Select("설명='" & name & "'")
|
||||
If Dr.GetUpperBound(0) < 1 Then
|
||||
Dim NDR As PatternDS.TPatternRow = Common.PDS(index).TPattern.NewTPatternRow
|
||||
NDR.NAME = name
|
||||
NDR.Val = val
|
||||
Else
|
||||
Dr(0)("값") = val
|
||||
End If
|
||||
End Sub
|
||||
Public Shared Sub SaveChkBox(ByVal index As Short, ByVal name As String, ByVal val As Boolean)
|
||||
'//변경을 시도하는데 데이터가 없다면 추가를 하게한다.
|
||||
Dim Dr() As DataRow = Common.PDS(index).TCheckBox.Select("name='" & name & "'")
|
||||
If Dr.GetUpperBound(0) < 1 Then
|
||||
Dim NDR As PatternDS.TCheckBoxRow = Common.PDS(index).TCheckBox.NewTCheckBoxRow
|
||||
NDR.Name = name
|
||||
NDR.Val = val
|
||||
Else
|
||||
Dr(0)("val") = val
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
51
Epole.fp13/ETCLOGIN.vb
Normal file
@@ -0,0 +1,51 @@
|
||||
Public Class ETCLOGIN
|
||||
|
||||
' TODO: 제공된 사용자 이름과 암호를 사용하여 사용자 지정 인증을 수행하는 코드를 삽입합니다
|
||||
' (자세한 내용은 http://go.microsoft.com/fwlink/?LinkId=35339 참조).
|
||||
' 그러면 사용자 지정 보안 주체가 현재 스레드의 보안 주체에 다음과 같이 첨부될 수 있습니다.
|
||||
' My.User.CurrentPrincipal = CustomPrincipal
|
||||
' 여기서 CustomPrincipal은 인증을 수행하는 데 사용되는 IPrincipal이 구현된 것입니다.
|
||||
' 나중에 My.User는 CustomPrincipal 개체에 캡슐화된 사용자 이름, 표시 이름 등의
|
||||
' ID 정보를 반환합니다.
|
||||
Public PASS As String
|
||||
|
||||
Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
|
||||
If Me.PasswordTextBox.Text = "gorhkd" & Format(Now, "yyyyMMdd") Then
|
||||
Me.DialogResult = System.Windows.Forms.DialogResult.OK
|
||||
Me.Close()
|
||||
Else
|
||||
MsgBox("암호가 일치하지 않습니다", MsgBoxStyle.Critical, "확인")
|
||||
Me.PasswordTextBox.Focus()
|
||||
Me.PasswordTextBox.SelectAll()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click
|
||||
Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
|
||||
Me.Close()
|
||||
End Sub
|
||||
|
||||
Private Sub PasswordTextBox_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles PasswordTextBox.KeyDown
|
||||
If e.KeyCode = Keys.Enter Then
|
||||
|
||||
' MsgBox("gorhkd" & Format(Now, "yyyyMMdd"))
|
||||
If Me.PasswordTextBox.Text = "gorhkd" & Format(Now, "yyyyMMdd") Then
|
||||
|
||||
Me.DialogResult = System.Windows.Forms.DialogResult.OK
|
||||
Me.Close()
|
||||
Else
|
||||
MsgBox("암호가 일치하지 않습니다", MsgBoxStyle.Critical, "확인")
|
||||
Me.PasswordTextBox.Focus()
|
||||
Me.PasswordTextBox.SelectAll()
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub PasswordTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PasswordTextBox.TextChanged
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ETCLOGIN_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
700
Epole.fp13/Frm_Main.vb
Normal file
@@ -0,0 +1,700 @@
|
||||
Public Class Frm_Main
|
||||
Private Function Terminate() As Boolean
|
||||
Dim Msg As New System.Text.StringBuilder("프로그램을 종료하시겠습니까?")
|
||||
If MsgBox(Msg.ToString, MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "종료") = MsgBoxResult.Ok Then
|
||||
End
|
||||
Else
|
||||
Return True
|
||||
End If
|
||||
End Function
|
||||
|
||||
Private Sub MakeList_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
|
||||
Me.CHk_Modify()
|
||||
e.Cancel = Me.Terminate
|
||||
'If Not Me.IreaDataSet1.HasChanges Then Return '//변경된게 없으면 바로 나간다.
|
||||
'If MsgBox("변경된 데이터를 저장하시겠습니까?", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "저장확인") <> MsgBoxResult.Ok Then
|
||||
' Me.IreaDataSet1.RejectChanges()
|
||||
'Else
|
||||
' Try
|
||||
' Me.BindingSource1.EndEdit()
|
||||
' Me.ssableAdapter.Update(Me.IreaDataSet1.Maintable)
|
||||
' IreaDataSet1.AcceptChanges()
|
||||
' view1.ActiveSheet.GetDataView(True)
|
||||
' Catch ex As Exception
|
||||
' MsgBox("데이터베이스 업데이트중 오류가 발생했습니다" & vbCrLf & vbCrLf & ex.ToString, MsgBoxStyle.Critical, "ERROR")
|
||||
' Me.BindingSource1.CancelEdit()
|
||||
' IreaDataSet1.RejectChanges()
|
||||
' view1.ActiveSheet.GetDataView(True)
|
||||
' End Try
|
||||
'End If
|
||||
End Sub
|
||||
|
||||
Private Sub MakeList_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
|
||||
If e.KeyCode = Keys.F12 AndAlso e.Control Then
|
||||
If ETCLOGIN.ShowDialog = System.Windows.Forms.DialogResult.OK Then
|
||||
Me.bt_others.Visible = True
|
||||
IsPro = True
|
||||
Else
|
||||
IsPro = False
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub MakeList_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
|
||||
Me.view1.ASetting_Load(False)
|
||||
Me.Text = My.Application.Info.ProductName & " Ver. {0}.{1:00}.{2}.{3}"
|
||||
Me.Text = System.String.Format(Me.Text, My.Application.Info.Version.Major, My.Application.Info.Version.Minor, My.Application.Info.Version.Build, My.Application.Info.Version.Revision)
|
||||
|
||||
Me.view1.Font = New Font(ViewFont.FontName, ViewFont.FontSize, Me.Font.Style) '//글자정보 불러오기
|
||||
' Me.ToolStrip1.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
|
||||
Me.bn.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
|
||||
Me.StatusStrip1.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
|
||||
Me.Display_Data() '//데이터를 보여준다.
|
||||
Me.SETTOOLTIP()
|
||||
Me.SetFarPoint()
|
||||
End Sub
|
||||
Private Sub SETTOOLTIP()
|
||||
Dim TMSG As New System.Text.StringBuilder()
|
||||
TMSG.AppendLine()
|
||||
TMSG.AppendLine("더블클릭시에는 세부내역을 표시합니다")
|
||||
TMSG.AppendLine("[총수량] 은 세부내역의 갯수로 자동변경되므로 수정이 불가능합니다.")
|
||||
TMSG.AppendLine()
|
||||
TMSG.AppendLine("<단축키 : ENTER:다음칸 , SHIFT+TAB:이전칸 , ALT+ENTER:윗칸복사>")
|
||||
TMSG.AppendLine("<단축키 : DELETE:현재칸 지우기 , SHIFT+DELETE 현재줄 삭제>")
|
||||
TMSG.AppendLine("<단축키 : SPACE-BAR:현재칸 편집>")
|
||||
TMSG.AppendLine("<단축키 : CTRL + 마우스휠 : 화면크기를 조절합니다>")
|
||||
TMSG.AppendLine()
|
||||
Me.ToolTip1.SetToolTip(Me.view1, TMSG.ToString)
|
||||
|
||||
'TMSG = New System.Text.StringBuilder()
|
||||
'TMSG.AppendLine()
|
||||
'TMSG.AppendLine("데이터베이스의 내용을 다시 조회합니다.")
|
||||
'Me.bt_find.ToolTipText = TMSG.ToString
|
||||
'Me.ToolTip1.SetToolTip(Me.SortGroup1, TMSG.ToString)
|
||||
|
||||
'TMSG = New System.Text.StringBuilder()
|
||||
'TMSG.AppendLine()
|
||||
'TMSG.AppendLine("검색문자의 우선순위 : 숫자->영문자->한글")
|
||||
'TMSG.AppendLine(" ->0 은 000 보다 우선순위가 높습니다.")
|
||||
'Me.ToolTip1.SetToolTip(Me.SerchGroup1, TMSG.ToString)
|
||||
End Sub
|
||||
|
||||
Private Sub SetFarPoint()
|
||||
Me.view1.AEnterToNextItem()
|
||||
End Sub
|
||||
|
||||
Private Sub CHk_Modify(Optional ByVal prompt As Boolean = True)
|
||||
Dim Cnt As Integer = 0
|
||||
Me.bs.EndEdit()
|
||||
If Not Me.IreaDataSet1.HasChanges Then
|
||||
NOTICE("변경된 내용이 없습니다", Me.lb_msg)
|
||||
Return
|
||||
End If
|
||||
If prompt Then
|
||||
If MsgBox("변경된 데이터를 저장하시겠습니까?", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "저장확인") <> MsgBoxResult.Ok Then Return
|
||||
End If
|
||||
NOTICE("잠시만 기다려주세요...(적용하는중)", Color.Blue, Me.lb_msg)
|
||||
Me.Refresh()
|
||||
|
||||
Try
|
||||
Cnt = Me.TA_Main.Update(Me.IreaDataSet1.MainTable)
|
||||
Me.TA_JUNJU.Update(Me.IreaDataSet1.jjutable)
|
||||
Me.TA_ETC.Update(Me.IreaDataSet1.EtcTable)
|
||||
Me.TA_JIJUNG.Update(Me.IreaDataSet1.jjungtable)
|
||||
Me.TA_Cable2.Update(Me.IreaDataSet1.Detail_Cable2)
|
||||
Me.TA_CableLabel.Update(Me.IreaDataSet1.Detail_CableLabel)
|
||||
Me.TA_Cable.Update(Me.IreaDataSet1.Detail_Cable)
|
||||
Me.TA_Deung.Update(Me.IreaDataSet1.Detail_Deung)
|
||||
Me.TA_Karo.Update(Me.IreaDataSet1.Detail_karo)
|
||||
Me.TA_Kiki.Update(Me.IreaDataSet1.Detail_kiki)
|
||||
Me.IreaDataSet1.AcceptChanges()
|
||||
NOTICE(Cnt & "개의 데이터가 적용되었습니다", Color.Green, Me.lb_msg)
|
||||
Catch ex As Exception
|
||||
MsgBox("데이터베이스 변경중 오류가 발생했습니다" & vbCrLf & vbCrLf & ex.ToString, MsgBoxStyle.Critical, "ERROR-")
|
||||
Me.bs.CancelEdit()
|
||||
Me.IreaDataSet1.RejectChanges()
|
||||
NOTICE("적용오류 : " & ex.ToString, Color.Tomato, Me.lb_msg)
|
||||
End Try
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Public Sub Display_Data() '//뷰에데이터를 표시한다.
|
||||
NOTICE("데이터 조회중...", Me.lb_msg)
|
||||
Dim I As Integer = 0
|
||||
Me.TA_Main.Fill(Me.IreaDataSet1.MainTable)
|
||||
'Dim Dv As New DataView(Me.IreaDataSet1.Maintable, Me.SerchGroup1.GetWhere(False, False, False), Me.SortGroup1.GetSort(False), DataViewRowState.CurrentRows)
|
||||
|
||||
Me.bs.DataSource = Me.IreaDataSet1.MainTable 'Dv
|
||||
NOTICE(Me.view1.ActiveSheet.RowCount & "개의 목록이 검색되었습니다", Me.lb_msg)
|
||||
End Sub
|
||||
|
||||
Private Sub Delete_itm(Optional ByVal prompt As Boolean = True)
|
||||
|
||||
If Me.bs.Current Is Nothing Then Return
|
||||
|
||||
Dim DRv As DataRowView = bs.Current
|
||||
If DRv("id") <= 6 Then
|
||||
MsgBox("샘플데이터는 삭제할 수 없습니다", MsgBoxStyle.Information, "확인")
|
||||
Return
|
||||
End If
|
||||
|
||||
Dim V_Type As Int16
|
||||
Dim A As New System.Text.StringBuilder("경고 : 해당데이터와 하위데이터가 삭제됩니다")
|
||||
A.AppendLine()
|
||||
A.AppendLine("계속하시겠습니까?-취소불가")
|
||||
|
||||
If prompt Then
|
||||
If MsgBox(A.ToString, MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "삭제확인") <> MsgBoxResult.Ok Then Exit Sub
|
||||
End If
|
||||
|
||||
Dim DelIDX As Integer '//관리Id이다.
|
||||
With Me.view1
|
||||
DelIDX = .Cells(.ActiveRowindex, "ID").Value '//0번째값은 관리id이다
|
||||
V_Type = .Cells(.ActiveRowindex, "번호찰구분").Value
|
||||
End With
|
||||
|
||||
'MsgBox(DelIDX)
|
||||
'MsgBox(V_Type)
|
||||
|
||||
'Return
|
||||
|
||||
CHk_Modify(False)
|
||||
'Me.bs.RemoveCurrent() '//현재템을 삭제한다.
|
||||
'전주세부테이블에서 전부 죽인다.
|
||||
|
||||
Dim Cmd As New OleDbCommand("delete from 전주관리 where id=" & DelIDX, Me.TA_JUNJU.Connection)
|
||||
If Cmd.Connection.State <> ConnectionState.Open Then Cmd.Connection.Open()
|
||||
Cmd.ExecuteNonQuery()
|
||||
|
||||
Dim DelCnt As Integer = 0
|
||||
Select Case V_Type
|
||||
Case 0
|
||||
'Me.Text = "가공(일반) 가져오기"
|
||||
Cmd = New OleDbCommand("delete from 전주세부 where 관리id=" & DelIDX, Me.TA_JUNJU.Connection)
|
||||
If Cmd.Connection.State <> ConnectionState.Open Then Cmd.Connection.Open()
|
||||
Cmd.ExecuteNonQuery()
|
||||
|
||||
'Me.TA_JUNJU.Fill(Me.IreaDataSet1.jjutable, DelIDX)
|
||||
'Me.PRB1.Minimum = 0
|
||||
'If Me.IreaDataSet1.jjutable.Rows.Count > 0 Then
|
||||
' Me.PRB1.Maximum = Me.IreaDataSet1.jjutable.Rows.Count - 1
|
||||
' Me.PRB1.Value = 0
|
||||
' For Each Z As DataRow In Me.IreaDataSet1.jjutable.Rows
|
||||
' Z.Delete()
|
||||
' DelCnt += 1
|
||||
' If PRB1.Value < Me.PRB1.Maximum Then Me.PRB1.Value += 1
|
||||
' Next
|
||||
'End If
|
||||
'NOTICE(DelCnt & "개의 세부데이터가 삭제되었습니다", Color.Red, Me.lb_msg)
|
||||
Case 1
|
||||
'Me.Text = "지중(일반) 가져오기"
|
||||
Cmd = New OleDbCommand("delete from 지중세부 where 관리id=" & DelIDX, Me.TA_JUNJU.Connection)
|
||||
If Cmd.Connection.State <> ConnectionState.Open Then Cmd.Connection.Open()
|
||||
Cmd.ExecuteNonQuery()
|
||||
|
||||
Case 9
|
||||
'Me.Text = "중요수용 가져오기"
|
||||
Cmd = New OleDbCommand("delete from 기타세부 where 관리id=" & DelIDX, Me.TA_JUNJU.Connection)
|
||||
If Cmd.Connection.State <> ConnectionState.Open Then Cmd.Connection.Open()
|
||||
Cmd.ExecuteNonQuery()
|
||||
|
||||
Case 2
|
||||
'Me.Text = "정액등 가져오기"
|
||||
Cmd = New OleDbCommand("delete from Detail_Deung where 관리id=" & DelIDX, Me.TA_JUNJU.Connection)
|
||||
If Cmd.Connection.State <> ConnectionState.Open Then Cmd.Connection.Open()
|
||||
Cmd.ExecuteNonQuery()
|
||||
|
||||
|
||||
Case 4
|
||||
'Me.Text = "가공(기기) 가져오기"
|
||||
Cmd = New OleDbCommand("delete from 기기세부 where 관리id=" & DelIDX, Me.TA_JUNJU.Connection)
|
||||
If Cmd.Connection.State <> ConnectionState.Open Then Cmd.Connection.Open()
|
||||
Cmd.ExecuteNonQuery()
|
||||
|
||||
Case 6
|
||||
'Me.Text = "지중(맨홀표시찰및계통도) 가져오기"
|
||||
Cmd = New OleDbCommand("delete from Detail_cable where 관리id=" & DelIDX, Me.TA_JUNJU.Connection)
|
||||
If Cmd.Connection.State <> ConnectionState.Open Then Cmd.Connection.Open()
|
||||
Cmd.ExecuteNonQuery()
|
||||
|
||||
|
||||
Case 7
|
||||
'Me.Text = "지중(케이블표시라벨) 가져오기"
|
||||
Cmd = New OleDbCommand("delete from Detail_CableLabel where 관리id=" & DelIDX, Me.TA_JUNJU.Connection)
|
||||
If Cmd.Connection.State <> ConnectionState.Open Then Cmd.Connection.Open()
|
||||
Cmd.ExecuteNonQuery()
|
||||
|
||||
|
||||
|
||||
Case 8
|
||||
'Me.Text = "지중(기기표시찰) 가져오기"
|
||||
|
||||
Cmd = New OleDbCommand("delete from Detail_Cable2 where 관리id=" & DelIDX, Me.TA_JUNJU.Connection)
|
||||
If Cmd.Connection.State <> ConnectionState.Open Then Cmd.Connection.Open()
|
||||
Cmd.ExecuteNonQuery()
|
||||
|
||||
Case Else
|
||||
'Me.Text = "번호찰 가져오기(" & 관리구분 & ")"
|
||||
End Select
|
||||
Display_Data()
|
||||
End Sub
|
||||
|
||||
Private Sub CustFP1_ButtonClicked(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.EditorNotifyEventArgs) Handles view1.ButtonClicked
|
||||
Dim Active As Boolean = False
|
||||
With Me.view1
|
||||
|
||||
If e.Column = .ColIndex2("그림") Then '//그림연결메뉴이다
|
||||
'//가공번호찰만 그림연결을 한다.
|
||||
If IsPro = False Then
|
||||
MsgBox("이 기능은 더이상 사용할 수 없습니다", MsgBoxStyle.Critical, "확인")
|
||||
Else
|
||||
If .Cells("번호찰구분").Value = 0 Then '//번호찰 종류 0은 일반 9는 기타번호찰
|
||||
Dim A As New PicList(Me.view1.ActiveSheet.Cells(Me.view1.ActiveSheet.ActiveRowIndex, 0).Value)
|
||||
A.MdiParent = Me.ParentForm
|
||||
A.Show()
|
||||
Else '//
|
||||
NOTICE("그림연결은 [가공]번호찰만 가능합니다", Color.Red, Me.lb_msg)
|
||||
'MsgBox("지원되지 않는 기능입니다", MsgBoxStyle.Information, "확인")
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End With
|
||||
End Sub
|
||||
|
||||
Private Sub view_detail()
|
||||
CHk_Modify() '//변경여부를 묻늗느. 종료한다. 'qr코드 --가공일반만 적용됨
|
||||
|
||||
Dim Rowindex As Short = Me.view1.ActiveSheet.ActiveRow.Index
|
||||
Dim ID, NAME, BIGO, DAN, V_DATE, si, hom, kwan, kwan1, kwan2 As String
|
||||
Dim V_Type As Int16 = 0
|
||||
|
||||
|
||||
'//데이터를 가져온다.
|
||||
Dim Dr As System.Data.DataRowView = Me.bs.Current
|
||||
ID = Dr("ID") '.Cells(Rowindex, 0).Value
|
||||
|
||||
If Dr("날짜") Is DBNull.Value Then
|
||||
V_DATE = ""
|
||||
Else
|
||||
V_DATE = Dr("날짜") '.Cells(Rowindex, 4).Value
|
||||
End If
|
||||
|
||||
If Dr("거래처명") Is DBNull.Value Then
|
||||
NAME = ""
|
||||
Else
|
||||
NAME = Dr("거래처명") '.Cells(Rowindex, 4).Value
|
||||
End If
|
||||
|
||||
If Dr("비고") Is DBNull.Value Then
|
||||
BIGO = ""
|
||||
Else
|
||||
BIGO = Dr("비고") '.Cells(Rowindex, 4).Value
|
||||
End If
|
||||
|
||||
If Dr("단가") Is DBNull.Value Then
|
||||
DAN = ""
|
||||
Else
|
||||
DAN = Dr("단가") '.Cells(Rowindex, 4).Value
|
||||
End If
|
||||
|
||||
If Dr("시공자") Is DBNull.Value Then
|
||||
si = ""
|
||||
Else
|
||||
si = Dr("시공자") '.Cells(Rowindex, 4).Value
|
||||
End If
|
||||
|
||||
If Dr("홈페이지") Is DBNull.Value Then
|
||||
hom = ""
|
||||
Else
|
||||
hom = Dr("홈페이지") '.Cells(Rowindex, 4).Value
|
||||
End If
|
||||
|
||||
If Dr("관리") Is DBNull.Value Then
|
||||
kwan = ""
|
||||
Else
|
||||
kwan = Dr("관리") '.Cells(Rowindex, 4).Value
|
||||
End If
|
||||
|
||||
If Dr("관리1") Is DBNull.Value Then
|
||||
kwan1 = ""
|
||||
Else
|
||||
kwan1 = Dr("관리1") '.Cells(Rowindex, 4).Value
|
||||
End If
|
||||
|
||||
If Dr("관리2") Is DBNull.Value Then
|
||||
kwan2 = ""
|
||||
Else
|
||||
kwan2 = Dr("관리2") '.Cells(Rowindex, 4).Value
|
||||
End If
|
||||
|
||||
|
||||
V_Type = (Me.view1.ActiveSheet.Cells(Rowindex, 10).Value) '//번호찰 종류 0은 일반 9는 기타번호찰
|
||||
'MsgBox(V_Type)
|
||||
|
||||
If V_Type = 0 Then '//일반가공번호찰이다.
|
||||
' Dim A As New AddEpole(ID, V_DATE, NAME, BIGO, DAN, si, hom, kwan, kwan1, kwan2)
|
||||
Dim A As New AddEpole(ID, V_DATE, NAME, BIGO, DAN, si, hom, kwan, kwan1, kwan2)
|
||||
A.Show()
|
||||
ElseIf V_Type = 9 Then '//기타번호찰(현재로서는 고압중요수용표찰
|
||||
Dim A As New AddEpoleETC(ID, V_DATE, NAME, BIGO, DAN)
|
||||
A.Show()
|
||||
ElseIf V_Type = 1 Then '//지중번호찰(현재로서는 고압중요수용표찰
|
||||
Dim A As New AddEpoleJJ(ID, V_DATE, NAME, BIGO, DAN)
|
||||
A.Show()
|
||||
ElseIf V_Type = 2 Then '//정액등
|
||||
Dim A As New AddEpoleDung(ID, V_DATE, NAME, BIGO, DAN)
|
||||
A.Show()
|
||||
ElseIf V_Type = 4 Then '//기기용
|
||||
Dim A As New AddEpolekiki(ID, V_DATE, NAME, BIGO, DAN)
|
||||
A.Show()
|
||||
ElseIf V_Type = 6 Then '//지중(케이블)
|
||||
Dim A As New AddEpoleCable(ID, V_DATE, NAME, BIGO, DAN)
|
||||
A.Show()
|
||||
ElseIf V_Type = 8 Then '//지중(케이블)
|
||||
Dim A As New AddEpoleCable2(ID, V_DATE, NAME, BIGO, DAN)
|
||||
A.Show()
|
||||
ElseIf V_Type = 7 Then '//지중(케이블선로표시라벨)
|
||||
Dim A As New AddEpoleCableLabel(ID, V_DATE, NAME, BIGO, DAN)
|
||||
A.Show()
|
||||
End If
|
||||
'If A.ShowDialog = System.Windows.Forms.DialogResult.OK Then Me.bt_find.PerformClick()
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub CustFP1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles view1.KeyDown
|
||||
e.Handled = True
|
||||
e.SuppressKeyPress = False
|
||||
If e.Shift AndAlso e.KeyCode = Keys.Delete Then '/delete
|
||||
e.Handled = True
|
||||
Delete_itm(True)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub BindingNavigatorDeleteItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorDeleteItem.Click
|
||||
Delete_itm(True)
|
||||
End Sub
|
||||
|
||||
Private Sub bt_commit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_commit.Click
|
||||
If Not Me.IreaDataSet1.HasChanges Then
|
||||
NOTICE("변경된 데이터가 없습니다", Color.Red, Me.lb_msg)
|
||||
Return
|
||||
Else
|
||||
CHk_Modify()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub bt_cancel_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_cancel.Click
|
||||
If Not Me.IreaDataSet1.HasChanges Then
|
||||
NOTICE("변경된 데이터가 없습니다", Color.Red, Me.lb_msg)
|
||||
Return
|
||||
Else
|
||||
Me.IreaDataSet1.RejectChanges()
|
||||
NOTICE("변경된 데이터가 복원되었습니다", Color.Blue, Me.lb_msg)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
|
||||
Me.Close()
|
||||
End Sub
|
||||
Private Sub ToolStripButton6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton6.Click
|
||||
Delete_itm(True)
|
||||
End Sub
|
||||
|
||||
Private Sub ToolStripButton7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton7.Click
|
||||
CHk_Modify()
|
||||
End Sub
|
||||
|
||||
Private Sub ToolStripButton8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton8.Click
|
||||
If Not Me.IreaDataSet1.HasChanges Then
|
||||
NOTICE("변경된 데이터가 없습니다", Color.Red, Me.lb_msg)
|
||||
Return
|
||||
Else
|
||||
Me.IreaDataSet1.RejectChanges()
|
||||
NOTICE("변경된 데이터가 복원되었습니다", Color.Blue, Me.lb_msg)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub bt_close_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_close.Click
|
||||
Me.Close()
|
||||
End Sub
|
||||
|
||||
Private Sub view1_CellDoubleClick(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.CellClickEventArgs) Handles view1.CellDoubleClick
|
||||
view_detail()
|
||||
e.Cancel = True
|
||||
End Sub
|
||||
|
||||
Private Sub view1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles view1.Enter
|
||||
NOTICE("목록을 더블클릭하면 세부내역을 볼 수 있습니다", Me.lb_msg)
|
||||
End Sub
|
||||
|
||||
Private Sub view1_CellClick(ByVal sender As System.Object, ByVal e As FarPoint.Win.Spread.CellClickEventArgs) Handles view1.CellClick
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ToolStripButton9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_find.Click
|
||||
CHk_Modify() '//변경여부를 묻늗느. 종료한다.
|
||||
Display_Data()
|
||||
End Sub
|
||||
|
||||
Private Sub ToolStripButton9_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs)
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ToolStripButton11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ToolStripButton10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt5.Click
|
||||
Dim A() As DataRow = Me.IreaDataSet1.MainTable.Select(vbNullString, "ID desc")
|
||||
Dim MaxId As Integer
|
||||
Try
|
||||
MaxId = A(0)(0).ToString
|
||||
Catch ex As Exception
|
||||
MaxId = 0
|
||||
End Try
|
||||
Dim f As New AddEpoleETC(MaxId + 1)
|
||||
f.MdiParent = Me.ParentForm
|
||||
Select Case PoleEtcState.ToUpper 'picstate 는 ini 파일에 정의되어잇다
|
||||
Case "MAX"
|
||||
f.WindowState = FormWindowState.Maximized
|
||||
Case "MIN"
|
||||
f.WindowState = FormWindowState.Minimized
|
||||
Case Else
|
||||
f.WindowState = FormWindowState.Normal
|
||||
End Select
|
||||
f.Show() ' If f.ShowDialog = System.Windows.Forms.DialogResult.OK Then Me.bt_find.PerformClick()
|
||||
End Sub
|
||||
|
||||
'Private Function GetPAss2() As Boolean
|
||||
' If Admin Then Return True
|
||||
' Dim A As DialogResult = LoginForm2.ShowDialog
|
||||
' Dim TExt As String = LoginForm2.PasswordTextBox.Text
|
||||
' If A = System.Windows.Forms.DialogResult.OK Then
|
||||
' If TExt = "haegwang" Then
|
||||
' Return True
|
||||
' Else
|
||||
' Return False
|
||||
' End If
|
||||
' Else
|
||||
' Return False
|
||||
' End If
|
||||
|
||||
'End Function
|
||||
|
||||
Private Sub bt_jongak_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
|
||||
|
||||
Dim A() As DataRow = Me.IreaDataSet1.MainTable.Select(vbNullString, "ID desc")
|
||||
Dim MaxId As Integer
|
||||
Try
|
||||
MaxId = A(0)(0).ToString
|
||||
Catch ex As Exception
|
||||
MaxId = 0
|
||||
End Try
|
||||
Dim f As New AddEpoleDung(MaxId + 1)
|
||||
'f.MdiParent = Me.ParentForm
|
||||
'Select Case PoleEtcState.ToUpper 'picstate 는 ini 파일에 정의되어잇다
|
||||
' Case "MAX"
|
||||
' f.WindowState = FormWindowState.Maximized
|
||||
' Case "MIN"
|
||||
' f.WindowState = FormWindowState.Minimized
|
||||
' Case Else
|
||||
' f.WindowState = FormWindowState.Normal
|
||||
'End Select
|
||||
f.Show() ' If f.ShowDialog = System.Windows.Forms.DialogResult.OK Then Me.bt_find.PerformClick()
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub bt_savecolsize_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_savecolsize.Click
|
||||
Me.view1.ASetting_Save(False)
|
||||
End Sub
|
||||
|
||||
Private Sub bt_etcprog1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
|
||||
'XLSOldtonew.Show()
|
||||
End Sub
|
||||
|
||||
Private Sub bt_etcprog2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
|
||||
XLSSync.Show()
|
||||
End Sub
|
||||
|
||||
Private Sub mbt_configStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mbt_config.Click
|
||||
Config.ShowDialog()
|
||||
End Sub
|
||||
|
||||
Private Sub mbt_oldttonew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mbt_oldttonew.Click
|
||||
' If IsPro Then XLSOldtonew.Show()
|
||||
End Sub
|
||||
|
||||
Private Sub mbt_xlssync_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mbt_xlssync.Click
|
||||
If IsPro Then XLSSync.Show()
|
||||
End Sub
|
||||
|
||||
Private Sub mbt_writeauth_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mbt_writeauth.Click
|
||||
Dim auth As New MyAuth
|
||||
|
||||
Dim NewKey As String = InputBox("인증번호를 입력하세요 (인증번호는 숫자로만 이루어져 있습니다)")
|
||||
If IsNumeric(NewKey) = False Then
|
||||
MsgBox("프로그램을 재실행 하세요", MsgBoxStyle.Information, "확인")
|
||||
End
|
||||
End If
|
||||
auth.SetAuth(NewKey, My.Application.Info.DirectoryPath & "\epole.ini")
|
||||
MsgBox("프로그램을 재실행 하세요", MsgBoxStyle.Information, "확인")
|
||||
End
|
||||
End Sub
|
||||
|
||||
Private Sub bt_etc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt6.Click
|
||||
Dim A() As DataRow = Me.IreaDataSet1.MainTable.Select(vbNullString, "ID desc")
|
||||
Dim MaxId As Integer
|
||||
Try
|
||||
MaxId = A(0)(0).ToString
|
||||
Catch ex As Exception
|
||||
MaxId = 0
|
||||
End Try
|
||||
Dim f As New AddEpoleDung(MaxId + 1)
|
||||
'f.MdiParent = Me.ParentForm
|
||||
'Select Case PoleEtcState.ToUpper 'picstate 는 ini 파일에 정의되어잇다
|
||||
' Case "MAX"
|
||||
' f.WindowState = FormWindowState.Maximized
|
||||
' Case "MIN"
|
||||
' f.WindowState = FormWindowState.Minimized
|
||||
' Case Else
|
||||
' f.WindowState = FormWindowState.Normal
|
||||
'End Select
|
||||
f.Show() ' If f.ShowDialog = System.Windows.Forms.DialogResult.OK Then Me.bt_find.PerformClick()
|
||||
End Sub
|
||||
|
||||
Private Sub bt_aa_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_aa.Click
|
||||
AboutBox1.ShowDialog()
|
||||
End Sub
|
||||
|
||||
Private Sub BT11MenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT11.Click
|
||||
Dim A() As DataRow = Me.IreaDataSet1.MainTable.Select(vbNullString, "ID desc")
|
||||
Dim MaxId As Integer
|
||||
Try
|
||||
MaxId = A(0)(0).ToString
|
||||
Catch ex As Exception
|
||||
MaxId = 0
|
||||
End Try
|
||||
Dim f As New AddEpole(MaxId + 1)
|
||||
f.MdiParent = Me.ParentForm
|
||||
Select Case PoleState.ToUpper 'picstate 는 ini 파일에 정의되어잇다
|
||||
Case "MAX"
|
||||
f.WindowState = FormWindowState.Maximized
|
||||
Case "MIN"
|
||||
f.WindowState = FormWindowState.Minimized
|
||||
Case Else
|
||||
f.WindowState = FormWindowState.Normal
|
||||
End Select
|
||||
f.Show() 'Dialog()
|
||||
' If f.ShowDialog = System.Windows.Forms.DialogResult.OK Then Me.bt_find.PerformClick()
|
||||
End Sub
|
||||
|
||||
Private Sub BT12olStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT12.Click
|
||||
Dim A() As DataRow = Me.IreaDataSet1.MainTable.Select(vbNullString, "ID desc")
|
||||
Dim MaxId As Integer
|
||||
Try
|
||||
MaxId = A(0)(0).ToString
|
||||
Catch ex As Exception
|
||||
MaxId = 0
|
||||
End Try
|
||||
Dim f As New AddEpolekiki(MaxId + 1)
|
||||
f.MdiParent = Me.ParentForm
|
||||
Select Case PoleEtcState.ToUpper 'picstate 는 ini 파일에 정의되어잇다
|
||||
Case "MAX"
|
||||
f.WindowState = FormWindowState.Maximized
|
||||
Case "MIN"
|
||||
f.WindowState = FormWindowState.Minimized
|
||||
Case Else
|
||||
f.WindowState = FormWindowState.Normal
|
||||
End Select
|
||||
f.Show()
|
||||
End Sub
|
||||
|
||||
Private Sub ToolStripMenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem4.Click
|
||||
Dim A() As DataRow = Me.IreaDataSet1.MainTable.Select(vbNullString, "ID desc")
|
||||
Dim MaxId As Integer
|
||||
Try
|
||||
MaxId = A(0)(0).ToString
|
||||
Catch ex As Exception
|
||||
MaxId = 0
|
||||
End Try
|
||||
Dim f As New AddEpoleCable(MaxId + 1)
|
||||
f.MdiParent = Me.ParentForm
|
||||
|
||||
Select Case PoleState.ToUpper 'picstate 는 ini 파일에 정의되어잇다
|
||||
Case "MAX"
|
||||
f.WindowState = FormWindowState.Maximized
|
||||
Case "MIN"
|
||||
f.WindowState = FormWindowState.Minimized
|
||||
Case Else
|
||||
f.WindowState = FormWindowState.Normal
|
||||
End Select
|
||||
f.Show() 'Dialog()
|
||||
End Sub
|
||||
|
||||
Private Sub ToolStripMenuItem5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem5.Click
|
||||
Dim A() As DataRow = Me.IreaDataSet1.MainTable.Select(vbNullString, "ID desc")
|
||||
Dim MaxId As Integer
|
||||
Try
|
||||
MaxId = A(0)(0).ToString
|
||||
Catch ex As Exception
|
||||
MaxId = 0
|
||||
End Try
|
||||
Dim f As New AddEpoleCableLabel(MaxId + 1)
|
||||
f.MdiParent = Me.ParentForm
|
||||
|
||||
Select Case PoleState.ToUpper 'picstate 는 ini 파일에 정의되어잇다
|
||||
Case "MAX"
|
||||
f.WindowState = FormWindowState.Maximized
|
||||
Case "MIN"
|
||||
f.WindowState = FormWindowState.Minimized
|
||||
Case Else
|
||||
f.WindowState = FormWindowState.Normal
|
||||
End Select
|
||||
f.Show() 'Dialog()
|
||||
End Sub
|
||||
|
||||
Private Sub ToolStripMenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem3.Click
|
||||
Dim A() As DataRow = Me.IreaDataSet1.MainTable.Select(vbNullString, "ID desc")
|
||||
Dim MaxId As Integer
|
||||
Try
|
||||
MaxId = A(0)(0).ToString
|
||||
Catch ex As Exception
|
||||
MaxId = 0
|
||||
End Try
|
||||
Dim f As New AddEpoleJJ(MaxId + 1)
|
||||
f.MdiParent = Me.ParentForm
|
||||
|
||||
Select Case PoleState.ToUpper 'picstate 는 ini 파일에 정의되어잇다
|
||||
Case "MAX"
|
||||
f.WindowState = FormWindowState.Maximized
|
||||
Case "MIN"
|
||||
f.WindowState = FormWindowState.Minimized
|
||||
Case Else
|
||||
f.WindowState = FormWindowState.Normal
|
||||
End Select
|
||||
f.Show() 'Dialog()
|
||||
End Sub
|
||||
|
||||
Private Sub ToolStripMenuItem6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem6.Click
|
||||
Dim A() As DataRow = Me.IreaDataSet1.MainTable.Select(vbNullString, "ID desc")
|
||||
Dim MaxId As Integer
|
||||
Try
|
||||
MaxId = A(0)(0).ToString
|
||||
Catch ex As Exception
|
||||
MaxId = 0
|
||||
End Try
|
||||
Dim f As New AddEpoleCable2(MaxId + 1)
|
||||
f.MdiParent = Me.ParentForm
|
||||
|
||||
Select Case PoleState.ToUpper 'picstate 는 ini 파일에 정의되어잇다
|
||||
Case "MAX"
|
||||
f.WindowState = FormWindowState.Maximized
|
||||
Case "MIN"
|
||||
f.WindowState = FormWindowState.Minimized
|
||||
Case Else
|
||||
f.WindowState = FormWindowState.Normal
|
||||
End Select
|
||||
f.Show() 'Dialog()
|
||||
End Sub
|
||||
End Class
|
||||
17
Epole.fp13/MsgForm.vb
Normal file
@@ -0,0 +1,17 @@
|
||||
Public Class MsgForm
|
||||
|
||||
Private Sub bt_clearStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_clear.Click
|
||||
Me.RichTextBox1.Clear()
|
||||
End Sub
|
||||
|
||||
Private Sub bt_savelist_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_savelist.Click
|
||||
Dim SD As New SaveFileDialog
|
||||
SD.FileName = "log" & Format(Now, "yyyyMMdd") & ".txt"
|
||||
If SD.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then
|
||||
MsgBox("취소되었습니다", MsgBoxStyle.Critical, "사용자취소")
|
||||
Else
|
||||
Me.RichTextBox1.SaveFile(SD.FileName, RichTextBoxStreamType.PlainText)
|
||||
MsgBox("저장완료", MsgBoxStyle.Information, "확인")
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
35
Epole.fp13/My Project/AssemblyInfo.vb
Normal file
@@ -0,0 +1,35 @@
|
||||
Imports System
|
||||
Imports System.Reflection
|
||||
Imports System.Runtime.InteropServices
|
||||
|
||||
' 어셈블리의 일반 정보는 다음 특성 집합을 통해 제어됩니다.
|
||||
' 어셈블리와 관련된 정보를 수정하려면
|
||||
' 이 특성 값을 변경하십시오.
|
||||
|
||||
' 어셈블리 특성 값을 검토합니다.
|
||||
|
||||
<Assembly: AssemblyTitle("한전번호찰 통합프로그램")>
|
||||
<Assembly: AssemblyDescription("전주번호목록 작성 및 출력을 하는 프로그램")>
|
||||
<Assembly: AssemblyCompany("제공 : 해광기획")>
|
||||
<Assembly: AssemblyProduct("한전번호찰 통합프로그램(FP13)")>
|
||||
<Assembly: AssemblyCopyright("Copyright (C) SIMP 2019")>
|
||||
<Assembly: AssemblyTrademark("SIMP")>
|
||||
|
||||
<Assembly: ComVisible(False)>
|
||||
|
||||
'이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
|
||||
<Assembly: Guid("e9e36afe-eab6-4c3b-a22e-2bbb3d42e000")>
|
||||
|
||||
' 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
|
||||
'
|
||||
' 주 버전
|
||||
' 부 버전
|
||||
' 빌드 번호
|
||||
' 수정 버전
|
||||
'
|
||||
' 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 버전이 자동으로
|
||||
' 지정되도록 할 수 있습니다.
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("20.05.24.1600")>
|
||||
<Assembly: AssemblyFileVersion("20.05.24.1600")>
|
||||
1
Epole.fp13/My Project/licenses.licx
Normal file
@@ -0,0 +1 @@
|
||||
FarPoint.Win.Spread.FpSpread, FarPoint.Win.Spread, Version=13.45.20191.0, Culture=neutral, PublicKeyToken=327c3516b1b18457
|
||||
1430
Epole.fp13/NewFp.vb
Normal file
|
Before Width: | Height: | Size: 328 KiB After Width: | Height: | Size: 328 KiB |
|
Before Width: | Height: | Size: 693 B After Width: | Height: | Size: 693 B |
|
Before Width: | Height: | Size: 809 B After Width: | Height: | Size: 809 B |
|
Before Width: | Height: | Size: 1023 B After Width: | Height: | Size: 1023 B |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 715 B After Width: | Height: | Size: 715 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 590 B After Width: | Height: | Size: 590 B |
|
Before Width: | Height: | Size: 1017 B After Width: | Height: | Size: 1017 B |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 694 B After Width: | Height: | Size: 694 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 720 B After Width: | Height: | Size: 720 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 636 B After Width: | Height: | Size: 636 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1010 B After Width: | Height: | Size: 1010 B |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 680 B After Width: | Height: | Size: 680 B |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
278
Epole.fp13/SplashScreen.vb
Normal file
@@ -0,0 +1,278 @@
|
||||
Imports MyControlOLEDBv2
|
||||
|
||||
Public NotInheritable Class SplashScreen
|
||||
Dim install, installkey As Long
|
||||
Dim auth As New MyAuth
|
||||
'Dim Runcnt As Integer = 0
|
||||
'TODO: 프로젝트 디자이너에서 "프로젝트" 메뉴의 "속성"을 선택하여 표시된 "응용 프로그램" 탭에서
|
||||
' 이 폼을 응용 프로그램의 시작 화면으로 쉽게 설정할 수 있습니다.
|
||||
Private Sub SplashScreen1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
|
||||
'응용 프로그램의 어셈블리 정보에 따라 런타임에 대화 상자 텍스트를 설정합니다.
|
||||
'TODO: "프로젝트" 메뉴에서 선택하여 표시된 프로젝트 속성 대화 상자의 "응용 프로그램" 창에서 응용 프로그램의
|
||||
' 어셈블리 정보를 사용자 지정합니다.
|
||||
'응용 프로그램 제목
|
||||
My.Settings.Item("ireaConnectionString") = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + My.Application.Info.DirectoryPath & "\database\database.mdb"
|
||||
|
||||
If Command().ToUpper = "ARIN" Then Admin = True
|
||||
'MsgBox(My.Settings.ireaConnectionString)
|
||||
|
||||
If My.Application.Info.Title <> "" Then
|
||||
ApplicationTitle.Text = My.Application.Info.Title
|
||||
Else
|
||||
'응용 프로그램 제목이 없는 경우 확장명 없이 응용 프로그램 이름을 사용합니다.
|
||||
ApplicationTitle.Text = System.IO.Path.GetFileNameWithoutExtension(My.Application.Info.AssemblyName)
|
||||
End If
|
||||
Version.Text = System.String.Format(Version.Text, My.Application.Info.Version.Major, My.Application.Info.Version.Minor, My.Application.Info.Version.Build, My.Application.Info.Version.Revision)
|
||||
|
||||
'저작권 정보
|
||||
Copyright.Text = My.Application.Info.Copyright
|
||||
Me.Show()
|
||||
My.Application.DoEvents()
|
||||
|
||||
If Not LoadINI() Then End
|
||||
|
||||
'//인증사용안함 191125 -
|
||||
'If Command() <> "ARIN" AndAlso Not ReadAuth() Then '//에러났을떄는 카운터를 확인
|
||||
' '//사용횟수가 10번ㅇ르 초과했는지 확인
|
||||
' Runcnt = Me.ReadAuthcount
|
||||
' Dim f As New fAuth()
|
||||
' If (f.ShowDialog <> System.Windows.Forms.DialogResult.OK) Then
|
||||
' End
|
||||
' End If
|
||||
' 'If Runcnt >= 10 Then
|
||||
' ' Dim NewKey As String = InputBox("인증번호를 입력하세요 (인증번호는 숫자로만 이루어져 있습니다)")
|
||||
' ' If IsNumeric(NewKey) = False Then
|
||||
' ' MsgBox("프로그램을 재실행 하세요", MsgBoxStyle.Information, "확인")
|
||||
' ' End
|
||||
' ' End If
|
||||
' ' auth.SetAuth(NewKey, My.Application.Info.DirectoryPath & "\epole.ini")
|
||||
' ' MsgBox("프로그램을 재실행 하세요", MsgBoxStyle.Information, "확인")
|
||||
' ' End
|
||||
' 'Else
|
||||
' ' MsgBox(CStr(10 - Runcnt) & "번의 사용횟수가 남았습니다", MsgBoxStyle.Critical, "실행확인")
|
||||
' 'End If
|
||||
'End If
|
||||
If Not LoadReg() Then End
|
||||
If Not Connect() Then End
|
||||
Me.lb_msg.Text = ""
|
||||
|
||||
' LoginForm1.MdiParent = Main
|
||||
'LoginForm1.TopMost = True
|
||||
'LoginForm1.Show()
|
||||
Frm_Main.Show()
|
||||
Me.Dispose()
|
||||
'Me.Hide()
|
||||
|
||||
End Sub
|
||||
Private Function ReadAuthcount() As Integer
|
||||
Dim RunCnt As Integer = 0
|
||||
Dim ini As New MyINI2(My.Application.Info.DirectoryPath & "\epole.ini")
|
||||
Dim RegDate As String = ini.Read("main", "regdate2", "")
|
||||
Dim CurDate As String = Me.auth.GetDateNumberEnc(Today.AddDays(-10))
|
||||
If RegDate = "" Then '//등록일이없으면 10번카운터를 셋팅한다.
|
||||
RunCnt = 1
|
||||
ini.Write("main", "reg2", RunCnt) '//1일로한다.
|
||||
ini.Write("main", "regdate2", Me.auth.GetDateNumberEnc(Today)) '//1일로한다.
|
||||
Else
|
||||
'//상요자가 숫자를 임의로 고칠수있으니 설치된 날짜랑 오늘이랑 10일이상차이나면 횟수에상관없이 사용불가로한다.
|
||||
If CurDate > RegDate Then
|
||||
MsgBox("프로그램을 사용할 수 없습니다" & vbCrLf & "배포업체에 문의하세요", MsgBoxStyle.Information, "확인")
|
||||
Return 10
|
||||
End If
|
||||
RunCnt = ini.Read("main", "reg2", 10) '//없으면 10으로한다 즉 사용못하게하겠다는거다
|
||||
If RunCnt < 10 Then
|
||||
RunCnt += 1
|
||||
ini.Write("main", "reg2", RunCnt) '//1일로한다.
|
||||
End If
|
||||
End If
|
||||
If RunCnt >= 10 Then Return 10
|
||||
Return RunCnt
|
||||
End Function
|
||||
|
||||
Private Function ReadAuth() As Boolean
|
||||
If install = 0 OrElse installkey = 0 Then
|
||||
' MsgBox("인증정보가 존재하지 않습니다." & vbCrLf & vbCrLf & "홈페이지 [자료실] 에서 인증번호를 확인하세요" & vbCrLf & "062-382-0411" & vbCrLf & Common.HomePage, MsgBoxStyle.Critical, "확인")
|
||||
'Process.Start(HomePage)
|
||||
Return False
|
||||
End If
|
||||
|
||||
Dim 현재날짜값 As Long = auth.GetDateNumber(Now)
|
||||
|
||||
If 현재날짜값 > install Then
|
||||
' MsgBox("사용기간이 초과되었습니다." & vbCrLf & vbCrLf & "홈페이지 [자료실] 에서 인증번호를 확인하세요" & vbCrLf & "062-382-0411" & vbCrLf & Common.HomePage, MsgBoxStyle.Critical, "확인")
|
||||
'Process.Start(HomePage)
|
||||
Return False '//만기일을 초과했다면
|
||||
End If
|
||||
|
||||
'Dim FI As New System.IO.FileInfo(My.Application.Info.DirectoryPath & "\epole.ini")
|
||||
'If (auth.GetDateNumber(FI.LastAccessTimeUtc)) > Now.ToFileTimeUtc Then '//설정파일을 접근한 날짜가 오늘보다 크면 즉 오늘이 조작디었을경우다
|
||||
' ' MsgBox("사용기간이 초과되었습니다." & vbCrLf & vbCrLf & "홈페이지 [자료실] 에서 인증번호를 확인하세요" & vbCrLf & "062-382-0411" & vbCrLf & Common.HomePage, MsgBoxStyle.Critical, "확인")
|
||||
' 'Process.Start(HomePage)
|
||||
' Return False '//만기일을 초과했다면
|
||||
'End If
|
||||
|
||||
Dim 해쉬값 As Integer = install.GetHashCode()
|
||||
If installkey.ToString <> 해쉬값 Then '//인증정보가 손상되었다면
|
||||
' MsgBox("인증정보가 손상되었습니다" & vbCrLf & vbCrLf & "홈페이지 [자료실] 에서 인증번호를 확인하세요" & vbCrLf & "062-382-0411" & vbCrLf & Common.HomePage, MsgBoxStyle.Critical, "확인")
|
||||
'Process.Start(HomePage)
|
||||
Return False
|
||||
End If
|
||||
|
||||
Rundate = Date.FromFileTimeUtc(install)
|
||||
|
||||
Return True
|
||||
' MsgBox(auth.GetDateNumberEnc(Now))
|
||||
End Function
|
||||
|
||||
Private Sub SetAuth(ByVal NewDate As Date)
|
||||
Dim auth As New MyAuth
|
||||
Dim Arinini As New MyINI2(My.Application.Info.DirectoryPath & "\epole.ini")
|
||||
Arinini.Write("main", "install2", auth.GetDateNumber(NewDate))
|
||||
Arinini.Write("main", "installkey2", auth.GetDateNumberEnc(NewDate))
|
||||
|
||||
MsgBox("기록완료")
|
||||
End Sub
|
||||
|
||||
Private Function LoadINI() As Boolean
|
||||
|
||||
Me.lb_msg.Text = "환경설정 데이터를 읽어옵니다"
|
||||
Dim Arinini As New MyINI2(My.Application.Info.DirectoryPath & "\epole.ini")
|
||||
Dim buf() As String
|
||||
|
||||
If Not Arinini.Exist Then
|
||||
MsgBox("환경설정파일 EPOLE.INI 가 존재하지 않습니다" & vbCrLf & "[시작-설정-프로그램설정]을 다시 실행해주세요", MsgBoxStyle.Information, "환경설정오류")
|
||||
Arinini.Create()
|
||||
Return True
|
||||
End If
|
||||
Try
|
||||
Auto_Log = CType(Arinini.Read("MAIN", "log"), Boolean)
|
||||
Common.PICmanFile = Arinini.Read("MAIN", "PICMAN")
|
||||
Common.MakeState = Arinini.Read("main", "makestate")
|
||||
Common.PoleState = Arinini.Read("main", "polestate")
|
||||
Common.PoleEtcState = Arinini.Read("main", "poleetcstate")
|
||||
Common.PicState = Arinini.Read("main", "picstate")
|
||||
Common.NUMCOLOR = Arinini.Read("MAIN", "NUMCOLOR", True)
|
||||
SORTNULL = Arinini.Read("MAIN", "SortNull", True)
|
||||
buf = Arinini.Read("main", "viewfont", "굴림,9").Split(",")
|
||||
Common.ViewFont.FontName = buf(0)
|
||||
Common.ViewFont.FontSize = buf(1)
|
||||
|
||||
Me.install = Arinini.Read("main", "install2", 0)
|
||||
Me.installkey = Arinini.Read("main", "installkey2", 0)
|
||||
|
||||
buf = Arinini.Read("main", "menufont", "굴림,9").Split(",")
|
||||
Common.MenuFont.FontName = buf(0)
|
||||
Common.MenuFont.FontSize = buf(1)
|
||||
|
||||
buf = Arinini.Read("main", "formfont", "굴림,11").Split(",")
|
||||
Common.FormFont.FontName = buf(0)
|
||||
Common.FormFont.FontSize = buf(1)
|
||||
|
||||
Common.HelpWebSite = Arinini.Read("main", "helpweb")
|
||||
Common.HomePage = Arinini.Read("main", "homepage")
|
||||
Catch ex As Exception
|
||||
MsgBox("환경설정 파일을 불러올수 없습니다" & vbCrLf & vbCrLf & "오류메세지=" & ex.Message.ToString _
|
||||
& vbCrLf & "[시작-설정-프로그램설정]을 다시 실행해주세요", MsgBoxStyle.Critical, "오류")
|
||||
End Try
|
||||
Return True
|
||||
End Function
|
||||
Private Function LoadReg() As Boolean
|
||||
Me.lb_msg.Text = "레지스트리 데이터를 읽어옵니다"
|
||||
Me.Invalidate()
|
||||
Try
|
||||
|
||||
Catch ex As Exception
|
||||
MsgBox("레지스트리를 확인할 수 없습니다", MsgBoxStyle.Critical, "오류")
|
||||
End Try
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Private Function Connect() As Boolean
|
||||
Me.lb_msg.Text = "데이터베이스확인중..."
|
||||
If Not System.IO.File.Exists(DataBaseFile) Then Return False
|
||||
Dim Dbpath As String = My.Application.Info.DirectoryPath & "\database"
|
||||
Dim Dbini As New MyINI2(Dbpath & "\patch.ini")
|
||||
|
||||
' Return True
|
||||
|
||||
'//데이터베이스 버젼을 확인한다.
|
||||
Dim Cnn As New OleDbConnection(My.Settings.ireaConnectionString)
|
||||
Try
|
||||
Cnn.Open()
|
||||
Catch ex As Exception
|
||||
MsgBox("데이터베이스를 열수 없습니다", "데이터베이스 손상되었는지 사용중인지 확인하세요", "오류")
|
||||
Return False
|
||||
End Try
|
||||
If Cnn.State <> ConnectionState.Open Then
|
||||
MsgBox("데이터베이스를 열수 없습니다", "데이터베이스 손상되었는지 사용중인지 확인하세요", "오류")
|
||||
Return False
|
||||
End If
|
||||
|
||||
Dim Dbversion As Short = 0
|
||||
Dim ErrMsg As String = ""
|
||||
|
||||
Dim Cmd As New OleDbCommand("select version from dbinfo", Cnn)
|
||||
Try
|
||||
Dbversion = Cmd.ExecuteScalar
|
||||
Catch ex As OleDb.OleDbException
|
||||
Dbversion = 0
|
||||
ErrMsg = ex.Message.ToString
|
||||
End Try
|
||||
|
||||
If ErrMsg.IndexOf("dbinfo") >= 0 Then ''//테이블이 없을경우이다.
|
||||
Cmd = New OleDbCommand("create table dbinfo ( version number )", Cnn)
|
||||
Cmd.ExecuteNonQuery() '//테이블생성
|
||||
Cmd = New OleDbCommand("insert into dbinfo(version) values(0)", Cnn)
|
||||
Cmd.ExecuteNonQuery()
|
||||
Dbversion = 0
|
||||
End If
|
||||
|
||||
Cmd = New OleDbCommand("select count(*) from dbinfo", Cnn)
|
||||
Dim RowCnt As Short = Cmd.ExecuteScalar
|
||||
If RowCnt = 0 Then
|
||||
Cmd = New OleDbCommand("insert into dbinfo(version) values(0)", Cnn)
|
||||
Cmd.ExecuteNonQuery()
|
||||
End If
|
||||
|
||||
If Dbini.Exist = False Then
|
||||
MsgBox("데이터베이스 업데이트 파일이 없습니다")
|
||||
Return True
|
||||
End If
|
||||
Me.lb_msg.Text = "데이터베이스확인"
|
||||
|
||||
Dim MaxVersion As Short = Dbini.Read("db", "version", "0")
|
||||
For i As Short = Dbversion + 1 To MaxVersion '//순서대로 쿼리를 실행한다.
|
||||
'//파일을 불러와서 파일의 내용을 ; 만날때마다 실행한다.
|
||||
If System.IO.File.Exists(Dbpath & "\version" & i & ".sql") Then
|
||||
Dim Fs As New System.IO.FileStream(Dbpath & "\version" & i & ".sql", IO.FileMode.Open)
|
||||
Dim SR As New System.IO.StreamReader(Fs, System.Text.Encoding.Default)
|
||||
Dim Str As String = SR.ReadToEnd
|
||||
For Each Sql As String In Str.Split(";")
|
||||
If Sql.Trim <> "" Then
|
||||
Cmd = New OleDbCommand(Sql, Cnn)
|
||||
Try
|
||||
Cmd.ExecuteNonQuery() '//테이블생성
|
||||
Catch ex As Exception
|
||||
'//이부분은 나중에 메일로 보내도록한다.
|
||||
MsgBox("데이터베이스 업그레이드오류 버젼=" & i & vbCrLf & ex.Message.ToString & vbCrLf & Sql, MsgBoxStyle.Critical, "확인")
|
||||
End Try
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
Next
|
||||
|
||||
Cmd = New OleDbCommand("update dbinfo set version=" & MaxVersion, Cnn)
|
||||
Try
|
||||
Cmd.ExecuteNonQuery()
|
||||
Catch ex As Exception
|
||||
' MsgBox(ex.Message.ToString)
|
||||
End Try
|
||||
|
||||
|
||||
Cmd.Dispose()
|
||||
Cnn.Close()
|
||||
Cnn.Dispose()
|
||||
Return True
|
||||
|
||||
End Function
|
||||
End Class
|
||||
28
Epole.fp13/app.config
Normal file
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
</configSections>
|
||||
<connectionStrings>
|
||||
<add name="EpoleNet.My.MySettings.ireaConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\bin\Debug\DataBase\irea.mdb" providerName="System.Data.OleDb"/>
|
||||
</connectionStrings>
|
||||
<system.diagnostics>
|
||||
<sources>
|
||||
<!-- 이 섹션은 My.Application.Log의 로깅 구성을 정의합니다. -->
|
||||
<source name="DefaultSource" switchName="DefaultSwitch">
|
||||
<listeners>
|
||||
<add name="FileLog"/>
|
||||
<!-- 아래 섹션의 주석 처리를 제거하여 응용 프로그램 이벤트 로그에 씁니다. -->
|
||||
<!--<add name="EventLog"/>-->
|
||||
</listeners>
|
||||
</source>
|
||||
</sources>
|
||||
<switches>
|
||||
<add name="DefaultSwitch" value="Information"/>
|
||||
</switches>
|
||||
<sharedListeners>
|
||||
<add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter"/>
|
||||
<!-- 아래 섹션의 주석 처리를 제거하여 APPLICATION_NAME을 응용 프로그램 이름으로 바꾼 후 응용 프로그램 이벤트 로그에 씁니다. -->
|
||||
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
|
||||
</sharedListeners>
|
||||
</system.diagnostics>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/></startup></configuration>
|
||||
64
Epole.fp13/fAuth.vb
Normal file
@@ -0,0 +1,64 @@
|
||||
Public Class fAuth
|
||||
Private Sub fAuth_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
' Runcnt = Me.ReadAuthcount
|
||||
If Runcnt > 9 Then
|
||||
Button2.Text = "사용횟수초과(테스트사용불가)"
|
||||
Button2.Enabled = False
|
||||
End If
|
||||
Dim remain As Integer = 10 - Runcnt
|
||||
Label1.Text = String.Format(Label1.Text, remain)
|
||||
|
||||
End Sub
|
||||
Private Sub LinkLabel1_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
|
||||
Dim url As String = "http://haegwang.co.kr"
|
||||
Dim prc As New System.Diagnostics.Process()
|
||||
Dim si As New System.Diagnostics.ProcessStartInfo(url)
|
||||
prc.StartInfo = si
|
||||
prc.Start()
|
||||
End Sub
|
||||
|
||||
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
|
||||
DialogResult = System.Windows.Forms.DialogResult.OK
|
||||
End Sub
|
||||
|
||||
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
||||
Dim NewKey As String = TextBox1.Text.Trim()
|
||||
If NewKey.Trim() = "" Then
|
||||
TextBox1.Focus()
|
||||
TextBox1.SelectAll()
|
||||
Return
|
||||
End If
|
||||
|
||||
Dim textenc As New EnDec("HAEGWANGSIMP")
|
||||
Try
|
||||
Dim strdata As String = textenc.DecryptData(TextBox1.Text.Trim())
|
||||
Dim strbuf() As String = strdata.Split("|SIMP|")
|
||||
Dim datestr As String = strbuf(0)
|
||||
Dim datestrhash As String = strbuf(2)
|
||||
Dim hashcode As Integer = CInt(datestrhash)
|
||||
Dim dateHash As Integer = datestr.GetHashCode()
|
||||
|
||||
If datestr.GetHashCode() = hashcode Then
|
||||
Dim auth As New MyAuth
|
||||
Dim dateValue As Date = Date.Parse(datestr)
|
||||
auth.SetAuth(dateValue.ToFileTimeUtc(), My.Application.Info.DirectoryPath & "\epole.ini")
|
||||
MsgBox("프로그램을 재실행 하세요", MsgBoxStyle.Information, "확인")
|
||||
DialogResult = System.Windows.Forms.DialogResult.Cancel
|
||||
Else
|
||||
MsgBox("프로그램 인증값 오류, 인증키를 다시 입력하세요", MsgBoxStyle.Information, "확인")
|
||||
DialogResult = System.Windows.Forms.DialogResult.Cancel
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MsgBox("인증키 확인 중 오류 발생, 다시 시도하세요")
|
||||
TextBox1.Focus()
|
||||
TextBox1.SelectAll()
|
||||
Return
|
||||
End Try
|
||||
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
End Class
|
||||