솔루션에 fp5,fp13 포함
This commit is contained in:
206
Epole.fp13/패치문서/090729 연속출력추가.txt
Normal file
206
Epole.fp13/패치문서/090729 연속출력추가.txt
Normal 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
|
||||
103
Epole.fp13/패치문서/TextFile1.txt
Normal file
103
Epole.fp13/패치문서/TextFile1.txt
Normal 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
|
||||
Reference in New Issue
Block a user