프로젝트

일반

사용자정보

개정판 6ba3e887

ID6ba3e8870d56f0ac8ebef6ed8ccaf0291cc3e57d
상위 b08338e3
하위 4a59a869

Gyusu 이(가) 6년 이상 전에 추가함

Add Files

차이점 보기:

DTI_PID/SPPIDConverter/CGembox.vb
1
Imports GemBox.Spreadsheet
2
Imports System.Drawing
3
Imports System.IO
4

  
5
Public Class CGembox
6

  
7
    Public _ExcelFile As ExcelFile
8
    Dim _Index_Cnt As Integer = 2
9
    Dim _LicenseKey As String = "EXK0-W4HZ-N518-IMEW"
10
    Sub New()
11
        setLicense()
12
    End Sub
13
    Private Sub setLicense()
14
        SpreadsheetInfo.SetLicense(_LicenseKey)
15
        _ExcelFile = New ExcelFile
16
        '   _ExcelFile = New ExcelFile
17
    End Sub
18

  
19
#Region "엑셀 공용 함수"
20
    Dim EXCEL_HEAD As Integer = 0
21
    Dim EXCEL_START As Integer = 1
22

  
23
    Function SaveFileFunc(ByVal mWorksheet As String, ByVal mPath As String, ByVal mDT As DataTable) As Boolean
24
        Try
25
            SetCell(_ExcelFile.Worksheets(mWorksheet).Rows(EXCEL_HEAD).Cells(0), "HEAD")
26
            SetCell(_ExcelFile.Worksheets(mWorksheet).Rows(EXCEL_START).Cells(0), "START")
27
            For mColcnt = 0 To mDT.Columns.Count - 1
28
                SetCell(_ExcelFile.Worksheets(mWorksheet).Rows(EXCEL_HEAD).Cells(mColcnt + 1), mDT.Columns(mColcnt).ColumnName)
29
            Next
30
            If mDT IsNot Nothing Then
31
                For mRowcnt = 0 To mDT.Rows.Count - 1
32
                    SetCell(_ExcelFile.Worksheets(mWorksheet).Rows(EXCEL_START + 1 + mRowcnt).Cells(0), String.Empty)
33
                    For mColcnt = 0 To mDT.Columns.Count - 1
34
                        SetCell(_ExcelFile.Worksheets(mWorksheet).Rows(EXCEL_START + mRowcnt).Cells(mColcnt + 1), mDT.Rows(mRowcnt).Item(mColcnt).ToString)
35
                    Next
36
                Next
37
            End If
38
            SetCell(_ExcelFile.Worksheets(mWorksheet).Rows(mDT.Rows.Count + EXCEL_START).Cells(0), "END")
39
            SetSaveFile(_ExcelFile, mPath)
40
        Catch ex As Exception
41
            Return False
42
        End Try
43
        Return True
44
    End Function
45

  
46
    Function LoadFileFunc() As DataSet
47
        Dim oDs As New DataSet
48
        '  Dim oExcelFile As New ExcelFile
49
        _TempExcel = New ExcelFile
50
        '    _TempFileName = DateTime.Now.Year & "_" & DateTime.Now.Month & "_" & DateTime.Now.Day & " " & DateTime.Now.Hour & "_" & DateTime.Now.Minute & "_" & DateTime.Now.Second
51
        For Each oSheet In _ExcelFile.Worksheets
52

  
53
            If oSheet.Name = _Sheet_Equipment Or
54
                oSheet.Name = _Sheet_EquipmentComponents Or
55
                oSheet.Name = _Sheet_Instrumentation Or
56
                oSheet.Name = _Sheet_Piping Then
57
                _TempExcel.Worksheets.AddCopy(oSheet.Name, oSheet)
58
                Dim oDt As New DataTable
59
                oDt.TableName = oSheet.Name
60

  
61
                Dim mFindHeadInt As Integer = 0 ' GetFindRow(_ExcelFile.Worksheets(msheetName), "HEAD")
62
                Dim mStartInt As Integer = 1 'GetFindRow(_ExcelFile.Worksheets(msheetName), "START")
63
                Dim mLastColInt As Integer = oSheet.CalculateMaxUsedColumns 'GetFindColumnCount(_ExcelFile.Worksheets(oSheet.Name), mFindHeadInt)
64

  
65
                Dim mInputColInt As Integer = 0
66
                If mFindHeadInt <> -1 Or mStartInt <> -1 Or mLastColInt <> -1 Then
67
                    For mCellcnt = 1 To mLastColInt
68
                        If _ExcelFile.Worksheets(oSheet.Name).Rows(mFindHeadInt).Cells(mCellcnt).Value <> "" Then
69
                            Dim oCheckColumnName As Boolean = False
70
                            For i = 0 To oDt.Columns.Count - 1
71
                                If oDt.Columns(i).ColumnName = _ExcelFile.Worksheets(oSheet.Name).Rows(mFindHeadInt).Cells(mCellcnt).Value Then
72
                                    oCheckColumnName = True
73
                                    Exit For
74
                                End If
75
                            Next
76
                            If oCheckColumnName = False Then
77
                                '/ 컬럼이름을 데이터테이블에 저장. 그리드뷰에 출력하기 위해서
78
                                Dim oCol As DataColumn = oDt.Columns.Add(_ExcelFile.Worksheets(oSheet.Name).Rows(mFindHeadInt).Cells(mCellcnt).Value)
79
                                oCol.Namespace = mCellcnt
80
                                mInputColInt = mCellcnt
81
                            End If
82
                        End If
83
                    Next
84

  
85
                    Dim oIndexCol As DataColumn = oDt.Columns.Add(_Column_Index)
86
                    oIndexCol.Namespace = mInputColInt
87
                    oIndexCol.ColumnMapping = MappingType.Hidden
88
                    '/END 열을 찾아서 START 부터 END 까지 데이터를 데이터테이블에 입력
89
                    Dim mFindEndInt As Integer = _ExcelFile.Worksheets(oSheet.Name).Rows.Count 'GetFindRow(_ExcelFile.Worksheets(oSheet.Name), " ")
90
                    For mRowcnt = 1 To mFindEndInt - 1
91
                        Try
92

  
93
                            Dim mDataRow As DataRow = oDt.NewRow
94
                            For mCellCnt = 1 To mLastColInt - 1
95
                                Try
96
                                    Dim oColName As String = _ExcelFile.Worksheets(oSheet.Name).Rows(mFindHeadInt).Cells(mCellCnt).Value
97
                                    If oColName <> Nothing Then
98

  
99
                                        Dim oValve As String = _ExcelFile.Worksheets(oSheet.Name).Rows(mRowcnt).Cells(mCellCnt).Value
100
                                        If oValve IsNot Nothing Then
101
                                            If oValve = "" Then
102
                                                mDataRow(oColName) = ""
103
                                            Else
104
                                                Dim sPreValue As String = mDataRow(oColName).ToString()
105

  
106
                                                If sPreValue <> "" Then
107
                                                    mDataRow(oColName) = sPreValue & "\" & oValve
108
                                                Else
109
                                                    mDataRow(oColName) = oValve
110
                                                End If
111
                                            End If
112
                                        Else
113
                                            If mDataRow(oColName) IsNot Nothing Then
114
                                                If mDataRow(oColName).ToString() = "" Then
115
                                                    mDataRow(oColName) = ""
116
                                                End If
117
                                            End If
118
                                        End If
119
                                    End If
120
                                Catch ex As Exception
121
                                End Try
122
                            Next
123
                            mDataRow(_Column_Index) = mRowcnt
124
                            If mDataRow("SYM FILE NAME").ToString() <> "" Then
125
                                oDt.Rows.Add(mDataRow)
126
                            End If
127
                        Catch ex As Exception
128
                        End Try
129
                    Next
130
                End If
131
                oDs.Tables.Add(oDt)
132
            End If
133
        Next
134
        Return oDs
135
    End Function
136

  
137
    Function AddImageLibrary(ByVal oDs As DataSet, ByVal oPIDSymbol_Dt As DataTable) As DataTable
138

  
139
        Dim oImageSymbol_Dt As DataTable = ImageSymbol_Dt()
140
        Dim iColcnt As Integer = 0
141
        Dim bCheckSheet As Boolean = False
142
        Dim oSymbolSheet As ExcelWorksheet = Nothing
143
        For Each oSheet As ExcelWorksheet In _ExcelFile.Worksheets
144
            If oSheet.Name = _Sheet_ImageSymbol Then
145
                bCheckSheet = True
146
                oSymbolSheet = oSheet
147
                oSymbolSheet.Clear()
148
                Exit For
149
            End If
150
        Next
151
        If bCheckSheet = False Then
152
            oSymbolSheet = _ExcelFile.Worksheets.Add(_Sheet_ImageSymbol)
153
        End If
154
        If oSymbolSheet IsNot Nothing Then
155
            For Each oDt As DataTable In oDs.Tables
156
                oSymbolSheet.Cells(0, iColcnt).Value = oDt.TableName
157
                oSymbolSheet.Columns(iColcnt).AutoFit()
158
                Dim oDataRows() As DataRow = oPIDSymbol_Dt.Select("category = '" & oDt.TableName & "'")
159
                Dim iRowcnt As Integer = 1
160
                For Each oRow In oDataRows
161
                    Dim sCategory As String = oRow("name").ToString()
162
                    oSymbolSheet.Cells(iRowcnt, iColcnt).Value = sCategory
163
                    iRowcnt = iRowcnt + 1
164
                Next
