Wonderful improvements Kurt.
Thanks for implementing my suggestions.
I have used EditBox control to show long text to the users. If you use RichEditBox (see samples\controls\richeditbox ), you can include a complete paragraph with proper formating.
I have used HyperLink control for email and web address.
Mandatory fields are marked bold and red.
Added tooltip for the first textbox control.
Code: Select all
*******************************************************************************
*
*
* Kmat - A matboard cutting calculator
* Copyright (C) 2016, Kurt Ebert
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the license, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see {<http:*www.gnu.org/licenses/>}
*
* Web : www.kurtebertphoto.com/kmat/
* Email : kurt@kurtebertphoto.com
*
*
*******************************************************************************
*
* Kmat Version 2.70 -- (2016.9.26)
*
*******************************************************************************
#include "hmg.ch"
DECLARE WINDOW kmat_lic
DECLARE WINDOW kmat_help
DECLARE WINDOW kmat_extra
*******************************************************************************
FUNCTION Main()
Public Kcalc
Kcalc := 0
Set Navigation Extended
DEFINE WINDOW Form_1 AT 50,50 WIDTH 935 HEIGHT 775 NOMAXIMIZE NOSIZE TITLE "Kmat - Matboard Calculator / Version 2.70" MAIN
END WINDOW
ON KEY ESCAPE OF FORM_1 ACTION Form_1.Release
DEFINE WINDOW kmat_lic AT 100,100 WIDTH 524 HEIGHT 417 TITLE 'License' NOSHOW NOAUTORELEASE
DEFINE BUTTON Button_1
ROW 335
COL 211
CAPTION 'Close'
ACTION ThisWindow.Hide
END BUTTON
cStr := " Kmat -- Matboard Calculator" + HB_OSNEWLINE()
cStr := cStr + "Copyrite (C) 2016, Kurt Ebert"+ HB_OSNEWLINE()
cStr := cStr + "" + HB_OSNEWLINE()
cStr := cStr + "This program is free software: you can redistribute it and/or modify" + HB_OSNEWLINE()
cStr := cStr + "it under the terms of the GNU General Public License as published by" + HB_OSNEWLINE()
cStr := cStr + "the Free Software Foundation, version 3 of the license." + HB_OSNEWLINE()
cStr := cStr + "" + HB_OSNEWLINE()
cStr := cStr + "This program is distributed in the hope that it will be useful," + HB_OSNEWLINE()
cStr := cStr + "but WITHOUT ANY WARRANTY; without even the implied warranty of" + HB_OSNEWLINE()
cStr := cStr + "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See" + HB_OSNEWLINE()
cStr := cStr + "the GNU General Public License for more details." + HB_OSNEWLINE()
cStr := cStr + "" + HB_OSNEWLINE()
cStr := cStr + "You should have received a copy of the GNU General Public License" + HB_OSNEWLINE()
cStr := cStr + "along with this program. If not, see {<http://www.gnu.org/licenses/>}" + HB_OSNEWLINE()
cStr := cStr + "" + HB_OSNEWLINE()
cStr := cStr + "" + HB_OSNEWLINE()
cStr := cStr + "Contact Information" + HB_OSNEWLINE()
cStr := cStr + ""
@ 10, 10 editbox e1 width 500 height 270 value cStr readonly
@ 285, 10 hyperlink ip1 width 300 value "Email: kurt@kurtebertphoto.com" address "kurt@kurtebertphoto.com" handcursor
@ 315, 10 hyperlink ip2 width 300 value "www.kurtebertphoto.com/kmat" address "http://kurtebertphoto.com/kmat" handcursor
END WINDOW
DEFINE WINDOW kmat_help AT 100,100 WIDTH 524 HEIGHT 592 TITLE 'Help' NOSHOW NOAUTORELEASE
DEFINE BUTTON Button_2
ROW 513
COL 211
CAPTION 'Close'
ACTION ThisWindow.Hide
END BUTTON
cStr := "First 4 fields are mandatory to cut a matboard." + HB_OSNEWLINE()
cStr := cStr + "" + HB_OSNEWLINE()
cStr := cStr + "Length is the longer side of the mat or print." + HB_OSNEWLINE()
cStr := cStr + "Width fields must be <= length." + HB_OSNEWLINE()
cStr := cStr + "" + HB_OSNEWLINE()
cStr := cStr + "For the first 4 fields only: If values are < 50 they," + HB_OSNEWLINE()
cStr := cStr + "are interpreted as inch (In), else millimeters (mm)." + HB_OSNEWLINE()
cStr := cStr + "" + HB_OSNEWLINE()
cStr := cStr + "Mandatory entry fields are marked Red" + HB_OSNEWLINE()
cStr := cStr + "Optional entry fields are followed by (Blank)" + HB_OSNEWLINE()
cStr := cStr + "Calculated entry fields are followed by '~'" + HB_OSNEWLINE()
cStr := cStr + "Calculated entry fields are (Read-Only)" + HB_OSNEWLINE()
cStr := cStr + "" + HB_OSNEWLINE()
cStr := cStr + "From 5th field down, fields require millimeters (mm)." + HB_OSNEWLINE()
cStr := cStr + "" + HB_OSNEWLINE()
cStr := cStr + "If portrait offset is > 0 and width off set is 0," + HB_OSNEWLINE()
cStr := cStr + "project drawing will switch to portrait rendering, else" + HB_OSNEWLINE()
cStr := cStr + "rendering will be landscape orientation." + HB_OSNEWLINE()
cStr := cStr + "" + HB_OSNEWLINE()
cStr := cStr + "Photo name field has max length of 30" + HB_OSNEWLINE()
cStr := cStr + "" + HB_OSNEWLINE()
cStr := cStr + "Calculated fields are conversion values," + HB_OSNEWLINE()
cStr := cStr + "recommended offset values, and matboard cutting results." + HB_OSNEWLINE()
cStr := cStr + "" + HB_OSNEWLINE()
cStr := cStr + "Matboard cutting results are in millimeters (mm)." + HB_OSNEWLINE()
cStr := cStr + "" + HB_OSNEWLINE()
cStr := cStr + "Cutting values look inverted compared to art-photo project," + HB_OSNEWLINE()
cStr := cStr + "because you cut and mark from the back of the matboard." + HB_OSNEWLINE()
cStr := cStr + "Imagine flipping the matboard over. It will look like the project picture." + HB_OSNEWLINE()
cStr := cStr + "" + HB_OSNEWLINE()
cStr := cStr + "I have two additional reporting methods as simi-hidden features." + HB_OSNEWLINE()
cStr := cStr + "See Help --> Extra Features."
@ 10, 10 editbox e1 width 500 height 500 value cStr readonly
END WINDOW
DEFINE WINDOW kmat_extra AT 100,100 WIDTH 575 HEIGHT 384 TITLE 'Extra Features' NOSHOW NOAUTORELEASE
DEFINE BUTTON Button_3
ROW 305
COL 222
CAPTION 'Close'
ACTION ThisWindow.Hide
END BUTTON
cStr := "I have included two extra features in the program." + HB_OSNEWLINE()
cStr := cStr + "They are semi-hidden, but fully functional." + HB_OSNEWLINE() + HB_OSNEWLINE()
cStr := cStr + "The first is launched by the small dot between the Mat-1 and Mat-2 results." + HB_OSNEWLINE()
cStr := cStr + "A text report called 'kmat.txt', will be generated in the installation folder." + HB_OSNEWLINE() + HB_OSNEWLINE()
cStr := cStr + "If the program editor 'Akelpad.exe' is in the same folder, it will open Akelpad," + HB_OSNEWLINE()
cStr := cStr + "with the report. If saving many reports, the files are extremely small." + HB_OSNEWLINE()
cStr := cStr + "Most text editors if installed in the same directory and renamed to 'Akelpad.exe'" + HB_OSNEWLINE()
cStr := cStr + "would launch and open the report. Even if an editor is not present a report" + HB_OSNEWLINE()
cStr := cStr + "will be generated. If not renamed it will be over-writen, by the next report." + HB_OSNEWLINE() + HB_OSNEWLINE()
cStr := cStr + "The second is launched by the small dot between the Mat-2 and Mat-3 results" + HB_OSNEWLINE()
cStr := cStr + "This take a screen-shot of the Kmat window, converts to a PDF, ask for windows" + HB_OSNEWLINE()
cStr := cStr + "printer, and will let you print or save the screen-shot." + HB_OSNEWLINE()
cStr := cStr + "It's nice because it shows a picture of the art-photo project, however it has" + HB_OSNEWLINE()
cStr := cStr + "two downsides. First it uses more ink or toner to print a report, and second" + HB_OSNEWLINE()
cStr := cStr + "if archiving files they are much larger than the above text report method."
@ 10, 10 EDITBOX e1 width 550 height 294 value cStr readonly
END WINDOW
DEFINE MAIN MENU OF Form_1
DEFINE POPUP "File"
MENUITEM "Exit" ACTION Form_1.Release
END POPUP
DEFINE POPUP "About"
MENUITEM "License" ACTION kmat_lic.Show
END POPUP
DEFINE POPUP "Help"
MENUITEM "Help" ACTION kmat_help.Show
MENUITEM "Extra Features" ACTION kmat_extra.Show
END POPUP
END MENU
@ 32,10 LABEL L1 PARENT Form_1 WIDTH 190 RIGHTALIGN VALUE "Matboard Width (Inch or mm)" bold fontcolor { 255 , 0, 0 }
@ 30,210 TEXTBOX V1 PARENT Form_1 WIDTH 60 NUMERIC tooltip 'If < 50 taken as inches else mm'
@ 62,10 LABEL L2 PARENT Form_1 WIDTH 190 RIGHTALIGN VALUE "Matboard Length (Inch or mm)" bold fontcolor { 255 , 0, 0 }
@ 60,210 TEXTBOX V2 PARENT Form_1 WIDTH 60 NUMERIC
@ 102,10 LABEL L3 PARENT Form_1 WIDTH 190 RIGHTALIGN VALUE "Photo Width (Inch or mm)" bold fontcolor { 255 , 0, 0 }
@ 100,210 TEXTBOX V3 PARENT Form_1 WIDTH 60 NUMERIC
@ 132,10 LABEL L4 PARENT Form_1 WIDTH 190 RIGHTALIGN VALUE "Photo Length (Inch or mm)" bold fontcolor { 255 , 0, 0 }
@ 130,210 TEXTBOX V4 PARENT Form_1 WIDTH 60 NUMERIC ON LOSTFOCUS Matcalc()
@ 172,30 LABEL L5 PARENT Form_1 WIDTH 170 RIGHTALIGN VALUE " Base Mat Overlap (mm)"
@ 170,210 TEXTBOX V5 PARENT Form_1 WIDTH 60 NUMERIC
@ 202,30 LABEL L6 PARENT Form_1 WIDTH 170 RIGHTALIGN VALUE " Mat1 to Mat2 Setback (mm)"
@ 200,210 TEXTBOX V6 PARENT Form_1 WIDTH 60 NUMERIC
@ 232,30 LABEL L7 PARENT Form_1 WIDTH 170 RIGHTALIGN VALUE " Mat2 to Mat3 Setback (mm)"
@ 230,210 TEXTBOX V7 PARENT Form_1 WIDTH 60 NUMERIC
@ 272,30 LABEL L8 PARENT Form_1 WIDTH 170 RIGHTALIGN VALUE "Width Offset Landscape (mm)"
@ 270,210 TEXTBOX V8 PARENT Form_1 WIDTH 60 NUMERIC
@ 302,30 LABEL L9 PARENT Form_1 WIDTH 170 RIGHTALIGN VALUE "Length Offset Portrait (mm)"
@ 300,210 TEXTBOX V9 PARENT Form_1 WIDTH 60 NUMERIC
@ 482,35 LABEL L10 PARENT Form_1 WIDTH 50 RIGHTALIGN VALUE "Photo:"
@ 480,90 TEXTBOX V10 PARENT Form_1 WIDTH 180
@ 30,355 BUTTON B1 PARENT Form_1 CAPTION "Calculate" WIDTH 100 BOLD ONCLICK Matcalc()
@ 30,560 BUTTON B3 PARENT Form_1 CAPTION "View : Print" WIDTH 100 BOLD ONCLICK Pdfprt()
@ 159,844 BUTTON B4 PARENT Form_1 CAPTION "" WIDTH 5 Height 5 NOTABSTOP ONCLICK TxtPrt()
@ 310,844 BUTTON B5 PARENT Form_1 CAPTION "" WIDTH 5 Height 5 NOTABSTOP ONCLICK Screen_Prt()
@ 342,30 LABEL L20 PARENT Form_1 WIDTH 170 RIGHTALIGN VALUE "Width - Landscape OC (mm)"
@ 340,210 TEXTBOX V20 PARENT Form_1 WIDTH 60 NUMERIC RIGHTALIGN NOTABSTOP READONLY
@ 345,276 Label A5 PARENT Form_1 WIDTH 10 VALUE "~"
@ 372,30 LABEL L30 PARENT Form_1 WIDTH 170 RIGHTALIGN VALUE "Length - Portrait OC (mm)"
@ 370,210 TEXTBOX V30 PARENT Form_1 WIDTH 60 NUMERIC RIGHTALIGN NOTABSTOP READONLY
@ 375,276 Label A6 PARENT Form_1 WIDTH 10 VALUE "~"
@ 412,30 LABEL L40 PARENT Form_1 WIDTH 100 RIGHTALIGN VALUE "Art-Mat (W:mm)"
@ 410,145 TEXTBOX V45 PARENT Form_1 WIDTH 55 NUMERIC RIGHTALIGN NOTABSTOP READONLY
@ 410,215 TEXTBOX V40 PARENT Form_1 WIDTH 55 NUMERIC RIGHTALIGN NOTABSTOP READONLY
@ 415,276 Label A7 PARENT Form_1 WIDTH 10 VALUE "~"
@ 442,30 LABEL L50 PARENT Form_1 WIDTH 100 RIGHTALIGN VALUE "Art-Mat (L:mm)"
@ 440,145 TEXTBOX V55 PARENT Form_1 WIDTH 55 NUMERIC RIGHTALIGN NOTABSTOP READONLY
@ 440,215 TEXTBOX V50 PARENT Form_1 WIDTH 55 NUMERIC RIGHTALIGN NOTABSTOP READONLY
@ 445,276 Label A8 PARENT Form_1 WIDTH 10 VALUE "~"
@ 32,750 LABEL L100 PARENT Form_1 WIDTH 70 VALUE "Mat-1 W1"
@ 30,820 TEXTBOX V100 PARENT Form_1 WIDTH 50 NUMERIC RIGHTALIGN NOTABSTOP READONLY
@ 30,876 Label 1005 PARENT Form_1 WIDTH 10 VALUE "~"
@ 62,750 LABEL L101 PARENT Form_1 WIDTH 70 VALUE "Mat-1 W2"
@ 60,820 TEXTBOX V101 PARENT Form_1 WIDTH 50 NUMERIC RIGHTALIGN NOTABSTOP READONLY
@ 60,876 Label 1015 PARENT Form_1 WIDTH 10 VALUE "~"
@ 92,750 LABEL L102 PARENT Form_1 WIDTH 70 VALUE "Mat-1 L1"
@ 90,820 TEXTBOX V102 PARENT Form_1 WIDTH 50 NUMERIC RIGHTALIGN NOTABSTOP READONLY
@ 90,876 Label 1025 PARENT Form_1 WIDTH 10 VALUE "~"
@ 122,750 LABEL L103 PARENT Form_1 WIDTH 70 VALUE "Mat-1 L2"
@ 120,820 TEXTBOX V103 PARENT Form_1 WIDTH 50NUMERIC RIGHTALIGN NOTABSTOP READONLY
@ 120,876 Label 1035 PARENT Form_1 WIDTH 10 VALUE "~"
@ 182,750 LABEL L104 PARENT Form_1 WIDTH 70 VALUE "Mat-2 W1"
@ 180,820 TEXTBOX V104 PARENT Form_1 WIDTH 50 NUMERIC RIGHTALIGN NOTABSTOP READONLY
@ 180,876 Label 1045 PARENT Form_1 WIDTH 10 VALUE "~"
@ 212,750 LABEL L105 PARENT Form_1 WIDTH 70 VALUE "Mat-2 W2"
@ 210,820 TEXTBOX V105 PARENT Form_1 WIDTH 50 NUMERIC RIGHTALIGN NOTABSTOP READONLY
@ 210,876 Label 1055 PARENT Form_1 WIDTH 10 VALUE "~"
@ 242,750 LABEL L106 PARENT Form_1 WIDTH 70 VALUE "Mat-2 L1"
@ 240,820 TEXTBOX V106 PARENT Form_1 WIDTH 50 NUMERIC RIGHTALIGN NOTABSTOP READONLY
@ 240,876 Label 1065 PARENT Form_1 WIDTH 10 VALUE "~"
@ 272,750 LABEL L107 PARENT Form_1 WIDTH 70 VALUE "Mat-2 L2"
@ 270,820 TEXTBOX V107 PARENT Form_1 WIDTH 50 NUMERIC RIGHTALIGN NOTABSTOP READONLY
@ 270,876 Label 1075 PARENT Form_1 WIDTH 10 VALUE "~"
@ 332,750 LABEL L108 PARENT Form_1 WIDTH 70 VALUE "Mat-3 W1"
@ 330,820 TEXTBOX V108 PARENT Form_1 WIDTH 50 NUMERIC RIGHTALIGN NOTABSTOP READONLY
@ 330,876 Label 1085 PARENT Form_1 WIDTH 10 VALUE "~"
@ 362,750 LABEL L109 PARENT Form_1 WIDTH 70 VALUE "Mat-3 W2"
@ 360,820 TEXTBOX V109 PARENT Form_1 WIDTH 50 NUMERIC RIGHTALIGN NOTABSTOP READONLY
@ 360,876 Label 1095 PARENT Form_1 WIDTH 10 VALUE "~"
@ 392,750 LABEL L110 PARENT Form_1 WIDTH 70 VALUE "Mat-3 L1"
@ 390,820 TEXTBOX V110 PARENT Form_1 WIDTH 50 NUMERIC RIGHTALIGN NOTABSTOP READONLY
@ 390,876 Label 1105 PARENT Form_1 WIDTH 10 VALUE "~"
@ 422,750 LABEL L111 PARENT Form_1 WIDTH 70 VALUE "Mat-3 L2"
@ 420,820 TEXTBOX V111 PARENT Form_1 WIDTH 50 NUMERIC RIGHTALIGN NOTABSTOP READONLY
@ 420,876 Label 1115 PARENT Form_1 WIDTH 10 VALUE "~"
DRAW RECTANGLE IN WINDOW Form_1 AT 530,380 TO 680,630 PENCOLOR {0,0,0} PENWIDTH 2
DRAW LINE IN WINDOW Form_1 AT 550,380 TO 550,630
DRAW LINE IN WINDOW Form_1 AT 650,380 TO 650,630
DRAW LINE IN WINDOW Form_1 AT 530,430 TO 680,430
DRAW LINE IN WINDOW Form_1 AT 530,580 TO 680,580
@ 505,405 LABEL L201 PARENT Form_1 WIDTH 300 VALUE " W1 - Mark from top of mat down "
@ 686,403 LABEL L202 PARENT Form_1 WIDTH 300 VALUE " W2 - Mark from bottom of mat up"
@ 586,329 LABEL L203 PARENT Form_1 WIDTH 50 VALUE "L1-Left"
@ 586,639 LABEL L204 PARENT Form_1 WIDTH 50 VALUE "L2-Right"
@ 530,730 LABEL L205 PARENT Form_1 WIDTH 200 VALUE "Place matboard with it's"
@ 545,730 LABEL L206 PARENT Form_1 WIDTH 200 VALUE " length -- longer side"
@ 560,730 LABEL L207 PARENT Form_1 WIDTH 200 VALUE " Horizontal"
@ 590,730 LABEL L209 PARENT Form_1 WIDTH 200 VALUE " * See Drawing *"
@ 620,725 LABEL L211 PARENT Form_1 WIDTH 200 VALUE "Measure, mark, draw, cut"
@ 635,725 LABEL L212 PARENT Form_1 WIDTH 200 VALUE "from the back of matboard"
@ 530,95 LABEL L215 PARENT Form_1 WIDTH 200 VALUE "Use Width Offset to"
@ 545,95 LABEL L216 PARENT Form_1 WIDTH 200 VALUE "Optical Center-Bottom Weight"
@ 560,95 LABEL L217 PARENT Form_1 WIDTH 200 VALUE "Landscape Photo Presentation"
@ 590,95 LABEL L219 PARENT Form_1 WIDTH 200 VALUE "Use Length Offset to"
@ 605,95 LABEL L220 PARENT Form_1 WIDTH 200 VALUE "Optical Center-Bottom Weight"
@ 620,95 LABEL L221 PARENT Form_1 WIDTH 200 VALUE "Portrait Photo Presentation"
@ 650,95 LABEL L223 PARENT Form_1 WIDTH 200 VALUE "Suggested Optical Center"
@ 665,95 LABEL L224 PARENT Form_1 WIDTH 200 VALUE "Values Calculated Only"
DRAW RECTANGLE IN WINDOW Form_1 AT 85,310 TO 364,702 PENCOLOR {0,0,0} PENWIDTH 1 FILLCOLOR {255,255,255}
DRAW RECTANGLE IN WINDOW Form_1 AT 117,352 TO 312,660 PENCOLOR {0,0,0} PENWIDTH 1 FILLCOLOR {180,180,180}
DRAW RECTANGLE IN WINDOW Form_1 AT 125,360 TO 304,652 PENCOLOR {0,0,0} PENWIDTH 1 FILLCOLOR {80,80,80}
DRAW LINE IN WINDOW Form_1 AT 145,385 TO 284,632 PENCOLOR {255,153,0} PENWIDTH 1
DRAW LINE IN WINDOW Form_1 AT 284,385 TO 145,632 PENCOLOR {255,153,0} PENWIDTH 1
ACTIVATE WINDOW Form_1
RETURN NIL
*******************************************************************************
FUNCTION Matcalc()
if Form_1.V1.value>0 .and. Form_1.V2.value>0 .and. Form_1.V3.value>0 .and. Form_1.V4.value>0
Kcalc := 1
Public cm, matw, matl, picw, picl, overlap, m12, m23, offw, offl
Public rabit, matw_I, matl_I, picw_I, picl_I, matwidth, matlength, picwidth, piclength
Public K1, K2, K3, K4, K5, U1, U2, U3, R1, R2, R3, R4, R5, T1, T2, T3
Public x, y, x2, y2, vMax, S1, S2, xx2, yy2, xx, yy
Public W3, W4, W5, W6, W7, W8, L3, L4, L5, L6, L7, L8
Public yp, xxp, yyp, x2p, y2p, xx2p, yy2p
Public Kname
matwidth := Form_1.V1.value
matlength := Form_1.V2.value
picwidth := Form_1.V3.value
piclength := Form_1.V4.value
overlap := Form_1.V5.value
m12 := Form_1.V6.value
m23 := Form_1.V7.value
offw := Form_1.V8.value
offl := Form_1.V9.value
Kname := Form_1.V10.value
cm := 25.40
rabit := 12
if matwidth < 50
matw := cm*matwidth
matw_I := matwidth
else
matw := matwidth
matw_I := round((matwidth/cm),2)
endif
if matlength < 50
matl := cm*matlength
matl_I := matlength
else
matl := matlength
matl_I := round((matlength/cm),2)
endif
if picwidth < 50
picw := cm*picwidth
picw_I := picwidth
else
picw := picwidth
picw_I := round((picwidth/cm),2)
endif
if piclength < 50
picl := cm*piclength
picl_I := piclength
else
picl := piclength
picl_I := round((piclength/cm),2)
endif
vMax :=(392/matl)
x := 80
y := 310
xx := x+(matw*vmax)
yy := y+(matl*vmax)
yp := y+(392-(matw*vmax))/2
xxp := x+(matl*vmax)
yyp := yp+(matw*vmax)
s1 := ((Matw-Picw)/2)
s2 := ((Matl-Picl)/2)
x2 := x+(((S1)+(overlap)-(Offw))*vmax)
y2 := y+(((S2)+(overlap)+(Offl))*vmax)
xx2 := x+(((s1+picw)-(overlap)-(Offw))*vmax)
yy2 := y+(((S2+picl)-(overlap)+(Offl))*vmax)
x2p := x+(((S2)+(overlap)-(offl))*vmax)
y2p := yp+(((S1)+(overlap))*vmax)
xx2p := x+(((S2+picl)-(overlap)-(Offl))*vmax)
yy2p := yp+(((S1+picw)-(overlap))*vmax)
K1 := (matw-rabit)+(picw-(2*overlap))
K2 := (matl-rabit)-(picl-(2*overlap))
K3 := 4*(matw-rabit)
K4 := K1*K2
K5 := K4/K3
U1 := (matl-rabit)-(picl-(2*overlap))
U2 := U1/2
U3 := Round((U2-K5),0)
R1 := (matl-rabit)+(picl-(2*overlap))
R2 := (matw-rabit)-(picw-(2*overlap))
R3 := 4*(matl-rabit)
R4 := R1*R2
R5 := R4/R3
T1 := (matw-rabit)-(picw-(2*overlap))
T2 := T1/2
T3 := round((T2-R5),0)
W3=(((matw-picw)+2*Overlap)/2)-offw
W4=(((matw-picw)+2*Overlap)/2)+offw
L3=(((matl-picl)+2*Overlap)/2)-offl
L4=(((matl-picl)+2*Overlap)/2)+offl
if m12 > 0
W5=W3-m12
L5=L3-m12
W6=W4-m12
L6=L4-m12
else
W5=0
W6=0
L5=0
L6=0
Form_1.V6.value := 0
endif
if m23 > 0 .and. m12> 0
W7=W5-m23
L7=L5-m23
W8=W6-m23
L8=L6-m23
else
W7=0
W8=0
L7=0
L8=0
Form_1.V7.value := 0
endif
if m23 > 0 .and. m12 = 0
Form_1.V7.value := 0
endif
if matw > matl
Form_1.V1.value := 0
endif
if picw > picl
Form_1.V3.value := 0
endif
Kname = ltrim(trim(Kname))
if len(Kname) > 30
Kname = substr(Kname,1,30)
endif
Form_1.V10.value := Kname
Form_1.V20.value := T3
Form_1.V30.value := U3
Form_1.V40.value := round(matw,0)
Form_1.V45.value := round(picw,0)
Form_1.V50.value := round(matl,0)
Form_1.V55.value := round(picl,0)
Form_1.V100.value := round(w3,0)
Form_1.V101.value := round(w4,0)
Form_1.V102.value := round(l3,0)
Form_1.V103.value := round(l4,0)
Form_1.V104.value := round(w5,0)
Form_1.V105.value := round(w6,0)
Form_1.V106.value := round(l5,0)
Form_1.V107.value := round(l6,0)
Form_1.V108.value := round(w7,0)
Form_1.V109.value := round(w8,0)
Form_1.V110.value := round(l7,0)
Form_1.V111.value := round(l8,0)
if W3< 0 .or. W4< 0 .or. W5< 0 .or. W6< 0 .or. W7< 0 .or. W8< 0 .or. L3< 0 .or. L4< 0 .or. L5< 0 .or. L6< 0 .or. L7< 0 .or. L8< 0
Kcalc := 0
W3 := 0
W4 := 0
W5 := 0
W6 := 0
W7 := 0
W8 := 0
L3 := 0
L4 := 0
L5 := 0
L6 := 0
L7 := 0
L8 := 0
Form_1.V100.value := round(w3,0)
Form_1.V101.value := round(w4,0)
Form_1.V102.value := round(l3,0)
Form_1.V103.value := round(l4,0)
Form_1.V104.value := round(w5,0)
Form_1.V105.value := round(w6,0)
Form_1.V106.value := round(l5,0)
Form_1.V107.value := round(l6,0)
Form_1.V108.value := round(w7,0)
Form_1.V109.value := round(w8,0)
Form_1.V110.value := round(l7,0)
Form_1.V111.value := round(l8,0)
ERASE WINDOW Form_1
DRAW RECTANGLE IN WINDOW Form_1 AT 530,380 TO 680,630 PENCOLOR {0,0,0} PENWIDTH 2
DRAW LINE IN WINDOW Form_1 AT 550,380 TO 550,630
DRAW LINE IN WINDOW Form_1 AT 650,380 TO 650,630
DRAW LINE IN WINDOW Form_1 AT 530,430 TO 680,430
DRAW LINE IN WINDOW Form_1 AT 530,580 TO 680,580
DRAW RECTANGLE IN WINDOW Form_1 AT 85,310 TO 364,702 PENCOLOR {0,0,0} PENWIDTH 1 FILLCOLOR {255,255,255}
DRAW RECTANGLE IN WINDOW Form_1 AT 117,352 TO 312,660 PENCOLOR {0,0,0} PENWIDTH 1 FILLCOLOR {180,180,180}
DRAW RECTANGLE IN WINDOW Form_1 AT 125,360 TO 304,652 PENCOLOR {0,0,0} PENWIDTH 1 FILLCOLOR {80,80,80}
DRAW LINE IN WINDOW Form_1 AT 145,385 TO 284,632 PENCOLOR {255,153,0} PENWIDTH 1
DRAW LINE IN WINDOW Form_1 AT 284,385 TO 145,632 PENCOLOR {255,153,0} PENWIDTH 1
else
ERASE WINDOW Form_1
DRAW RECTANGLE IN WINDOW Form_1 AT 530,380 TO 680,630 PENCOLOR {0,0,0} PENWIDTH 2
DRAW LINE IN WINDOW Form_1 AT 550,380 TO 550,630
DRAW LINE IN WINDOW Form_1 AT 650,380 TO 650,630
DRAW LINE IN WINDOW Form_1 AT 530,430 TO 680,430
DRAW LINE IN WINDOW Form_1 AT 530,580 TO 680,580
if matw>0 .and. matl>0 .and. picw>0 .and. picl>0 .and. picw<matw .and. picl<matl .and. picw<=picl .and. matw<=matl
if offl > 0 .and. offw = 0
DRAW RECTANGLE IN WINDOW Form_1 AT x,yp TO xxp,yyp PENCOLOR {0,0,0} PENWIDTH 1 FILLCOLOR {255,255,255}
if m23 > 0 .and. m12> 0
DRAW RECTANGLE IN WINDOW Form_1 AT (x2p-((m12+m23)*vmax))-1, (y2p-((m12+m23)*vmax))-1 TO (xx2p+((m12+m23)*vmax))+1, (yy2p+((m12+m23)*vmax))+1 PENCOLOR {128,128,128} PENWIDTH 1 FILLCOLOR {180,180,180}
DRAW RECTANGLE IN WINDOW Form_1 AT (x2p-((m12+m23)*vmax)), (y2p-((m12+m23)*vmax)) TO (xx2p+((m12+m23)*vmax)), (yy2p+((m12+m23)*vmax)) PENCOLOR {255,255,255} PENWIDTH 1 FILLCOLOR {180,180,180}
DRAW RECTANGLE IN WINDOW Form_1 AT (x2p-((m12+m23)*vmax))+1, (y2p-((m12+m23)*vmax))+1 TO (xx2p+((m12+m23)*vmax))-1, (yy2p+((m12+m23)*vmax))-1 PENCOLOR {0,0,0} PENWIDTH 1 FILLCOLOR {180,180,180}
endif
if m12 > 0
DRAW RECTANGLE IN WINDOW Form_1 AT (x2p-((m12)*vmax))-1, (y2p-((m12)*vmax))-1 TO (xx2p+((m12)*vmax))+1, (yy2p+((m12)*vmax))+1 PENCOLOR {128,128,128} PENWIDTH 1 FILLCOLOR {210,210,210}
DRAW RECTANGLE IN WINDOW Form_1 AT (x2p-((m12)*vmax)), (y2p-((m12)*vmax)) TO (xx2p+((m12)*vmax)), (yy2p+((m12)*vmax)) PENCOLOR {255,255,255} PENWIDTH 1 FILLCOLOR {210,210,210}
DRAW RECTANGLE IN WINDOW Form_1 AT (x2p-((m12)*vmax))+1, (y2p-((m12)*vmax))+1 TO (xx2p+((m12)*vmax))-1, (yy2p+((m12)*vmax))-1 PENCOLOR {0,0,0} PENWIDTH 1 FILLCOLOR {210,210,210}
endif
DRAW RECTANGLE IN WINDOW Form_1 AT x2p-1,y2p-1 TO xx2p+1,yy2p+1 PENCOLOR {128,128,128} PENWIDTH 1 FILLCOLOR {80,80,80}
DRAW RECTANGLE IN WINDOW Form_1 AT x2p,y2p TO xx2p,yy2p PENCOLOR {255,255,255} PENWIDTH 1 FILLCOLOR {80,80,80}
DRAW RECTANGLE IN WINDOW Form_1 AT x2p+1,y2p+1 TO xx2p-1,yy2p-1 PENCOLOR {0,0,0} PENWIDTH 1 FILLCOLOR {80,80,80}
else
* Full Mat Size
DRAW RECTANGLE IN WINDOW Form_1 AT x,y TO xx,yy PENCOLOR {0,0,0} PENWIDTH 1 FILLCOLOR {255,255,255}
* 3rd Mat
if m23 > 0 .and. m12> 0
DRAW RECTANGLE IN WINDOW Form_1 AT (x2-((m12+m23)*vmax))-1, (y2-((m12+m23)*vmax))-1 TO (xx2+((m12+m23)*vmax))+1, (yy2+((m12+m23)*vmax))+1 PENCOLOR {128,128,128} PENWIDTH 1 FILLCOLOR {180,180,180}
DRAW RECTANGLE IN WINDOW Form_1 AT (x2-((m12+m23)*vmax)), (y2-((m12+m23)*vmax)) TO (xx2+((m12+m23)*vmax)), (yy2+((m12+m23)*vmax)) PENCOLOR {255,255,255} PENWIDTH 1 FILLCOLOR {180,180,180}
DRAW RECTANGLE IN WINDOW Form_1 AT (x2-((m12+m23)*vmax))+1, (y2-((m12+m23)*vmax))+1 TO (xx2+((m12+m23)*vmax))-1, (yy2+((m12+m23)*vmax))-1 PENCOLOR {0,0,0} PENWIDTH 1 FILLCOLOR {180,180,180}
endif
* 2nd Mat
if m12 > 0
DRAW RECTANGLE IN WINDOW Form_1 AT (x2-((m12)*vmax))-1, (y2-((m12)*vmax))-1 TO (xx2+((m12)*vmax))+1, (yy2+((m12)*vmax))+1 PENCOLOR {128,128,128} PENWIDTH 1 FILLCOLOR {210,210,210}
DRAW RECTANGLE IN WINDOW Form_1 AT (x2-((m12)*vmax)), (y2-((m12)*vmax)) TO (xx2+((m12)*vmax)), (yy2+((m12)*vmax)) PENCOLOR {255,255,255} PENWIDTH 1 FILLCOLOR {210,210,210}
DRAW RECTANGLE IN WINDOW Form_1 AT (x2-((m12)*vmax))+1, (y2-((m12)*vmax))+1 TO (xx2+((m12)*vmax))-1, (yy2+((m12)*vmax))-1 PENCOLOR {0,0,0} PENWIDTH 1 FILLCOLOR {210,210,210}
endif
* Base - Main Mat
DRAW RECTANGLE IN WINDOW Form_1 AT x2-1,y2-1 TO xx2+1,yy2+1 PENCOLOR {128,128,128} PENWIDTH 1 FILLCOLOR {80,80,80}
DRAW RECTANGLE IN WINDOW Form_1 AT x2,y2 TO xx2,yy2 PENCOLOR {255,255,255} PENWIDTH 1 FILLCOLOR {80,80,80}
DRAW RECTANGLE IN WINDOW Form_1 AT x2+1,y2+1 TO xx2-1,yy2-1 PENCOLOR {0,0,0} PENWIDTH 1 FILLCOLOR {80,80,80}
endif
else
Kcalc := 0
matw := 0
matl := 0
picw := 0
picl := 0
matw_I := 0
matl_I := 0
W3 := 0
W4 := 0
W5 := 0
W6 := 0
W7 := 0
W8 := 0
L3 := 0
L4 := 0
L5 := 0
L6 := 0
L7 := 0
L8 := 0
ERASE WINDOW Form_1
DRAW RECTANGLE IN WINDOW Form_1 AT 530,380 TO 680,630 PENCOLOR {0,0,0} PENWIDTH 2
DRAW LINE IN WINDOW Form_1 AT 550,380 TO 550,630
DRAW LINE IN WINDOW Form_1 AT 650,380 TO 650,630
DRAW LINE IN WINDOW Form_1 AT 530,430 TO 680,430
DRAW LINE IN WINDOW Form_1 AT 530,580 TO 680,580
DRAW RECTANGLE IN WINDOW Form_1 AT 85,310 TO 364,702 PENCOLOR {0,0,0} PENWIDTH 1 FILLCOLOR {255,255,255}
DRAW RECTANGLE IN WINDOW Form_1 AT 117,352 TO 312,660 PENCOLOR {0,0,0} PENWIDTH 1 FILLCOLOR {180,180,180}
DRAW RECTANGLE IN WINDOW Form_1 AT 125,360 TO 304,652 PENCOLOR {0,0,0} PENWIDTH 1 FILLCOLOR {80,80,80}
DRAW LINE IN WINDOW Form_1 AT 145,385 TO 284,632 PENCOLOR {255,153,0} PENWIDTH 1
DRAW LINE IN WINDOW Form_1 AT 284,385 TO 145,632 PENCOLOR {255,153,0} PENWIDTH 1
endif
endif
endif
RETURN NIL
************************************************************************************************
FUNCTION Screen_prt()
*
* PRINTWINDOW ( cWindowName , lPreview , ldialog , nRow , nCol , nWidth , nHeight ) ***
* SAVEWINDOW ( cWindowName , cFileName , nRow , nCol , nWidth , nHeight ) ***
*
if Kcalc > 0
* SAVEWINDOW ("Form_1", "Kmat.bmp")
PRINTWINDOW ("Form_1", .t., .t.)
endif
RETURN NIL
************************************************************************************************
FUNCTION Txtprt()
local padx
padx := 7
*
if Kcalc > 0
set alternate to "Kmat.txt"
set alternate on
?
?
if len(ltrim(trim(Kname))) > 0
pady := (75-len(ltrim(trim(Kname))))/2
? space(pady), ltrim(trim(Kname))
else
?
endif
? space(5), "_____________________________________________________________"
?
? space(10), " Matboard Width (inch/mm) :", space(1), alltrim(str(matw_I)),space(padx-len (alltrim(str(matw_I)))), alltrim(str(round(matw,0)))
? space(10), " Matboard Length (inch/mm) :", space(1), alltrim(str(matl_I)),space(padx-len (alltrim(str(matl_I)))), alltrim(str(round(matl,0)))
?
? space(10), " Art-Photo Width (inch/mm) :", space(1), alltrim(str(picw_I)),space(padx-len (alltrim(str(picw_I)))), alltrim(str( round(picw,0)))
? space(10), "Art-Photo Length (inch/mm) :", space(1), alltrim(str(picl_I)),space(padx-len (alltrim(str(picl_I)))), alltrim(str( round(picl,0)))
?
? space(10), " Base Mat Overlap (mm) :", space(1), alltrim(str(overlap))
*
if m12 <> 0
? space(10), " Mat1 to Mat2 Setback (mm) :", space(1), alltrim(str(m12))
else
? space(10), " Mat1 to Mat2 Setback (mm) :", space(1),""
endif
*
if m23 <> 0
? space(10), " Mat2 to Mat2 Setback (mm) :", space(1), alltrim(str(m23))
else
? space(10), " Mat2 to Mat2 Setback (mm) :", space(1), ""
endif
?
if offw <> 0
? space(10), " Photo Width Offset (mm) :", space(1), alltrim(str(offw))
else
? space(10), " Photo Width Offset (mm) :", space(1), ""
endif
if offl <> 0
? space(10), " Photo Length Offset (mm) :", space(1), alltrim(str(offl))
else
? space(10), " Photo Length Offset (mm) :", space(1), ""
endif
?
? space(10), " Photo Width Optical Cntr :", space(1), alltrim(str(t3))
? space(10), " Photo Length Optical Cntr :", space(1), alltrim(str(u3))
? space(5), "_____________________________________________________________"
?
? space(29), "Mat1 W1 :", space(1), ltrim(str(round(w3,0)))
? space(29), "Mat1 W2 :", space(1), ltrim(str(round(w4,0)))
? space(29), "Mat1 L1 :", space(1), ltrim(str(round(l3,0)))
? space(29), "Mat1 L2 :", space(1), ltrim(str(round(l4,0)))
*
if w5>0 .and. w6>0 .and. l5>0 .and. l6>0
?
? space(29), "Mat2 W1 :", space(1), ltrim(str(round(w5,0)))
? space(29), "Mat2 W2 :", space(1), ltrim(str(round(w6,0)))
? space(29), "Mat2 L1 :", space(1), ltrim(str(round(l5,0)))
? space(29), "Mat2 L2 :", space(1), ltrim(str(round(l6,0)))
endif
*
if w7>0 .and. w8>0 .and. l7>0 .and. l8>0
?
? space(29), "Mat3 W1 :", space(1), ltrim(str(round(w7,0)))
? space(29), "Mat3 W2 :", space(1), ltrim(str(round(w8,0)))
? space(29), "Mat3 L1 :", space(1), ltrim(str(round(l7,0)))
? space(29), "Mat3 L2 :", space(1), ltrim(str(round(l8,0)))
endif
*
? space(5), "_____________________________________________________________"
?
?
?
set alternate off
set alternate to
if file ("AkelPad.Exe")
Execute file "AkelPad.exe" Parameters "Kmat.txt"
endif
endif
RETURN NIL
************************************************************************************************
FUNCTION PdfPrt()
if Kcalc > 0
SELECT PRINTER DEFAULT TO PdfRpt PREVIEW
If PdfRpt
START PRINTDOC
START PRINTPAGE
@ 23,108 Print ltrim(trim(Kname)) Center Font "Lucenda Console" Size 11
@ 25,108 Print "____________________________________________________________" Center Font "Lucenda Console" Size 11
*
@ 33,103 Print "Matboard Width -- (In, mm)" Font "Lucenda Console" Size 11 Right
@ 33,108 print ":" Font "Lucenda Console" Size 11
@ 33,123 Print alltrim(str(matw_I)) Font "Lucenda Console" Size 11 Right
@ 33,143 Print alltrim(str(round(matw,0))) Font "Lucenda Console" Size 11 Right
@ 38,103 Print "Matboard Length -- (In, mm)" Font "Lucenda Console" Size 11 Right
@ 38,108 print ":" Font "Lucenda Console" Size 11
@ 38,123 Print alltrim(str(matl_I)) Font "Lucenda Console" Size 11 Right
@ 38,143 Print alltrim(str(round(matl,0))) Font "Lucenda Console" Size 11 right
*
@ 46,103 Print "Art-Photo Width -- (In, mm)" Font "Lucenda Console" Size 11 Right
@ 46,108 print ":" Font "Lucenda Console" Size 11
@ 46,123 Print alltrim(str(picw_I)) Font "Lucenda Console" Size 11 Right
@ 46,143 Print alltrim(str(round(picw,0))) Font "Lucenda Console" Size 11 Right
@ 51,103 Print "Art-Photo Length -- (In, mm)" Font "Lucenda Console" Size 11 Right
@ 51,108 print ":" Font "Lucenda Console" Size 11
@ 51,123 print alltrim(str(picl_I)) Font "Lucenda Console" Size 11 Right
@ 51,143 Print alltrim(str(round(picl,0))) Font "Lucenda Console" Size 11 Right
*
@ 59,103 Print "Base Mat Overlap -- (mm)" Font "Lucenda Console" Size 11 Right
@ 59,108 print ":" Font "Lucenda Console" Size 11
@ 59,123 Print alltrim(str(overlap)) Font "Lucenda Console" Size 11 Right
*
@ 64,103 Print "Mat1 to Mat2 Setback - (mm)" Font "Lucenda Console" Size 11 Right
@ 64,108 print ":" Font "Lucenda Console" Size 11
if m12 <> 0
@ 64,123 Print alltrim(str(m12)) Font "Lucenda Console" Size 11 Right
else
@ 64,123 Print "" Font "Lucenda Console" Size 11 Right
endif
@ 69,103 Print "Mat2 to Mat3 Setback - (mm)" Font "Lucenda Console" Size 11 Right
@ 69,108 print ":" Font "Lucenda Console" Size 11
if m23 <> 0
@ 69,123 Print alltrim(str(m23)) Font "Lucenda Console" Size 11 Right
else
@ 69,123 Print "" Font "Lucenda Console" Size 11 Right
endif
@ 77,103 Print "Photo Width Offset -- (mm)" Font "Lucenda Console" Size 11 Right
@ 77,108 print ":" Font "Lucenda Console" Size 11
if offw <> 0
@ 77,123 Print alltrim(str(offw)) Font "Lucenda Console" Size 11 Right
else
@ 77,123 Print "" Font "Lucenda Console" Size 11 Right
endif
@ 82,103 Print "Photo Length Offset -- (mm)" Font "Lucenda Console" Size 11 Right
@ 82,108 print ":" Font "Lucenda Console" Size 11
if offl <> 0
@ 82,123 Print alltrim(str(offl)) Font "Lucenda Console" Size 11 Right
else
@ 82,123 Print "" Font "Lucenda Console" Size 11 Right
endif
@ 90,103 Print "Photo Width Optical Center" Font "Lucenda Console" Size 11 Right
@ 90,108 print ":" Font "Lucenda Console" Size 11
@ 90,123 Print alltrim(str(t3)) Font "Lucenda Console" Size 11 Right
@ 95,103 Print "Photo Length Optical Center" Font "Lucenda Console" Size 11 Right
@ 95,108 print ":" Font "Lucenda Console" Size 11
@ 95,123 Print alltrim(str(u3)) Font "Lucenda Console" Size 11 Right
@ 99,108 Print "____________________________________________________________" Center Font "Lucenda Console" Size 11
*
@110,103 Print "Mat.1 -- W.1" Font "Lucenda Console" Size 11 Right
@110,108 print ":" Font "Lucenda Console" Size 11
@110,123 Print alltrim(str(round(w3,0))) Font "Lucenda Console" Size 11 Right
@115,103 Print "Mat.1 -- W.2" Font "Lucenda Console" Size 11 Right
@115,108 print ":" Font "Lucenda Console" Size 11
@115,123 Print alltrim(str(round(w4,0))) Font "Lucenda Console" Size 11 Right
@120,103 Print "Mat.1 --- L.1" Font "Lucenda Console" Size 11 Right
@120,108 print ":" Font "Lucenda Console" Size 11
@120,123 Print alltrim(str(round(l3,0))) Font "Lucenda Console" Size 11 Right
@125,103 Print "Mat.1 --- L.2" Font "Lucenda Console" Size 11 Right
@125,108 print ":" Font "Lucenda Console" Size 11
@125,123 Print alltrim(str(round(l4,0))) Font "Lucenda Console" Size 11 Right
*
if w5>0 .and. w6>0 .and. l5>0 .and. l6>0
@135,103 Print "Mat.2 -- W.1" Font "Lucenda Console" Size 11 Right
@135,108 print ":" Font "Lucenda Console" Size 11
@135,123 Print alltrim(str(round(w5,0))) Font "Lucenda Console" Size 11 Right
@140,103 Print "Mat.2 -- W.2" Font "Lucenda Console" Size 11 Right
@140,108 print ":" Font "Lucenda Console" Size 11
@140,123 Print alltrim(str(round(w6,0))) Font "Lucenda Console" Size 11 Right
@145,103 Print "Mat.2 --- L.1" Font "Lucenda Console" Size 11 Right
@145,108 print ":" Font "Lucenda Console" Size 11
@145,123 Print alltrim(str(round(l5,0))) Font "Lucenda Console" Size 11 Right
@150,103 Print "Mat.2 --- L.2" Font "Lucenda Console" Size 11 Right
@150,108 print ":" Font "Lucenda Console" Size 11
@150,123 Print alltrim(str(round(l6,0))) Font "Lucenda Console" Size 11 Right
Endif
*
if w7>0 .and. w8>0 .and. l7>0 .and. l8>0
@160,103 Print "Mat.3 -- W.1" Font "Lucenda Console" Size 11 Right
@160,108 print ":" Font "Lucenda Console" Size 11
@160,123 Print alltrim(str(round(w7,0))) Font "Lucenda Console" Size 11 Right
@165,103 Print "Mat.3 -- W.2" Font "Lucenda Console" Size 11 Right
@165,108 print ":" Font "Lucenda Console" Size 11
@165,123 Print alltrim(str(round(w8,0))) Font "Lucenda Console" Size 11 Right
@170,103 Print "Mat.3 --- L.1" Font "Lucenda Console" Size 11 Right
@170,108 print ":" Font "Lucenda Console" Size 11
@170,123 Print alltrim(str(round(l7,0))) Font "Lucenda Console" Size 11 Right
@175,103 Print "Mat.3 --- L.2" Font "Lucenda Console" Size 11 Right
@175,108 print ":" Font "Lucenda Console" Size 11
@175,123 Print alltrim(str(round(l8,0))) Font "Lucenda Console" Size 11 Right
Endif
END PRINTPAGE
END PRINTDOC
Endif
Endif
RETURN NIL
************************************************************************************************
* End