以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  指定的转换无效  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=181001)

--  作者:njzwm
--  发布时间:2022/10/21 22:44:00
--  指定的转换无效
利用报表形式打印标签的设计中,如果标签的长宽我直接用数字表示一切正常无错,但是如果我用变量来替代(全局变量也不行),这样就总是出错,提示如图,不知是什么原因,望老师解答,谢谢!

Dim doc As New PrintDoc \'定义一个报表
Dim rt As New prt.RenderText \'定义一个文本对象

Dim ph, pw, pm, hn, hd, vn, vd As Double \'定义纸长,纸宽,页边距、标签行数、行间距、列数、列间距


Doc.PageSetting.LeftMargin = pm \'设置左边距
Doc.PageSetting.RightMargin = pm \'设置右边距
Doc.PageSetting.TopMargin = pm \'设置上边距
Doc.PageSetting.BottomMargin = pm \'设置下边距

ph = 297
pw = 210
hn = 2
vn = 3
hd = 1
vd = 2

Dim lh, lw \'定义标签的高度、宽度
lh = (ph - 2 * pm - (hn - 1) * vd) / vn
lw = (pw - 2 * pm - (vn - 1) * hd) / hn



Dim rtt As prt.RenderText \'定义一个文本对象
doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight \'设置排列方式

For i As Integer = 1 To hn * vn
    rtt = New prt.RenderText() \'创建文本对象
    rtt.Text = "Hello Foxtable " & i \'设置文本对象的内容
    rtt.Height = 95 \'宽度毫米
    rtt.Width = 99 \'宽度毫米
    rtt.Style.Spacing.left = vd \'设置左边方向的间隔
     rtt.Style.Spacing.top = hd \'设置顶部方向的间隔

    rtt.Style.Borders.All = New prt.Linedef(1, Color.Red) \'设置边框
    rtt.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中
    rtt.Style.TextAlignVert = prt.AlignVertEnum.Center \'垂直居中
    doc.Body.Children.Add(rtt) \'将文本对象加入到报表
Next
doc.Preview() \'预览


图片点击可在新窗口打开查看此主题相关图片如下:x.png
图片点击可在新窗口打开查看


[此贴子已经被作者于2022/10/21 22:46:30编辑过]

--  作者:洮沙
--  发布时间:2022/10/22 7:45:00
--  
添加转换函数试试:
如:CDbl(hl)
我前阵子也遇到此现象,一直不得其解,反复折腾原来如此。
Dim hl As Double  \'这样也不行

如下:
        doc.PageSetting.TopMargin = CInt(ydr("上边距")) \'设置上边距
        doc.PageSetting.BottomMargin = CInt(ydr("下边距")) \'设置下边距  
        doc.PageSetting.LeftMargin = CInt(ydr("左边距"))\'设置左边距
        doc.PageSetting.RightMargin = CInt(ydr("右边距")) \'设置右边距
        cr = Color.FromARGB(CInt(ydr("网格线颜色")))
        ht = CInt(ydr("行高"))
[此贴子已经被作者于2022/10/22 7:51:59编辑过]

--  作者:有点蓝
--  发布时间:2022/10/22 9:45:00
--  
Dim lh, lw as integer \'定义标签的高度、宽度
--  作者:njzwm
--  发布时间:2022/10/22 22:07:00
--  
谢谢2位解答,我这里的问题还是dim定义没写全,低级错误,不好意思。蓝老师慧眼识错!