165
                Dim sStartCell As String = ConvertAlphabet(iColcnt) & 2
166
                Dim sEndCell As String = ConvertAlphabet(iColcnt) & iRowcnt
167

  
168
                Dim oAddRow As DataRow = oImageSymbol_Dt.NewRow()
169
                oAddRow(_Sheet_ImageSymbol_Type) = oDt.TableName
170
                oAddRow(_Sheet_ImageSymbol_StartCell) = sStartCell
171
                oAddRow(_Sheet_ImageSymbol_EndCell) = sEndCell
172
                oImageSymbol_Dt.Rows.Add(oAddRow)
173
                iColcnt = iColcnt + 1
174
            Next
175
        End If
176
        Return oImageSymbol_Dt
177
    End Function
178

  
179
    Function ConvertAlphabet(ByVal iCol As Integer) As String
180
        If iCol = 0 Then
181
            Return "A"
182
        ElseIf iCol = 1 Then
183
            Return "B"
184
        ElseIf iCol = 2 Then
185
            Return "C"
186
        ElseIf iCol = 3 Then
187
            Return "D"
188
        ElseIf iCol = 4 Then
189
            Return "E"
190
        ElseIf iCol = 5 Then
191
            Return "F"
192
        ElseIf iCol = 6 Then
193
            Return "G"
194
        ElseIf iCol = 7 Then
195
            Return "H"
196
        ElseIf iCol = 8 Then
197
            Return "I"
198
        ElseIf iCol = 9 Then
199
            Return "J"
200
        ElseIf iCol = 10 Then
201
            Return "K"
202
        ElseIf iCol = 11 Then
203
            Return "L"
204
        ElseIf iCol = 12 Then
205
            Return "M"
206
        ElseIf iCol = 13 Then
207
            Return "N"
208
        ElseIf iCol = 14 Then
209
            Return "O"
210
        ElseIf iCol = 15 Then
211
            Return "P"
212
        ElseIf iCol = 16 Then
213
            Return "Q"
214
        ElseIf iCol = 17 Then
215
            Return "R"
216
        ElseIf iCol = 18 Then
217
            Return "S"
218
        End If
219
        Return ""
220
    End Function
221

  
222

  
223
    Function SaveSymbolLibrary(ByVal oDt As DataTable, ByVal oImageSymbol_Dt As DataTable) As Boolean
224
        Dim oUpdateFlag As Boolean = True
225

  
226
        Dim mColumnCount As Integer = oDt.Columns.Count
227
        Try
228
            Dim sSheetName As String = oDt.TableName
229
            _ExcelFile.Worksheets(sSheetName).DataValidations.Clear()
230
            For Each oCol As DataColumn In oDt.Columns
231

  
232
                If IsNumeric(oCol.Namespace) Then
233
                    Dim sColindex As Integer = oCol.Namespace
234
                    Dim sExcelColName As String = _ExcelFile.Worksheets(sSheetName).Cells(0, sColindex).Value
235
                    Dim sColName As String = oCol.ColumnName
236
                    If sExcelColName <> sColName And sColName <> _Column_Index Then
237
                        _ExcelFile.Worksheets(sSheetName).Cells(0, sColindex).Value = sColName
238
                    End If
239
                End If
240
            Next
241
            Dim sAlphabet As String = ""
242
            Dim iLastRow As Integer = 0
243
            For j = 0 To oDt.Columns.Count - 1
244
                If oDt.Columns(j).ColumnName = _Column_ImageSymbol Then
245

  
246
                    Dim iColindex As Integer = -1
247
                    If IsNumeric(oDt.Columns(j - 1).Namespace) Then
248
                        iColindex = oDt.Columns(j - 1).Namespace + 1
249
                    End If
250
                    If iColindex > 0 Then
251
                        sAlphabet = ConvertAlphabet(iColindex)
252
                        _ExcelFile.Worksheets(sSheetName).Columns(iColindex).AutoFit()
253
                        For i = 0 To oDt.Rows.Count - 1
254
                            If IsNumeric(oDt.Rows(i)(_Column_Index).ToString()) Then
255
                                Dim iRowindex As Integer = oDt.Rows(i)(_Column_Index).ToString()
256
                                Dim sImgSymbolName As String = oDt.Rows(i)(_Column_ImageSymbol).ToString()
257

  
258
                                ' .ErrorMessage = "Value should be a date between 2011-01-01 and 2011-12-31."
259
                                iLastRow = iRowindex
260
                                _ExcelFile.Worksheets(sSheetName).Cells(iRowindex, iColindex).Value = sImgSymbolName
261
                                Dim oFindCell As DataRow() = oImageSymbol_Dt.Select("Type = '" & sSheetName & "'")
262
                                If oFindCell.Length = 1 Then
263
                                    Dim sStartcell As String = oFindCell(0)(_Sheet_ImageSymbol_StartCell).ToString()
264
                                    Dim sEndcell As String = oFindCell(0)(_Sheet_ImageSymbol_EndCell).ToString()
265
                                    _ExcelFile.Worksheets(sSheetName).DataValidations.Add(New DataValidation(_ExcelFile.Worksheets(sSheetName), sAlphabet & iLastRow + 1) With {
266
                                .Type = DataValidationType.List,
267
                                .Formula1 = "=" & _Sheet_ImageSymbol & "!" & sStartcell & ":" & sEndcell,
268
                                .InputMessageTitle = "Image Symbol 선택",
269
                                .InputMessage = "SPPID Symbol과 일치하는 ImageSymbol을 선택해주세요",
270
                                .ErrorStyle = DataValidationErrorStyle.Information,
271
                                .ErrorTitle = "Invalid Symbol"})
272
                                End If
273

  
274
                            End If
275
                        Next
276
                    End If
277

  
278

  
279
                End If
280

  
281
            Next
282

  
283
            'Dim oFindCell As DataRow() = oImageSymbol_Dt.Select("Type = '" & sSheetName & "'")
284
            'If oFindCell.Length = 1 Then
285
            '    Dim sStartcell As String = oFindCell(0)(_Sheet_ImageSymbol_StartCell).ToString()
286
            '    Dim sEndcell As String = oFindCell(0)(_Sheet_ImageSymbol_EndCell).ToString()
287
            '    _ExcelFile.Worksheets(sSheetName).DataValidations.Add(New DataValidation(_ExcelFile.Worksheets(sSheetName).Cells.GetSubrange(sAlphabet & "1", sAlphabet & iLastRow)) With {
288
            '.Type = DataValidationType.List,
289
            '.Formula1 = "=" & _Sheet_ImageSymbol & "!" & sStartcell & ":" & sEndcell,
290
            '.InputMessageTitle = "Image Symbol 선택",
291
            '.InputMessage = "SPPID Symbol과 일치하는 ImageSymbol을 선택해주세요",
292
            '.ErrorStyle = DataValidationErrorStyle.Information,
293
            '.ErrorTitle = "Invalid Symbol"})
294
            'End If
295

  
296
        Catch ex As Exception
297
        End Try
298
    End Function
299

  
300

  
301

  
302
    Function outputToExcelFile(ByVal mdt As DataTable, ByVal mReportSubject As String, ByVal mSavePath As String) As String
303
        '    Dim mExcelFile As New ExcelFile
304
        Try
305
            Dim mEwSheet As ExcelWorksheet = _ExcelFile.Worksheets.Add(mReportSubject)
306
            Dim mColumnCount As Integer = mdt.Columns.Count
307
            ' 제목
308
            mEwSheet.Cells.GetSubrangeAbsolute(0, 0, 0, mColumnCount - 2).Merged = True
309
            mEwSheet.Cells(0, 0).Style.Font.Size = 18 * 20
310
            mEwSheet.Cells(0, 0).Style.Font.Weight = ExcelFont.BoldWeight
311
            mEwSheet.Cells(0, 0).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center
312
            mEwSheet.Cells(0, 0).Style.VerticalAlignment = VerticalAlignmentStyle.Center
313

  
314
            mEwSheet.Cells(0, 0).Style.Borders.SetBorders(MultipleBorders.Outside, Color.Black, LineStyle.Thin)
315
            mEwSheet.Cells(0, 0).Value = mReportSubject
316
            Dim mDateTime As Date = DateTime.Now
317
            ' 날짜
318
            mEwSheet.Cells(0, mColumnCount - 1).Value = mDateTime.Year.ToString() + "-" + String.Format("{0:d2}", mDateTime.Month) + "-" + String.Format("{0:d2}", mDateTime.Day)
319
            mEwSheet.Cells(0, mColumnCount - 1).Style.HorizontalAlignment = HorizontalAlignmentStyle.Right
320
            mEwSheet.Cells(0, mColumnCount - 1).Style.Font.Size = 14 * 20
321
            mEwSheet.Cells(0, mColumnCount - 1).Style.Font.Weight = ExcelFont.BoldWeight
322
            mEwSheet.Cells(0, mColumnCount - 1).Style.Borders.SetBorders(MultipleBorders.Outside, Color.Black, LineStyle.Thin)
323

  
324
            '---------------------------------------------------------------
325
            ' 헤더 설정
326
            '--------------------------------------------------------------
327
            For i = 0 To mColumnCount - 1
328
                '--------------------------------------------------------------------------------
329
                '이름.
330
                '---------------------------------------------------------------------------------
331
                mEwSheet.Cells(1, i).Value = mdt.Columns(i).ToString()
332
                '---------------------------------------------------------------------------------
333
                ' 색깔.
334
                '---------------------------------------------------------------------------------
