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