솔루션에 fp5,fp13 포함

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

View File

@@ -0,0 +1,206 @@
If Me.tb_pagerepeat.Text = "" Or Me.tb_pagerepeat.Text < 1 Then Me.tb_pagerepeat.Text = "0"
For pi As Short = 0 To Me.tb_pagerepeat.Text - 1 '//페이지당 연속출력할 횟수
For i As Integer = 0 To Me.AllLabels.GetUpperBound(0) '//모든 개체들에 대해서 인쇄를 설정한다.
obj = Me.AllLabels(i).ctl
If obj.Visible AndAlso obj.MyText <> "" Then '//화면에 보이는것만 한다.
For rcnt As Short = 0 To obj.Repeat '//반복기능추가한다
NewFontSize = obj.MyFont.Size + Me.tb_myfontsize.Text
If NewFontSize < 0 Then NewFontSize = 0
Brush = New SolidBrush(obj.MyForeColor) '//전경색으로 브러쉬를 만든다.
MyFont = New Font(obj.MyFont.FontFamily, NewFontSize, obj.MyFont.Style)
If obj.장평 = 100 AndAlso obj.장높이 = 100 Then '//장평미사용 문자열 처리
If rcnt > 0 Then
Ga.DrawString(obj.최종문자, MyFont, Brushes.LightGray, (obj.Left + Me.tb_secX.Text * pi + obj.RepeatX * rcnt), (obj.Top + Me.tb_secY.Text * pi + obj.RepeatY * rcnt))
Else
Ga.DrawString(obj.최종문자, MyFont, Brush, (obj.Left + Me.tb_secX.Text * pi), (obj.Top + Me.tb_secY.Text * pi))
End If
Else '//장평사용 이미지 처리
Dim NewX, Newy As Integer
Dim SrcDpix, SrcDPiY As Single
'MsgBox(Tobj.장높이)
SrcDpix = obj.CreateGraphics.DpiX
SrcDPiY = obj.CreateGraphics.DpiY
NewX = obj.GetSize(MyFont).Width * (obj.장평 / 100) * (Ga.DpiX / SrcDpix)
Newy = obj.GetSize(MyFont).Height * (obj.장높이 / 100) * (Ga.DpiY / SrcDPiY)
Dim BMP As New Bitmap(NewX, Newy, Ga)
Dim G As Graphics = Graphics.FromImage(BMP)
G.ResetTransform()
G.ScaleTransform((obj.장평 / 100), (obj.장높이 / 100))
If rcnt > 0 Then
G.DrawString(obj.최종문자, MyFont, Brushes.LightGray, 0, 0)
G.Dispose()
Ga.DrawImage(BMP, New Point(obj.Left + Me.tb_secX.Text * pi + obj.RepeatX * rcnt, obj.Top + Me.tb_secY.Text * pi + obj.RepeatY * rcnt)) ', CInt(GetSize.Width * (v장평 / 100)), GetSize.Height)
Else
G.DrawString(obj.최종문자, MyFont, Brush, 0, 0)
G.Dispose()
Ga.DrawImage(BMP, New Point(obj.Left + Me.tb_secX.Text * pi, obj.Top + Me.tb_secY.Text * pi)) ', CInt(GetSize.Width * (v장평 / 100)), GetSize.Height)
End If
End If
Next
End If
Next
Next
---가공출력물 변경
For i As Integer = 0 To S관리구.GetUpperBound(0) '//모든문자를 할당한다.
S관리구(i) = New MyControlOLEDBv2.MyLabel
S관리구(i).설명 = "관리구" & i + 1
S관리구(i).Name = "H" & i + 1
S관리구(i).Visible = False
ReDim Preserve AllLabels(CtlCnt)
Me.AllLabels(CtlCnt).ctl = S관리구(i)
Me.cmb_controls.Items.Add(S관리구(i).설명)
CtlCnt += 1
Next
For i As Integer = 0 To SDL명.GetUpperBound(0) '//모든문자를 할당한다.
SDL명(i) = New MyControlOLEDBv2.MyLabel
SDL명(i).설명 = "DL명" & i + 1
SDL명(i).Name = "K" & i + 1
SDL명(i).Visible = False
ReDim Preserve AllLabels(CtlCnt)
Me.AllLabels(CtlCnt).ctl = SDL명(i)
Me.cmb_controls.Items.Add(SDL명(i).설명)
CtlCnt += 1
Next
For i As Integer = 0 To S전산번호.GetUpperBound(0) '//모든문자를 할당한다.
S전산번호(i) = New MyControlOLEDBv2.MyLabel
S전산번호(i).설명 = "전산번호" & i + 1
S전산번호(i).Name = "S" & i + 1
S전산번호(i).Visible = False
ReDim Preserve AllLabels(CtlCnt)
Me.AllLabels(CtlCnt).ctl = S전산번호(i)
Me.cmb_controls.Items.Add(S전산번호(i).설명)
CtlCnt += 1
Next
For i As Integer = 0 To S선로명.GetUpperBound(0) '//모든문자를 할당한다.
S선로명(i) = New MyControlOLEDBv2.MyLabel
S선로명(i).설명 = "선로명" & i + 1
S선로명(i).Name = "L" & i + 1
S선로명(i).Visible = False
ReDim Preserve AllLabels(CtlCnt)
Me.AllLabels(CtlCnt).ctl = S선로명(i)
Me.cmb_controls.Items.Add(S선로명(i).설명)
CtlCnt += 1
Next
For i As Integer = 0 To S전주번호.GetUpperBound(0) '//모든문자를 할당한다.
S전주번호(i) = New MyControlOLEDBv2.MyLabel
S전주번호(i).설명 = "전주번호" & i + 1
S전주번호(i).Name = "X" & i + 1
S전주번호(i).Visible = False
ReDim Preserve AllLabels(CtlCnt)
Me.AllLabels(CtlCnt).ctl = S전주번호(i)
Me.cmb_controls.Items.Add(S전주번호(i).설명)
CtlCnt += 1
Next
For i As Integer = 0 To S시공년월.GetUpperBound(0) '//모든문자를 할당한다.
S시공년월(i) = New MyControlOLEDBv2.MyLabel
S시공년월(i).설명 = "시공년월" & i + 1
S시공년월(i).Name = "Y" & i + 1
S시공년월(i).Visible = False
ReDim Preserve AllLabels(CtlCnt)
Me.AllLabels(CtlCnt).ctl = S시공년월(i)
Me.cmb_controls.Items.Add(S시공년월(i).설명)
CtlCnt += 1
Next
For i As Integer = 0 To S관리구전주번호.GetUpperBound(0) '//모든문자를 할당한다.
S관리구전주번호(i) = New MyControlOLEDBv2.MyLabel
S관리구전주번호(i).설명 = "관리구,전산번호" & i + 1
S관리구전주번호(i).Name = "G" & i + 1
S관리구전주번호(i).Visible = False
ReDim Preserve AllLabels(CtlCnt)
Me.AllLabels(CtlCnt).ctl = S관리구전주번호(i)
Me.cmb_controls.Items.Add(S관리구전주번호(i).설명)
CtlCnt += 1
Next
For i As Integer = 0 To S장척.GetUpperBound(0) '//모든문자를 할당한다.
S장척(i) = New MyControlOLEDBv2.MyLabel
S장척(i).설명 = "장척" & i + 1
S장척(i).Name = "J" & i + 1
S장척(i).Visible = False
ReDim Preserve AllLabels(CtlCnt)
Me.AllLabels(CtlCnt).ctl = S장척(i)
Me.cmb_controls.Items.Add(S장척(i).설명)
CtlCnt += 1
Next
For i As Integer = 0 To S시공자.GetUpperBound(0) '//모든문자를 할당한다.
S시공자(i) = New MyControlOLEDBv2.MyLabel
S시공자(i).설명 = "시공자" & i + 1
S시공자(i).Name = "C" & i + 1
S시공자(i).Visible = False
ReDim Preserve AllLabels(CtlCnt)
Me.AllLabels(CtlCnt).ctl = S시공자(i)
Me.cmb_controls.Items.Add(S시공자(i).설명)
CtlCnt += 1
Next
For i As Integer = 0 To S접지.GetUpperBound(0) '//모든문자를 할당한다.
S접지(i) = New MyControlOLEDBv2.MyLabel
S접지(i).설명 = "접지" & i + 1
S접지(i).Name = "Z" & i + 1
S접지(i).Visible = False
ReDim Preserve AllLabels(CtlCnt)
Me.AllLabels(CtlCnt).ctl = S접지(i)
Me.cmb_controls.Items.Add(S접지(i).설명)
CtlCnt += 1
Next
For i As Integer = 0 To S감독자.GetUpperBound(0) '//모든문자를 할당한다.
S감독자(i) = New MyControlOLEDBv2.MyLabel
S감독자(i).설명 = "감독자" & i + 1
S감독자(i).Name = "M" & i + 1
S감독자(i).Visible = False
ReDim Preserve AllLabels(CtlCnt)
Me.AllLabels(CtlCnt).ctl = S감독자(i)
Me.cmb_controls.Items.Add(S감독자(i).설명)
CtlCnt += 1
Next
For i As Integer = 0 To S일련번호.GetUpperBound(0) '//모든문자를 할당한다.
S일련번호(i) = New MyControlOLEDBv2.MyLabel
S일련번호(i).설명 = "일련번호" & i + 1
S일련번호(i).Name = "N" & i + 1
S일련번호(i).Visible = False
ReDim Preserve AllLabels(CtlCnt)
Me.AllLabels(CtlCnt).ctl = S일련번호(i)
Me.cmb_controls.Items.Add(S일련번호(i).설명)
CtlCnt += 1
Next
=======테스트
S사용자1 = New MyControlOLEDBv2.MyLabel
S사용자1.설명 = "사용자문자1"
S사용자1.MyText = ""
S사용자1.Name = "U"
S사용자1.Visible = False
ReDim Preserve AllLabels(CtlCnt)
Me.AllLabels(CtlCnt).ctl = S사용자1
Me.cmb_controls.Items.Add(S사용자1.설명)
CtlCnt += 1