335
                mEwSheet.Cells(1, i).Style.FillPattern.SetSolid(Color.CornflowerBlue)
336
                '---------------------------------------------------------------------------------
337
                ' 글씨.
338
                '---------------------------------------------------------------------------------
339
                mEwSheet.Cells(1, i).Style.Font.Color = Color.White
340
                mEwSheet.Cells(1, i).Style.Font.Weight = ExcelFont.BoldWeight
341
                '---------------------------------------------------------------------------------
342
                ' 줄.
343
                '---------------------------------------------------------------------------------
344
                mEwSheet.Cells(1, i).Style.Borders.SetBorders(MultipleBorders.Outside, Color.Black, LineStyle.Thin)
345
                '---------------------------------------------------------------------------------
346
                ' 세로 정렬
347
                '---------------------------------------------------------------------------------
348
                mEwSheet.Cells(1, i).Style.VerticalAlignment = VerticalAlignmentStyle.Center
349
                '---------------------------------------------------------------------------------
350
                ' 가로 정렬
351
                '---------------------------------------------------------------------------------
352
                mEwSheet.Cells(1, i).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center
353
            Next
354
            '---------------------------------------------------------------
355
            ' 리포트 행 데이터 입력.
356
            '---------------------------------------------------------------
357
            Dim mblankRow As Integer = 2
358

  
359
            For i = 0 To mdt.Rows.Count - 1
360
                For j = 0 To mdt.Columns.Count - 1
361
                    ' 값 입력
362
                    mEwSheet.Cells(i + mblankRow, j).Value = mdt.Rows(i)(j).ToString()
363
                    '---------------------------------------------------------------------------------
364
                    ' 줄.
365
                    '---------------------------------------------------------------------------------
366
                    mEwSheet.Cells(i + mblankRow, j).Style.Borders.SetBorders(MultipleBorders.Outside, Color.Black, LineStyle.Thin)
367
                    '---------------------------------------------------------------------------------
368
                    ' 세로 정렬
369
                    '---------------------------------------------------------------------------------
370
                    mEwSheet.Cells(i + mblankRow, j).Style.VerticalAlignment = VerticalAlignmentStyle.Center
371
                    '---------------------------------------------------------------------------------
372
                    ' 가로 정렬
373
                    '---------------------------------------------------------------------------------
374
                    mEwSheet.Cells(i + mblankRow, j).Style.HorizontalAlignment = HorizontalAlignmentStyle.Left
375
                Next
376
            Next
377
            '---------------------------------------------------------------------------------
378
            ' 핏
379
            '---------------------------------------------------------------------------------
380
            For i = 0 To mColumnCount - 1
381
                mEwSheet.Columns(i).AutoFit()
382
            Next
383
            '---------------------------------------------------------------------------------
384
            ' 저장
385
            '---------------------------------------------------------------------------------
386
            SetSaveFile(_ExcelFile, mSavePath)
387

  
388
        Catch ex As Exception
389
            MsgBox(ex.Message, MsgBoxStyle.Critical)
390
            Return ""
391
        End Try
392
        Return mSavePath
393
    End Function
394

  
395

  
396
    'Function OutputToExcelFile(ByVal mUltragrid As UltraGrid, ByVal mReportSubject As String, ByVal mSavePath As String) As String
397
    '    Dim mExcelFile As New ExcelFile
398
    '    Try
399
    '        Dim mEwSheet As ExcelWorksheet = mExcelFile.Worksheets.Add(mReportSubject)
400
    '        Dim mColumnCount As Integer = mUltragrid.DisplayLayout.Bands(0).Columns.Count
401
    '        ' 제목 
402
    '        mEwSheet.Cells.GetSubrangeAbsolute(0, 0, 0, mColumnCount - 2).Merged = True
403
    '        mEwSheet.Cells(0, 0).Style.Font.Size = 18 * 20
404
    '        mEwSheet.Cells(0, 0).Style.Font.Weight = ExcelFont.BoldWeight
405
    '        mEwSheet.Cells(0, 0).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center
406
    '        mEwSheet.Cells(0, 0).Style.VerticalAlignment = VerticalAlignmentStyle.Center
407
    '        mEwSheet.Cells(0, 0).SetBorders(MultipleBorders.Outside, Color.Black, LineStyle.Thin)
408
    '        mEwSheet.Cells(0, 0).Value = mReportSubject
409
    '        Dim mDateTime As Date = DateTime.Now
410
    '        ' 날짜
411
    '        mEwSheet.Cells(0, mColumnCount - 1).Value = mDateTime.Year.ToString() + "-" + String.Format("{0:d2}", mDateTime.Month) + "-" + String.Format("{0:d2}", mDateTime.Day)
412
    '        mEwSheet.Cells(0, mColumnCount - 1).Style.HorizontalAlignment = HorizontalAlignmentStyle.Right
413
    '        mEwSheet.Cells(0, mColumnCount - 1).Style.Font.Size = 14 * 20
414
    '        mEwSheet.Cells(0, mColumnCount - 1).Style.Font.Weight = ExcelFont.BoldWeight
415
    '        mEwSheet.Cells(0, mColumnCount - 1).SetBorders(MultipleBorders.Outside, Color.Black, LineStyle.Thin)
416

  
417
    '        '---------------------------------------------------------------
418
    '        ' 헤더 설정
419
    '        '--------------------------------------------------------------
420
    '        For i = 0 To mColumnCount - 1
421
    '            '--------------------------------------------------------------------------------
422
    '            '이름.
423
    '            '---------------------------------------------------------------------------------
424
    '            mEwSheet.Cells(1, i).Value = mUltragrid.DisplayLayout.Bands(0).Columns(i).ToString()
425
    '            '---------------------------------------------------------------------------------
426
    '            ' 색깔.
427
    '            '---------------------------------------------------------------------------------
428
    '            mEwSheet.Cells(1, i).Style.FillPattern.SetSolid(Color.CornflowerBlue)
429
    '            '---------------------------------------------------------------------------------
430
    '            ' 글씨.
431
    '            '---------------------------------------------------------------------------------
432
    '            mEwSheet.Cells(1, i).Style.Font.Color = Color.White
433
    '            mEwSheet.Cells(1, i).Style.Font.Weight = ExcelFont.BoldWeight
434
    '            '---------------------------------------------------------------------------------
435
    '            ' 줄.
436
    '            '---------------------------------------------------------------------------------
437
    '            mEwSheet.Cells(1, i).SetBorders(MultipleBorders.Outside, Color.Black, LineStyle.Thin)
438
    '            '---------------------------------------------------------------------------------
439
    '            ' 세로 정렬
440
    '            '---------------------------------------------------------------------------------
441
    '            mEwSheet.Cells(1, i).Style.VerticalAlignment = VerticalAlignmentStyle.Center
442
    '            '---------------------------------------------------------------------------------
443
    '            ' 가로 정렬
444
    '            '---------------------------------------------------------------------------------
445
    '            mEwSheet.Cells(1, i).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center
446
    '        Next
447
    '        '---------------------------------------------------------------
448
    '        ' 리포트 행 데이터 입력.
449
    '        '---------------------------------------------------------------
450
    '        Dim mGridRow() As UltraGridRow = mUltragrid.Rows.GetFilteredInNonGroupByRows()
451
    '        Dim mblankRow As Integer = 2
452

  
453
    '        For i = 0 To mGridRow.Length - 1
454
    '            For j = 0 To mGridRow.Length - 1
455
    '                ' 값 입력
456
    '                mEwSheet.Cells(i + mblankRow, j).Value = mGridRow(i).Cells(j).ToString()
457

  
458
    '                '---------------------------------------------------------------------------------
459
    '                ' 셀 색.
460
    '                '---------------------------------------------------------------------------------
461
    '                If (mGridRow(i).Cells(j).Appearance.BackColor = Color.Empty) Then
462
    '                    mEwSheet.Cells(i + mblankRow, j).Style.FillPattern.SetSolid(Color.Transparent)
463
    '                Else
464
    '                    mEwSheet.Cells(i + mblankRow, j).Style.FillPattern.SetSolid(mGridRow(i).Cells(j).Appearance.BackColor)
465
    '                End If
466

  
467
    '                '---------------------------------------------------------------------------------
468
    '                ' 줄.
469
    '                '---------------------------------------------------------------------------------
470
    '                mEwSheet.Cells(i + mblankRow, j).SetBorders(MultipleBorders.Outside, Color.Black, LineStyle.Thin)
471
    '                '---------------------------------------------------------------------------------
472
    '                ' 세로 정렬
473
    '                '---------------------------------------------------------------------------------
474
    '                mEwSheet.Cells(i + mblankRow, j).Style.VerticalAlignment = VerticalAlignmentStyle.Center
475
    '                '---------------------------------------------------------------------------------
476
    '                ' 가로 정렬
477
    '                '---------------------------------------------------------------------------------
478
    '                mEwSheet.Cells(i + mblankRow, j).Style.HorizontalAlignment = HorizontalAlignmentStyle.Left
479
    '            Next
480
    '        Next
481
    '        '---------------------------------------------------------------------------------
482
    '        ' 핏
483
    '        '---------------------------------------------------------------------------------
484
    '        For i = 0 To mColumnCount - 1
485
    '            mEwSheet.Columns(i).AutoFit()
486
    '        Next
487
    '        '---------------------------------------------------------------------------------
488
    '        ' 저장
489
    '        '---------------------------------------------------------------------------------
490
    '        If (mSavePath.Contains(".xlsx")) Then
