QR코드에 색상 지정 가능

This commit is contained in:
chi
2019-05-03 21:10:44 +09:00
commit a0961a9a8b
260 changed files with 167684 additions and 0 deletions

819
Epole/입력폼/PicList.vb Normal file
View File

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