View File

@@ -0,0 +1,103 @@
Case "MARGINX" : StyleList(CurIdx).MarginX = Line.Substring(Seppos + 1).ToUpper
Case "MARGINY" : StyleList(CurIdx).MarginY = Line.Substring(Seppos + 1).ToUpper
Case "PICSTYLE" : StyleList(CurIdx).picstyle = Line.Substring(Seppos + 1).ToUpper
Case "PRINTFONTOFFSET" : StyleList(CurIdx).PrintFontOffset = Line.Substring(Seppos + 1).ToUpper
Case "PRINTBG" : StyleList(CurIdx).Printbg = Line.Substring(Seppos + 1).ToUpper
Case "SCALEX" : StyleList(CurIdx).ScaleX = Line.Substring(Seppos + 1).ToUpper
Case "SCALEY" : StyleList(CurIdx).ScaleY = Line.Substring(Seppos + 1).ToUpper
Case "BAKX" : StyleList(CurIdx).bakx = Line.Substring(Seppos + 1).ToUpper
Case "BAKY" : StyleList(CurIdx).baky = Line.Substring(Seppos + 1).ToUpper
Case "BAKW" : StyleList(CurIdx).bakw = Line.Substring(Seppos + 1).ToUpper
Case "BAKH" : StyleList(CurIdx).bakh = Line.Substring(Seppos + 1).ToUpper
Case "VIEWIMAGE" : StyleList(CurIdx).Viewimage = Line.Substring(Seppos + 1).ToUpper
Case "FILTER" : StyleList(CurIdx).Filter = Line.Substring(Seppos + 1).ToUpper
Case Else
dr = StyleList(CurIdx).PATTERNTABLE.NewRow
dr(0) = CStr(Findkey & Line.Substring(0, Seppos)).ToUpper
dr(1) = Line.Substring(Seppos + 1).ToUpper
StyleList(CurIdx).PATTERNTABLE.Rows.Add(dr)
End Select
Public Function PARSE_시공년월(ByVal srcstr As String) As Boolean
'/선로명의 길이는 예측되지 않는다 동적 컨트롤 생성을 사용한다.
'/선로명의 길이는 예측되지 않는다 동적 컨트롤 생성을 사용한다.
Me.CLEAR_ITEM(S시공년월)
Dim Log As String = "\Parse_시공년월.txt"
If srcstr = "" OrElse Not Me.cb_yymm.Checked Then
AddLog(Admin, "Zero Length - Return", Log)
Return False
End If
Dim Wlen As Short = srcstr.Length
Dim SepPos As Short = srcstr.IndexOf(";")
Dim SRC() As Char = srcstr.ToCharArray
AddLog(Admin, "Length=" & Wlen & " Sep=" & SepPos, Log)
For i As Integer = 0 To Wlen - 1 '//모든문자를 할당한다.
Try
Me.S시공년월(i).MyText = SRC(i)
Catch ex As Exception
Exit For
End Try
Next
Return True
End Function
Public Sub PARSE_선로명패턴(ByVal Srcstr As String)
Dim Log As String = "\Parse_선로명패턴.txt"
Dim Wlen As Short = Srcstr.Length : If Wlen <= 0 Then Return
Dim Src() As Char = Srcstr.ToCharArray
Dim SepPos As Short = Srcstr.IndexOf(";")
'길이패턴여부를 확인했으므로 패턴을적용한다.[STYLE1LINEPATTERN9]
Dim Pname As String = "LINEPATTERN" & Wlen
' Me.길이패턴연습(Srcstr, Pname, Log, "L", S선로명)
'//패턴1이 끝났다 패턴2를 찾는다.
'//패턴2는 style1LInepatternII문자숫자형식
Pname = "LINEPATTERNII" & PATTERN_ENC(선로명)
Me.문자패턴연습(Srcstr, Pname, Log, Me.S선로명)
End Sub
Public Function PARSE_전산번호(ByVal srcstr As String) As Boolean
'/선로명의 길이는 예측되지 않는다 동적 컨트롤 생성을 사용한다.
Me.CLEAR_ITEM(S전산번호)
Dim Log As String = "\Parse_전산번호.txt"
If srcstr = "" OrElse Not Me.cb_kwang.Checked Then
AddLog(Admin, "Zero Length - Return", Log)
Return False
End If
Dim Wlen As Short = srcstr.Length
Dim SepPos As Short = srcstr.IndexOf(";")
Dim SRC() As Char = srcstr.ToCharArray
AddLog(Admin, "Length=" & Wlen & " Sep=" & SepPos, Log)
'/선로명의 길이는 예측되지 않는다 동적 컨트롤 생성을 사용한다.
For i As Integer = 0 To Wlen - 1 '//모든문자를 할당한다.
Try
S전산번호(i).MyText = SRC(i).ToString
Me.S전산번호(i).Visible = True
Catch ex As Exception
Exit For
End Try
'MsgBox("전산번호=" & S전산번호(i).MyText)
Next
Return True
End Function
Public Sub PARSE_전산번호패턴(ByVal srcstr As String)
Dim Log As String = "\Parse_전산번호패턴.txt"
Dim Wlen As Short = srcstr.Length
Dim SepPos As Short = srcstr.IndexOf(";")
Dim SrC() As Char = srcstr.ToCharArray
Dim Pname As String = "JNUMPATTERN" & Wlen
' Me.길이패턴연습(srcstr, Pname, Log, "S", S전산번호)
Pname = "JNUMPATTERNII" & PATTERN_ENC(srcstr)
Me.문자패턴연습(srcstr, Pname, Log, S전산번호)
End Sub