491
    '            mExcelFile.SaveXlsx(mSavePath)
492
    '        Else
493
    '            mExcelFile.SaveXls(mSavePath)
494
    '            System.Diagnostics.Process.Start(mSavePath)
495
    '        End If
496
    '    Catch ex As Exception
497
    '        MsgBox(ex.Message, MsgBoxStyle.Critical)
498
    '        Return ""
499
    '    End Try
500
    '    Return mSavePath
501
    'End Function
502

  
503
    '/엑셀파일 여러개 로드할때
504
    Function isLoadFile(ByVal mExcelFileList As List(Of ExcelFile), ByVal mFilepath() As String)
505
        Try
506
            mExcelFileList.Clear()
507
            For mcnt = 0 To mFilepath.Length - 1
508
                mExcelFileList.Add(New ExcelFile)
509
                _ExcelFile = GemBox.Spreadsheet.ExcelFile.Load(mFilepath(mcnt))
510
            Next
511
            Return True
512
        Catch ex As Exception
513
            MsgBox(ex.Message, MsgBoxStyle.Critical)
514
            Return False
515
        End Try
516
    End Function
517
    '/엑셀파일 하나만 로드할때
518
    Function isLoadFile(ByVal mFilepath As String) As Boolean
519
        Try
520
            _ExcelFile = GemBox.Spreadsheet.ExcelFile.Load(mFilepath)
521
            Return True
522
        Catch ex As Exception
523
            MsgBox(ex.Message, MsgBoxStyle.Critical)
524
            Return False
525
        End Try
526
    End Function
527
    '엑셀 파일 저장하기
528
    Function SetSaveFile(ByVal mExcelFile As ExcelFile, ByVal outputFilepath As String) As Boolean
529
        Try
530
            mExcelFile.Save(outputFilepath)
531

  
532
            Return True
533
        Catch ex As Exception
534
            MsgBox(ex.Message, MsgBoxStyle.Critical)
535
            Return False
536
        End Try
537
    End Function
538

  
539
    Function SetSaveFile(ByVal outputFilepath As String) As Boolean
540
        Try
541
            _ExcelFile.Save(outputFilepath)
542

  
543
            Return True
544
        Catch ex As Exception
545
            MsgBox(ex.Message, MsgBoxStyle.Critical)
546
            Return False
547
        End Try
548
    End Function
549
    '엑셀 셀 데이터 가져오기
550
    Function GetCellValue(ByVal mData As ExcelCell) As String
551
        If mData.Value Is Nothing Then
552
            Return String.Empty
553
        Else
554
            Return mData.Value.ToString
555
        End If
556
    End Function
557
    '엑셀 셀 데이터 소문자로 가져오기
558
    Function GetCellValueToLower(ByVal mData As ExcelCell) As String
559
        '소문자 변환
560
        Return GetCellValue(mData).ToLower
561
    End Function
562

  
563
    '검색스트링으로 엑셀파일 A(첫번째컬럼)의 Row찾기
564
    Function GetFindRow(ByVal mExcel As ExcelWorksheet, ByVal mName As String) As Integer
565
        For mCnt = 1 To mExcel.Rows.Count - 1
566
            If GetCellValueToLower(mExcel.Rows(mCnt).Cells(0)) = mName.ToLower Then
567
                Return mCnt
568
            End If
569
        Next
570
        Return -1
571
    End Function
572

  
573
    'row열에 해당하는 마지막 Interface(컬럼) 인덱스 가져오기
574

  
575
    Function GetFindColumnCount(ByVal mExcel As ExcelWorksheet, ByVal mRowCnt As Integer) As Integer
576
        If mRowCnt = -1 Then
577
            Return -1
578
        End If
579
        For mcnt = 1 To mExcel.CalculateMaxUsedColumns
580
            If GetCellValue(mExcel.Rows(mRowCnt).Cells(mcnt)) = String.Empty Then
581
                Return mcnt - 1
582
            End If
583
        Next
584
        Return -1
585
    End Function
586

  
587
    '검색스트링으로 row에 컬럼들중에서 스트링과 같은 문자열인 컬럼 인덱스 가져오기
588

  
589
    Function getFindColumnIndexFromColumnName(ByVal mExcel As ExcelWorksheet, ByVal mrowcnt As Integer, ByVal mData As String, ByVal mColumnCount As Integer) As Integer
590
        For mcnt = 1 To mColumnCount
591
            If GetCellValueToLower(mExcel.Rows(mrowcnt).Cells(mcnt)) = mData.ToLower Then
592
                Return mcnt
593
            End If
594
        Next
595
        Return -1
596
    End Function
597
    ' 검색스트링으로 row에 컬럼들중에서 스트링에 포함하는 컬럼 인덱스 가져오기
598
    '시작부터 돌면 = true, 끝에서 부터 돌면 = false
599

  
600
    Function getFindColumnIndexFormContainColumnName(ByVal mExcel As ExcelWorksheet, ByVal mRowcnt As Integer, ByVal mData As String, ByVal mColumnCount As Integer, ByVal IsStandardSearch As Boolean) As Integer
601
        If IsStandardSearch Then
602
            ' true이면 시작점 부터
603
            For mcnt = 1 To mColumnCount
604
                If GetCellValueToLower(mExcel.Rows(mRowcnt).Cells(mcnt)).StartsWith(mData.ToLower) Then
605
                    Return mcnt
606
                End If
607
            Next
608
        Else
609
            For mcnt = mColumnCount To 1 Step -1
610
                If GetCellValueToLower(mExcel.Rows(mRowcnt).Cells(mcnt)).StartsWith(mData.ToLower) Then
611
                    Return mcnt
612
                End If
613

  
614

  
615
            Next
616
        End If
617
        Return -1
618
    End Function
619
    '해당 Row가 빈행인지 확인
620
    Function isBlankCheck(ByVal mExcel As ExcelWorksheet, ByVal mrowcnt As Integer, ByVal mColumnCnt As Integer) As Boolean
621
        Dim mBlanckCheck As Boolean = True
622
        For mcnt = 0 To mColumnCnt
623
            If GetCellValue(mExcel.Rows(mrowcnt).Cells(mcnt)) <> String.Empty Then
624
                mBlanckCheck = False
625
            End If
626
        Next
627
        Return mBlanckCheck
628
    End Function
629

  
630
    '셀에 값넣기(가로, 세로 중앙 fit)
631
    Public Sub SetCell(ByVal mExcelCell As ExcelCell, ByVal mValue As String)
632
        mExcelCell.Value = mValue
633
        mExcelCell.Style.HorizontalAlignment = HorizontalAlignmentStyle.Center
634
        mExcelCell.Style.VerticalAlignment = VerticalAlignmentStyle.Center
635
    End Sub
636

  
637

  
638
    '셀에 값 넣기(가로, 세로 중앙fit + 글자 진하게)
639
    Public Sub SetCellBold(ByVal mExcelCell As ExcelCell, ByVal mValue As String)
640
        SetCell(mExcelCell, mValue)
641
        mExcelCell.Style.Font.Weight = ExcelFont.BoldWeight
642
    End Sub
643

  
644

  
645
    ' 셀에 값 넣기(가로, 세로 중앙fit + 셀 박스)
646
    Public Sub SetCellBox(ByVal mExcelCell As ExcelCell, ByVal mValue As String)
647
        SetCell(mExcelCell, mValue)
648
        mExcelCell.SetBorders(MultipleBorders.Outside, System.Drawing.Color.Black, LineStyle.Thin)
649
    End Sub
650

  
651
    '셀에 값 넣기(가로, 세로 중앙fit + 글자 진하게 + 셀 박스)
652
    Public Sub SetCellBoldAndBox(ByVal mExcelCell As ExcelCell, ByVal mValue As String)
653
        SetCellBold(mExcelCell, mValue)
654
        mExcelCell.SetBorders(MultipleBorders.Outside, System.Drawing.Color.Black, LineStyle.Thin)
655
    End Sub
656
#End Region
657

  
658
    Sub Init_Setting_Save_Piping_Material_Spec_Report(ByVal mEwSheet As ExcelWorksheet, ByVal mLastColumn As Integer,
659
                                                           ByVal mFirstRow As Integer, ByVal mValue As String, ByVal mHeaderName As String, ByVal mFirstColumn As Integer, ByVal mFontSize As Integer,
660
                                                           ByVal mRelativeCol As Integer)
661

  
662
        mEwSheet.Cells(mFirstRow, mRelativeCol).Style.Font.Size = mFontSize
663
        mEwSheet.Cells(mFirstRow, mRelativeCol).Style.Font.Weight = ExcelFont.BoldWeight
664
        mEwSheet.Cells(mFirstRow, mRelativeCol).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center
665
        mEwSheet.Cells(mFirstRow, mRelativeCol).Style.VerticalAlignment = VerticalAlignmentStyle.Center
666
        mEwSheet.Cells(mFirstRow, mRelativeCol).SetBorders(MultipleBorders.Outside, Color.Black, LineStyle.Thin)
667
        mEwSheet.Cells(mFirstRow, mRelativeCol).Style.FillPattern.SetSolid(Color.Orange)
668
        mEwSheet.Cells(mFirstRow, mRelativeCol).Value = mHeaderName
669
        mEwSheet.Cells.GetSubrangeAbsolute(mFirstRow, mFirstColumn, mFirstRow, mLastColumn).Merged = True
670
        mEwSheet.Cells(mFirstRow, mRelativeCol + 1).Style.Font.Size = mFontSize
