솔루션에 fp5,fp13 포함

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

7
.gitignore vendored Normal file
View File

@@ -0,0 +1,7 @@
bin
debug
obj
*.user
*.v12
*.v11
.vs

853
Epole.fp13/Common.vb Normal file
View 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
View 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
View 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
View 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

View 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")>

View 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

File diff suppressed because it is too large Load Diff

View File

Before

Width:  |  Height:  |  Size: 328 KiB

After

Width:  |  Height:  |  Size: 328 KiB

View File

Before

Width:  |  Height:  |  Size: 693 B

After

Width:  |  Height:  |  Size: 693 B

View File

Before

Width:  |  Height:  |  Size: 809 B

After

Width:  |  Height:  |  Size: 809 B

View File

Before

Width:  |  Height:  |  Size: 1023 B

After

Width:  |  Height:  |  Size: 1023 B

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

Before

Width:  |  Height:  |  Size: 715 B

After

Width:  |  Height:  |  Size: 715 B

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 590 B

After

Width:  |  Height:  |  Size: 590 B

View File

Before

Width:  |  Height:  |  Size: 1017 B

After

Width:  |  Height:  |  Size: 1017 B

View File

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 694 B

After

Width:  |  Height:  |  Size: 694 B

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

View File

Before

Width:  |  Height:  |  Size: 720 B

After

Width:  |  Height:  |  Size: 720 B

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

Before

Width:  |  Height:  |  Size: 636 B

After

Width:  |  Height:  |  Size: 636 B

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1010 B

After

Width:  |  Height:  |  Size: 1010 B

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 680 B

After

Width:  |  Height:  |  Size: 680 B

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

278
Epole.fp13/SplashScreen.vb Normal file
View 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
View 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
View 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

Some files were not shown because too many files have changed in this diff Show More