671
        mEwSheet.Cells(mFirstRow, mRelativeCol + 1).Style.Font.Weight = ExcelFont.BoldWeight
672
        mEwSheet.Cells(mFirstRow, mRelativeCol + 1).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center
673
        mEwSheet.Cells(mFirstRow, mRelativeCol + 1).Style.VerticalAlignment = VerticalAlignmentStyle.Center
674
        mEwSheet.Cells(mFirstRow, mRelativeCol + 1).Style.FillPattern.SetSolid(Color.Orange)
675
        mEwSheet.Cells(mFirstRow, mRelativeCol + 1).SetBorders(MultipleBorders.Outside, Color.Black, LineStyle.Thin)
676

  
677
        mEwSheet.Cells(mFirstRow, mRelativeCol + 1).Value = mValue
678

  
679
        'For mcnt = 0 To mEwSheet.Columns.Count - 1
680
        '    mEwSheet.Columns(mcnt).AutoFit()
681
        'Next
682
    End Sub
683

  
684
    Function Index_Input(ByVal mName As String) As Boolean
685
        If _ExcelFile.Worksheets.Count = 0 Then
686
            Dim mEwSheet As ExcelWorksheet = _ExcelFile.Worksheets.Add("Index")
687
            mEwSheet.Cells(0, 0).Value = "!Index"
688
            Init_Setting_Save_Piping_Material_Spec_Report(mEwSheet, 1, 1, mName, "No", 1, 14 * 16, 1)
689
            Return True
690
        End If
691
        Return False
692
    End Function
693

  
694

  
695
    Sub Init_Main_Column(ByVal mEwSheet As ExcelWorksheet, ByVal mRowInt As Integer, ByVal mColInt As Integer,
696
                         ByVal mFontSize As Integer, ByVal mBold As Integer,
697
                         ByVal mHorizontalAlighment As Integer, ByVal mVerticalAlighment As Integer,
698
                         ByVal mOutsize As Integer, ByVal mOutsideColor As Color, ByVal mOutsideLine As Integer,
699
                         ByVal mFillpattern As Color, ByVal mValue As String)
700

  
701
        mEwSheet.Cells(mRowInt, mColInt).Style.Font.Size = mFontSize
702
        mEwSheet.Cells(mRowInt, mColInt).Style.Font.Weight = mBold
703
        mEwSheet.Cells(mRowInt, mColInt).Style.HorizontalAlignment = mHorizontalAlighment
704
        mEwSheet.Cells(mRowInt, mColInt).Style.VerticalAlignment = mVerticalAlighment
705
        mEwSheet.Cells(mRowInt, mColInt).SetBorders(mOutsize, mOutsideColor, mOutsideLine)
706
        mEwSheet.Cells(mRowInt, mColInt).Style.FillPattern.SetSolid(mFillpattern)
707
        mEwSheet.Cells(mRowInt, mColInt).Value = mValue
708
        mEwSheet.Columns(mColInt).AutoFit()
709
    End Sub
710

  
711
    Sub Excel_Report_GRIDVIEW_Input(ByVal mHeaderInt As Integer, ByVal mUltragrid As DataGridView, ByVal mEwSheet As ExcelWorksheet)
712
        Dim mRowcnt As Integer = mUltragrid.Rows.Count
713
        Dim mColCnt As Integer = mUltragrid.Columns.Count
714
        Dim mMainHeadercnt As Integer = mHeaderInt
715
        '---------------------------------------------------------------
716
        ' 헤더 설정
717
        '--------------------------------------------------------------
718
        For i = 0 To mColCnt - 1
719
            '--------------------------------------------------------------------------------
720
            '이름.
721
            '---------------------------------------------------------------------------------
722
            mEwSheet.Cells(mMainHeadercnt, i).Value = mUltragrid.Columns(i).ToString()
723
            '---------------------------------------------------------------------------------
724
            ' 색깔.
725
            '---------------------------------------------------------------------------------
726
            mEwSheet.Cells(mMainHeadercnt, i).Style.FillPattern.SetSolid(Color.CornflowerBlue)
727
            '---------------------------------------------------------------------------------
728
            ' 글씨.
729
            '---------------------------------------------------------------------------------
730
            mEwSheet.Cells(mMainHeadercnt, i).Style.Font.Color = Color.White
731
            mEwSheet.Cells(mMainHeadercnt, i).Style.Font.Weight = ExcelFont.BoldWeight
732
            '---------------------------------------------------------------------------------
733
            ' 줄.
734
            '---------------------------------------------------------------------------------
735
            mEwSheet.Cells(mMainHeadercnt, i).Style.Borders.SetBorders(MultipleBorders.Outside, Color.Black, LineStyle.Thin)
736
            '---------------------------------------------------------------------------------
737
            ' 세로 정렬
738
            '---------------------------------------------------------------------------------
739
            mEwSheet.Cells(mMainHeadercnt, i).Style.VerticalAlignment = VerticalAlignmentStyle.Center
740
            '---------------------------------------------------------------------------------
741
            ' 가로 정렬
742
            '---------------------------------------------------------------------------------
743
            mEwSheet.Cells(mMainHeadercnt, i).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center
744
        Next
745
        mMainHeadercnt += 1
746
        '---------------------------------------------------------------
747
        ' 리포트 행 데이터 입력.
748
        '---------------------------------------------------------------
749
        '   Dim mGridRow() As UltraGridRow = mUltragrid.Rows.GetFilteredInNonGroupByRows()
750

  
751
        ' Dim mblankRow As Integer = 2
752

  
753
        For i = 0 To mRowcnt - 1
754
            For j = 0 To mColCnt - 1
755
                Try
756
                    mEwSheet.Cells(mMainHeadercnt, j).Value = mUltragrid.Rows(i).Cells(j).Value
757

  
758
                    '---------------------------------------------------------------------------------
759
                    ' 셀 색.
760
                    '---------------------------------------------------------------------------------
761
                    If (mUltragrid.Rows(i).Cells(j).Style.BackColor = Color.Empty) Then
762
                        mEwSheet.Cells(mMainHeadercnt, j).Style.FillPattern.SetSolid(Color.Transparent)
763
                    Else
764
                        mEwSheet.Cells(mMainHeadercnt, j).Style.FillPattern.SetSolid(mUltragrid.Rows(i).Cells(j).Style.BackColor)
765
                    End If
766

  
767
                    '---------------------------------------------------------------------------------
768
                    ' 줄.
769
                    '---------------------------------------------------------------------------------
770
                    mEwSheet.Cells(mMainHeadercnt, j).Style.Borders.SetBorders(MultipleBorders.None, Color.Black, LineStyle.None)
771
                    '---------------------------------------------------------------------------------
772
                    ' 세로 정렬
773
                    '---------------------------------------------------------------------------------
774
                    mEwSheet.Cells(mMainHeadercnt, j).Style.VerticalAlignment = VerticalAlignmentStyle.Center
775
                    '---------------------------------------------------------------------------------
776
                    ' 가로 정렬
777
                    '---------------------------------------------------------------------------------
778
                    mEwSheet.Cells(mMainHeadercnt, j).Style.HorizontalAlignment = HorizontalAlignmentStyle.Left
779
                Catch ex As Exception
780

  
781
                End Try
782
                ' 값 입력
783

  
784
            Next
785
            mMainHeadercnt += 1
786
        Next
787
        '---------------------------------------------------------------------------------
788
        ' 핏
789
        '---------------------------------------------------------------------------------
790
        For i = 0 To mColCnt - 1
791
            mEwSheet.Columns(i).AutoFit()
792
        Next
793

  
794
    End Sub
795

  
796

  
797

  
798
    Sub Excel_Report_Datatable_Input(ByVal mHeaderInt As Integer, ByVal mdt As DataTable, ByVal mEwSheet As ExcelWorksheet)
799

  
800
        Dim mRowcnt As Integer = mdt.Rows.Count
801
        Dim mColCnt As Integer = mdt.Columns.Count
802
        '---------------------------------------------------------------
803
        '  SpecName 설정
804
        '--------------------------------------------------------------
805
        Dim mMainHeadercnt As Integer = mHeaderInt
806
        '---------------------------------------------------------------
807
        ' 헤더 설정
808
        '--------------------------------------------------------------
809
        For i = 0 To mColCnt - 1
810
            '--------------------------------------------------------------------------------
811
            '이름.
812
            '---------------------------------------------------------------------------------
813
            mEwSheet.Cells(mMainHeadercnt, i).Value = mdt.Columns(i).ToString()
814
            '---------------------------------------------------------------------------------
815
            ' 색깔.
816
            '---------------------------------------------------------------------------------
817
            mEwSheet.Cells(mMainHeadercnt, i).Style.FillPattern.SetSolid(Color.Purple)
818
            '---------------------------------------------------------------------------------
819
            ' 글씨.
820
            '---------------------------------------------------------------------------------
821
            mEwSheet.Cells(mMainHeadercnt, i).Style.Font.Color = Color.White
822
            mEwSheet.Cells(mMainHeadercnt, i).Style.Font.Weight = ExcelFont.BoldWeight
823
            '---------------------------------------------------------------------------------
824
            ' 줄.
825
            '---------------------------------------------------------------------------------
826
            mEwSheet.Cells(mMainHeadercnt, i).Style.Borders.SetBorders(MultipleBorders.Outside, Color.Black, LineStyle.Thin)
827
            '---------------------------------------------------------------------------------
828
            ' 세로 정렬
829
            '---------------------------------------------------------------------------------
830
            mEwSheet.Cells(mMainHeadercnt, i).Style.VerticalAlignment = VerticalAlignmentStyle.Center
831
            '---------------------------------------------------------------------------------
832
            ' 가로 정렬
833
            '---------------------------------------------------------------------------------
834
            mEwSheet.Cells(mMainHeadercnt, i).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center
835
            mEwSheet.Columns(i).AutoFit()
836
        Next
837
        mMainHeadercnt += 1
838
        '---------------------------------------------------------------
839
        ' 리포트 행 데이터 입력.
840
        '---------------------------------------------------------------
841
        '    Dim mblankRow As Integer = 2
842

  
843
        For i = 0 To mdt.Rows.Count - 1
844
            For j = 0 To mdt.Columns.Count - 1
845
                'If j = 0 Then
846
                '    mEwSheet.Cells(mMainHeadercnt, j).Value = i + 1
847
                'Else
848
                '    ' 값 입력
849
                '    mEwSheet.Cells(mMainHeadercnt, j).Value = mdt.Rows(i)(j).ToString()
850
                '    '---------------------------------------------------------------------------------
851
                'End If
852

  
853
                ' 값 입력
854
                mEwSheet.Cells(mMainHeadercnt, j).Value = mdt.Rows(i)(j).ToString()
855

  
856
                ' 줄.
857
                '---------------------------------------------------------------------------------
858
                mEwSheet.Cells(mMainHeadercnt, i).Style.Borders.SetBorders(MultipleBorders.Outside, Color.Black, LineStyle.Thin)
859
                '---------------------------------------------------------------------------------
860
                ' 세로 정렬
861
                '---------------------------------------------------------------------------------
862
                mEwSheet.Cells(mMainHeadercnt, j).Style.VerticalAlignment = VerticalAlignmentStyle.Center
863
                '---------------------------------------------------------------------------------
864
                ' 가로 정렬
865
                '---------------------------------------------------------------------------------
866
                mEwSheet.Cells(mMainHeadercnt, j).Style.HorizontalAlignment = HorizontalAlignmentStyle.Left
867
                mEwSheet.Columns(j).AutoFit()
868
            Next
869
            mMainHeadercnt += 1
870
        Next
871
        '---------------------------------------------------------------------------------
872
        ' 핏
873
        '---------------------------------------------------------------------------------
874
        'For i = 0 To mColCnt - 1
875
        '    mEwSheet.Columns(i).AutoFit()
876
        'Next
877
    End Sub
878

  
879
    Sub HyperLink(ByVal mEwSheet As ExcelWorksheet)
880
        '-----------------------------------------
881
        ' 하이퍼 링크
882
        '----------------------------------------
883
        mEwSheet.Cells("A1").Value = "!index"
884
        mEwSheet.Cells("A1").Style.Font.UnderlineStyle = UnderlineStyle.Single
885
        mEwSheet.Cells("A1").Style.Font.Color = Color.Blue
886
        mEwSheet.Cells("A1").Hyperlink.Location = ("Index" & "!A1")
887
        Init_Setting_Save_Piping_Material_Spec_Report(_ExcelFile.Worksheets(0), 1, _Index_Cnt, mEwSheet.Name, _Index_Cnt - 1, 1, 14 * 16, 1)
888
        '_ExcelFile.Worksheets(0).Cells("A" & _Index_Cnt).Value = _Index_Cnt - 1
889
        _ExcelFile.Worksheets(0).Cells("B" & _Index_Cnt + 1).Style.Font.UnderlineStyle = UnderlineStyle.Single
890
        _ExcelFile.Worksheets(0).Cells("B" & _Index_Cnt + 1).Style.Font.Color = Color.Blue
891
        _ExcelFile.Worksheets(0).Cells("B" & _Index_Cnt + 1).Hyperlink.Location = (mEwSheet.Name & "!A1")
892
        _ExcelFile.Worksheets(0).Columns(1).Width = 5000
893
        '_ExcelFile.Worksheets(0).Cells("B" & _Index_Cnt).Value = mEwSheet.Name
894
        _ExcelFile.Worksheets(0).Cells("C" & _Index_Cnt + 1).Style.Font.UnderlineStyle = UnderlineStyle.Single
895
        _ExcelFile.Worksheets(0).Cells("C" & _Index_Cnt + 1).Style.Font.Color = Color.Blue
896
        _ExcelFile.Worksheets(0).Cells("C" & _Index_Cnt + 1).Hyperlink.Location = (mEwSheet.Name & "!A1")
897
        _ExcelFile.Worksheets(0).Columns(2).Width = 9000
898
        '   _ExcelFile.Worksheets(0).Columns(1).AutoFit()
899
        _Index_Cnt += 1
900
    End Sub
901

  
902

  
903

  
904

  
905

  
906

  
907

  
908
End Class
909

  
910

  
DTI_PID/SPPIDConverter/Drawing.vb
1
Public Class Drawing
2

  
3
    Private _DWGNAME As String = ""
4
    Private _SIZE As String = ""
5
    Private _UNIT As String = ""
6
    Private _LINE_NO As List(Of Line_no)
7
    Private _TRIM_LINE_NO As List(Of Line_no)
8
    Private _EQP_NO As List(Of Eqp_no)
9

  
10
    Public Property DwgName() As String
11
        Get
12
            Return _DWGNAME
13
        End Get
14
        Set(value As String)
15
            _DWGNAME = value
16
        End Set
17
    End Property
18

  
19
    Public Property Size() As String
20
        Get
21
            Return _SIZE
22
        End Get
23
        Set(value As String)
24
            _SIZE = value
25
        End Set
26
    End Property
27

  
28
    Public Property Unit() As String
29
        Get
30
            Return _UNIT
31
        End Get
32
        Set(value As String)
33
            _UNIT = value
34
        End Set
35
    End Property
36

  
37

  
38

  
39
    Public Property Line_nos As List(Of Line_no)
40
        Get
41
            Return _LINE_NO
42
        End Get
43
        Set(value As List(Of Line_no))
44
            _LINE_NO = value
45
        End Set
46
    End Property
47

  
48
    Public Property TrimLine_nos As List(Of Line_no)
49
        Get
50
            Return _TRIM_LINE_NO
51
        End Get
52
        Set(value As List(Of Line_no))
53
            _TRIM_LINE_NO = value
54
        End Set
55
    End Property
56

  
57

  
58

  
59
    Public Property Eqp_nos As List(Of Eqp_no)
60
        Get
61
            Return _EQP_NO
62
        End Get
63
        Set(value As List(Of Eqp_no))
64
            _EQP_NO = value
65
        End Set
66
    End Property
67
End Class
68

  
69

  
70
Public Class Line_no
71
    Private _UID As String = ""
72
    Private _TEXT As String = ""
73
    Private _LOCATION As String = ""
74
    Private _ANGLE As String = ""
75
    Private _SYSTEMPATH As String = ""
76

  
77
    Private _Line_Dt As DataTable
78
    Private _Symbol_Dt As DataTable
79
    Private _Attribute_Dt As DataTable
80

  
81
    Private _Line As List(Of Line)
82
    Private _Symbol As List(Of Symbol)
83
    Private _Attribute As List(Of Attribute)
84

  
85
    Public Property Uid() As String
86
        Get
87
            Return _UID
88
        End Get
89
        Set(value As String)
90
            _UID = value
91
        End Set
92
    End Property
93

  
94
    Public Property Text() As String
95
        Get
96
            Return _TEXT
97
        End Get
98
        Set(value As String)
99
            _TEXT = value
100
        End Set
101
    End Property
102

  
103
    Public Property Location() As String
104
        Get
105
            Return _LOCATION
106
        End Get
107
        Set(value As String)
108
            _LOCATION = value
109
        End Set
110
    End Property
111

  
112
    Public Property Angle() As String
113
        Get
114
            Return _ANGLE
115
        End Get
116
        Set(value As String)
117
            _ANGLE = value
118
        End Set
119
    End Property
120

  
121
    Public Property SystemPath() As String
122
        Get
123
            Return _SYSTEMPATH
124
        End Get
125
        Set(value As String)
126
            _SYSTEMPATH = value
127
        End Set
128
    End Property
129

  
130
    Public Property Dt_Line As DataTable
131
        Get
132
            Return _Line_Dt
133
        End Get
134
        Set(value As DataTable)
135
            _Line_Dt = value
136
        End Set
137
    End Property
138

  
139
    Public Property Dt_Symbol As DataTable
140
        Get
141
            Return _Symbol_Dt
142
        End Get
143
        Set(value As DataTable)
144
            _Symbol_Dt = value
145
        End Set
146
    End Property
147

  
148
    Public Property Dt_Attribute As DataTable
149
        Get
150
            Return _Attribute_Dt
151
        End Get
152
        Set(value As DataTable)
153
            _Attribute_Dt = value
154
        End Set
155
    End Property
156

  
157

  
158

  
159
    Public Property Line As List(Of Line)
160
        Get
161
            Return _Line
162
        End Get
163
        Set(value As List(Of Line))
164
            _Line = value
165
        End Set
166
    End Property
167

  
168
    Public Property Symbol As List(Of Symbol)
169
        Get
170
            Return _Symbol
171
        End Get
172
        Set(value As List(Of Symbol))
173
            _Symbol = value
174
        End Set
175
    End Property
176

  
177
    Public Property Attribute As List(Of Attribute)
178
        Get
179
            Return _Attribute
180
        End Get
181
        Set(value As List(Of Attribute))
182
            _Attribute = value
183
        End Set
184
    End Property
185

  
186
End Class
187
Public Class Eqp_no
188
    Private _UID As String = ""
189
    Private _TEXT As String = ""
190
    Private _LOCATION As String = ""
191
    Private _ANGLE As String = ""
192
    Private _SYSTEMPATH As String = ""
193

  
194
    Private _Eqp_Dt As DataTable
195
    Private _Attribute_Dt As DataTable
196

  
197

  
198
    Public Property Uid() As String
199
        Get
200
            Return _UID
201
        End Get
202
        Set(value As String)
203
            _UID = value
204
        End Set
205
    End Property
206

  
207
    Public Property Text() As String
208
        Get
209
            Return _TEXT
210
        End Get
211
        Set(value As String)
212
            _TEXT = value
213
        End Set
214
    End Property
215

  
216
    Public Property Location() As String
217
        Get
218
            Return _LOCATION
219
        End Get
220
        Set(value As String)
221
            _LOCATION = value
222
        End Set
223
    End Property
224

  
225
    Public Property Angle() As String
226
        Get
227
            Return _ANGLE
228
        End Get
229
        Set(value As String)
230
            _ANGLE = value
231
        End Set
232
    End Property
233

  
234
    Public Property SystemPath() As String
235
        Get
236
            Return _SYSTEMPATH
237
        End Get
238
        Set(value As String)
239
            _SYSTEMPATH = value
240
        End Set
241
    End Property
242
    Public Property Dt_Equipment As DataTable
243
        Get
244
            Return _Eqp_Dt
245
        End Get
246
        Set(value As DataTable)
247
            _Eqp_Dt = value
248
        End Set
249
    End Property
250

  
251
    Public Property Dt_Attribute As DataTable
252
        Get
253
            Return _Attribute_Dt
254
        End Get
255
        Set(value As DataTable)
256
            _Attribute_Dt = value
257
        End Set
258
    End Property
259

  
260
End Class
261

  
262
Public Class Symbol
263

  
264
End Class
265

  
266
Public Class Line
267

  
268
End Class
269

  
270
Public Class Attribute
271

  
272
End Class
273

  
DTI_PID/SPPIDConverter/FindOpc.vb
1
Public Class FindOpc
2

  
3

  
4
    'Dialog Caption : Set Stockpile Location of Partner OPC
5
    'Dialog Class : ThunderRT6FormDC
6
    Private Declare Auto Function FindWindow Lib "user32.dll" (
7
ByVal lpClassName As String,
8
ByVal lpWindowName As String
9
) As IntPtr
10

  
11
    Private Declare Auto Function FindWindowEx Lib "user32.dll" (
12
ByVal hwndParent As IntPtr,
13
ByVal hwndChildAfter As IntPtr,
14
ByVal lpszClass As String,
15
ByVal lpszWindow As String
16
) As IntPtr
17

  
18
    Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long,
19
ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
20

  
21
    Private Declare Auto Function SendMessage Lib "user32.dll" (
22
hWnd As IntPtr, uMsg As Int32, WParam As IntPtr, LParam As IntPtr
23
) As IntPtr
24

  
25
    Private Const WM_CLOSE As Long = &H10
26
    Private Declare Function SetFocus Lib "user32" (ByVal hwnd As Long) As Long
27

  
28
    Public Sub RemoveOPCDlg()
29
        Try
30
            Dim iHandle As Integer = FindWindow("ThunderRT6FormDC", "Set Stockpile Location of Partner OPC")
31
            If iHandle > 0 Then
32
                System.Threading.Thread.Sleep(100)
33
                SendMessage(iHandle, WM_CLOSE, 0, 0) 'Press Ctrl Key
34
                System.Threading.Thread.Sleep(100)
35
                iHandle = 0
36
            End If
37
        Catch ex As Exception
38

  
39
        End Try
40
    End Sub
41

  
42

  
43
End Class
DTI_PID/SPPIDConverter/GenerateRelation.vb
1
Public Class GenerateRelation
2

  
3
    Dim d라인오차범위 As Double = 100
4
    Dim d심블오차범위 As Double = 100
5

  
6
    Public Function CalcLineConnectionItem_Equal(ByRef oLinelist_Dt_Line As DataTable, ByRef oLineLists As List(Of Line_no)) As Boolean
7
        Try
8
            For Each oLineRow In oLinelist_Dt_Line.Rows
9
                Dim sLineUid As String = oLineRow(_XML_LINE_UID)
10
                Dim dLineStart_x As Double = 0.0
11
                Dim dLineStart_y As Double = 0.0
12
                Dim dLineEnd_x As Double = 0.0
13
                Dim dLineEnd_y As Double = 0.0
14

  
15
                Dim sStartpoint As String = oLineRow(_XML_LINE_STARTPOINT).ToString()
16
                Dim sEndpoint As String = oLineRow(_XML_LINE_ENDPOINT).ToString()
17

  
18
                ConvertPointBystring(sStartpoint, dLineStart_x, dLineStart_y)
19
                ConvertPointBystring(sEndpoint, dLineEnd_x, dLineEnd_y)
20

  
21
                Dim sConn1_Uid As String = oLineRow(_XML_LINE_Conn1_Uid).ToString()
22
                Dim sConn2_Uid As String = oLineRow(_XML_LINE_Conn2_Uid).ToString()
23

  
24
                Dim sConn1_Flag As Boolean = False
25
                Dim sConn2_Flag As Boolean = False
26

  
27
                For Each oLinelist In oLineLists
28
                    For Each oConnLineRow In oLinelist.Dt_Line.Rows
29
                        Dim sConnLineUid As String = oConnLineRow(_XML_LINE_UID)
30
                        If sLineUid <> sConnLineUid Then
31
                            If sConn1_Uid <> "" And sConn2_Uid <> "" Then
32
                                Exit For
33
                            End If
34
                            Dim dConnLineStart_x As Double = 0.0
35
                            Dim dConnLineStart_y As Double = 0.0
36
                            Dim dConnLineEnd_x As Double = 0.0
37
                            Dim dConnLineEnd_y As Double = 0.0
38
                            Dim sConnStartpoint As String = oConnLineRow(_XML_LINE_STARTPOINT).ToString()
39
                            Dim sConnEndpoint As String = oConnLineRow(_XML_LINE_ENDPOINT).ToString()
40
                            ConvertPointBystring(sConnStartpoint, dConnLineStart_x, dConnLineStart_y)
41
                            ConvertPointBystring(sConnEndpoint, dConnLineEnd_x, dConnLineEnd_y)
42

  
43
                            If CheckDuplicatePoint(dLineStart_x, dLineStart_y, dLineEnd_x, dLineEnd_y,
44
                                                   dConnLineStart_x, dConnLineStart_y, dConnLineEnd_x, dConnLineEnd_y) Then
45

  
46

  
47

  
48

  
49

  
50
                                If sConn1_Uid = "" Then
51
                                    If dLineStart_x = dConnLineStart_x And dLineStart_y = dConnLineStart_y Then
52
                                        sConn1_Uid = sConnLineUid
53
                                        oConnLineRow(_XML_LINE_Conn1_Uid) = sLineUid
54
                                        oLineRow(_XML_LINE_Conn1_Uid) = sConnLineUid
55
                                    ElseIf dLineStart_x = dConnLineEnd_x And dLineStart_y = dConnLineEnd_y Then
56
                                        sConn1_Uid = sConnLineUid
57
                                        oConnLineRow(_XML_LINE_Conn2_Uid) = sLineUid
58
                                        oLineRow(_XML_LINE_Conn1_Uid) = sConnLineUid
59
                                    End If
60

  
61
                                End If
62
                                If sConn2_Uid = "" Then
63
                                    If dLineEnd_x = dConnLineStart_x And dLineEnd_y = dConnLineStart_y Then
64
                                        sConn2_Uid = sConnLineUid
65
                                        oConnLineRow(_XML_LINE_Conn1_Uid) = sLineUid
66
                                        oLineRow(_XML_LINE_Conn2_Uid) = sConnLineUid
67
                                    ElseIf dLineEnd_x = dConnLineEnd_x And dLineEnd_y = dConnLineEnd_y Then
68
                                        sConn2_Uid = sConnLineUid
69
                                        oConnLineRow(_XML_LINE_Conn2_Uid) = sLineUid
70
                                        oLineRow(_XML_LINE_Conn2_Uid) = sConnLineUid
71
                                    End If
72
                                End If
73

  
74
                            End If
75
                        End If
76
                    Next
77
                Next
78

  
79
                For Each oLinelist In oLineLists
80
                    For Each oConnSymbolRow In oLinelist.Dt_Symbol.Rows
81
                        If sConn1_Uid <> "" And sConn2_Uid <> "" Then
82
                            Exit For
83
                        End If
84
                        Dim sSymbolUid As String = oConnSymbolRow(_XML_SYMBOL_UID).ToString()
85
                        Dim sSymbolName As String = oConnSymbolRow(_XML_SYMBOL_NAME).ToString()
86
                        Dim sSymbolConnPoint As String = oConnSymbolRow(_XML_SYMBOL_CONNECTIONPOINT).ToString()
87
                        Dim sConnSplit As String() = sSymbolConnPoint.Split("/")
88
                        If sLineUid = "3c90fe63-b88e-4bb3-a774-a0c4ae8c4ebf" And sSymbolUid = "9ebcb62e-156e-4d3c-aeb2-3d9e5089915e" Then
89

  
90
                        End If
91
                        If sSymbolConnPoint <> "" Then
92
                            Dim dSymbolConn1_x As Double = 0.0
93
                            Dim dSymbolConn1_y As Double = 0.0
94
                            Dim dSymbolConn2_x As Double = 0.0
95
                            Dim dSymbolConn2_y As Double = 0.0
96
                            Dim dSymbolConn3_x As Double = 0.0
97
                            Dim dSymbolConn3_y As Double = 0.0
98
                            Dim dSymbolConn4_x As Double = 0.0
99
                            Dim dSymbolConn4_y As Double = 0.0
100

  
101
                            Dim sConn1Point As String = ""
102
                            Dim sConn2Point As String = ""
103
                            Dim sConn3Point As String = ""
104
                            Dim sConn4Point As String = ""
105

  
106
                            sConn1Point = sConnSplit(0)
107

  
108
                            If sConnSplit.Length > 1 Then
109
                                sConn2Point = sConnSplit(1)
110
                                If sConnSplit.Length > 2 Then
111
                                    sConn3Point = sConnSplit(2)
112
                                    If sConnSplit.Length > 3 Then
113
                                        sConn4Point = sConnSplit(3)
114
                                    End If
115
                                End If
116
                            End If
117

  
118
                            ConvertPointBystring(sConn1Point, dSymbolConn1_x, dSymbolConn1_y)
119
                            If sConn2Point <> "" Then
120
                                ConvertPointBystring(sConn2Point, dSymbolConn2_x, dSymbolConn2_y)
121
                            End If
122
                            If sConn3Point <> "" Then
123
                                ConvertPointBystring(sConn3Point, dSymbolConn3_x, dSymbolConn3_y)
124
                            End If
125
                            If sConn4Point <> "" Then
126
                                ConvertPointBystring(sConn4Point, dSymbolConn4_x, dSymbolConn4_y)
127
                            End If
128
                            '라인 끝에 연결되어 있는 심블
129
                            If sConn1_Uid = "" Then
130
                                If dLineStart_x = dSymbolConn1_x And dLineStart_y = dSymbolConn1_y Then
131
                                    sConn1_Uid = sSymbolUid
132
                                    oConnSymbolRow(_XML_SYMBOL_Conn1_Uid) = sLineUid
133
                                    oLineRow(_XML_LINE_Conn1_Uid) = sConn1_Uid
134
                                ElseIf dLineStart_x = dSymbolConn2_x And dLineStart_y = dSymbolConn2_y Then
135
                                    sConn1_Uid = sSymbolUid
136
                                    oConnSymbolRow(_XML_SYMBOL_Conn2_Uid) = sLineUid
137
                                    oLineRow(_XML_LINE_Conn1_Uid) = sConn1_Uid
138
                                ElseIf dLineStart_x = dSymbolConn3_x And dLineStart_y = dSymbolConn3_y Then
139
                                    sConn1_Uid = sSymbolUid
140
                                    oConnSymbolRow(_XML_SYMBOL_Conn3_Uid) = sLineUid
141
                                    oLineRow(_XML_LINE_Conn1_Uid) = sConn1_Uid
142
                                ElseIf dLineStart_x = dSymbolConn4_x And dLineStart_y = dSymbolConn4_y Then
143
                                    sConn1_Uid = sSymbolUid
144
                                    oConnSymbolRow(_XML_SYMBOL_Conn4_Uid) = sLineUid
145
                                    oLineRow(_XML_LINE_Conn1_Uid) = sConn1_Uid
146
                                End If
147
                            End If
148

  
149
                            If sConn2_Uid = "" Then
150
                                If dLineEnd_x = dSymbolConn1_x And dLineEnd_y = dSymbolConn1_y Then
151
                                    sConn2_Uid = sSymbolUid
152
                                    oConnSymbolRow(_XML_SYMBOL_Conn1_Uid) = sLineUid
153
                                    oLineRow(_XML_LINE_Conn2_Uid) = sConn2_Uid
154
                                ElseIf dLineEnd_x = dSymbolConn2_x And dLineEnd_y = dSymbolConn2_y Then
155
                                    sConn2_Uid = sSymbolUid
156
                                    oConnSymbolRow(_XML_SYMBOL_Conn2_Uid) = sLineUid
157
                                    oLineRow(_XML_LINE_Conn2_Uid) = sConn2_Uid
158
                                ElseIf dLineEnd_x = dSymbolConn3_x And dLineEnd_y = dSymbolConn3_y Then
159
                                    sConn2_Uid = sSymbolUid
160
                                    oConnSymbolRow(_XML_SYMBOL_Conn3_Uid) = sLineUid
161
                                    oLineRow(_XML_LINE_Conn2_Uid) = sConn2_Uid
162
                                ElseIf dLineEnd_x = dSymbolConn4_x And dLineEnd_y = dSymbolConn4_y Then
163
                                    sConn2_Uid = sSymbolUid
164
                                    oConnSymbolRow(_XML_SYMBOL_Conn4_Uid) = sLineUid
165
                                    oLineRow(_XML_LINE_Conn2_Uid) = sConn2_Uid
166
                                End If
167
                            End If
168

  
169

  
170
                            '라인 안에 포함되어 있는 심블
171
                            If sConn1_Uid = "" And sConn2_Uid = "" Then
172
                                If (dLineStart_x <= dSymbolConn1_x And dLineStart_y <= dSymbolConn1_y And
173
                                dLineEnd_x >= dSymbolConn2_x And dLineEnd_y >= dSymbolConn2_y) Or
174
                                (dLineStart_x >= dSymbolConn1_x And dLineStart_y >= dSymbolConn1_y And
175
                                dLineEnd_x <= dSymbolConn2_x And dLineEnd_y <= dSymbolConn2_y) Then
176
                                    oConnSymbolRow(_XML_SYMBOL_Conn1_Uid) = sLineUid
177
                                    oConnSymbolRow(_XML_SYMBOL_Conn2_Uid) = sLineUid
178
                                Else
179

  
180
                                End If
181
                            End If
182

  
183
                        End If
184
                    Next
185
                Next
186

  
187

  
188

  
189
                oLineRow(_XML_LINE_Conn1_Uid) = sConn1_Uid
190
                oLineRow(_XML_LINE_Conn2_Uid) = sConn2_Uid
191

  
192
            Next
193
        Catch ex As Exception
194
            Return False
195
        End Try
196

  
197
        Return True
198
    End Function
199

  
200
    Public Function CalcLineConnectionItem_NonEqual(ByRef oLinelist_Dt_Line As DataTable, ByRef oLineLists As List(Of Line_no)) As Boolean
201
        Try
202

  
203
            For Each oLineRow In oLinelist_Dt_Line.Rows
204
                Dim sLineUid As String = oLineRow(_XML_LINE_UID).ToString()
205
                If sLineUid = "c5e85037-c9a6-4b8b-aff8-240d4dd89876" Then
206
                    ' MessageBox.Show("")
207
                End If
208
                Dim dLineStart_x As Double = 0.0
209
                Dim dLineStart_y As Double = 0.0
210
                Dim dLineEnd_x As Double = 0.0
211
                Dim dLineEnd_y As Double = 0.0
212

  
213
                Dim sStartpoint As String = oLineRow(_XML_LINE_STARTPOINT).ToString()
214
                Dim sEndpoint As String = oLineRow(_XML_LINE_ENDPOINT).ToString()
215

  
216
                ConvertPointBystring(sStartpoint, dLineStart_x, dLineStart_y)
217
                ConvertPointBystring(sEndpoint, dLineEnd_x, dLineEnd_y)
218

  
219
                Dim dPlusMinusValue = 0
220
                If Math.Abs(dLineStart_x - dLineEnd_x) < Math.Abs(dLineStart_y - dLineEnd_y) Then
221
                    '세로라인
222
                    dPlusMinusValue = Math.Abs(dLineStart_y - dLineEnd_y) / d라인오차범위
223
                Else
224
                    '가로라인
225
                    dPlusMinusValue = Math.Abs(dLineStart_x - dLineEnd_x) / d라인오차범위
226
                End If
227

  
228

  
229
                Dim sConn1_Uid As String = oLineRow(_XML_LINE_Conn1_Uid).ToString()
230
                Dim sConn2_Uid As String = oLineRow(_XML_LINE_Conn2_Uid).ToString()
231
                For Each oConnLineRow In oLinelist_Dt_Line.Rows
232
                    Dim sConnLineUid As String = oConnLineRow(_XML_LINE_UID).ToString()
233
                    If sLineUid <> sConnLineUid Then
234
                        If sConn1_Uid <> "" And sConn2_Uid <> "" Then
235
                            Exit For
236
                        End If
237
                        Dim dConnLineStart_x As Double = 0.0
238
                        Dim dConnLineStart_y As Double = 0.0
239
                        Dim dConnLineEnd_x As Double = 0.0
240
                        Dim dConnLineEnd_y As Double = 0.0
241
                        Dim sConnStartpoint As String = oConnLineRow(_XML_LINE_STARTPOINT).ToString()
242
                        Dim sConnEndpoint As String = oConnLineRow(_XML_LINE_ENDPOINT).ToString()
243
                        ConvertPointBystring(sConnStartpoint, dConnLineStart_x, dConnLineStart_y)
244
                        ConvertPointBystring(sConnEndpoint, dConnLineEnd_x, dConnLineEnd_y)
245

  
... 이 차이점은 표시할 수 있는 최대 줄수를 초과해서 이 차이점은 잘렸습니다.

내보내기 Unified diff