以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  问个专业报表的问题,piao据套打问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=29751)

--  作者:unverse
--  发布时间:2013/3/12 23:54:00
--  问个专业报表的问题,piao据套打问题

我现在用专业报表做了个支票打印系统,现在有个疑问想请教一下:

 

现在用针式打印机是可以正常打印的,支票横着打竖着打都可以,但前提是放支票的时候得靠左边放纸,

 

但有些时候客户没有针式打印机需要用激光打印机来打印支票,这样就要求将支票竖着放纸,而且放纸的时候需要将支票放在中间,这样才可以打印出来,我看了一下专业报表没有找到这个参数,请问可以实现这个功能吗?用那个参数可以控制打印的时候从中间打印!

 

 


--  作者:unverse
--  发布时间:2013/3/13 13:51:00
--  

狐爸给解答一下哪。。。


--  作者:狐狸爸爸
--  发布时间:2013/3/13 14:02:00
--  

呵呵,这个我也不懂。

 

一般都是定义一个大大的纸张,通过调整页边距来控制打印位置。

[此贴子已经被作者于2013-3-13 14:03:01编辑过]

--  作者:unverse
--  发布时间:2013/3/13 15:34:00
--  

If Tables("支票").Rows.Count>0 Then
If Tables("支票").Current.DataRow.RowState <> DataRowState.Unchanged Then \'如果当前行已经修改过
MessageBox.Show("请先保存单据后打印!","温馨提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Return
Else
Dim r As Row = Tables("支票").Current
Dim r1 As String = r("内码")
With Tables("支票_pconf")
Dim a As Integer
a=.FindRow("[内码]=\'" & r1 & "\'",.position+1,True)

If a>=0 Then \'找到
Tables("支票_pconf").Position=a
Dim prt As Row = Tables("支票_pconf").Current
Dim pyz As Integer = prt("偏移_左") \'取左偏移的值....
Dim pys As Integer = prt("偏移_上") \'取上偏移的值....
Dim doc As New PrintDoc \'定义一个报表
Dim text As new prt.RenderText
Dim dycs As DataRow = DataTables("系统设置").find("列名 = \'默认打印机\'")\'判断默认打印机
If dycs("列值") = "" Then
MessageBox.Show("未设置默认打印,请在稍后弹出的窗口中选择默认打印机","提示信息")
Forms("系统设置").open
Else
Doc.PrinterName= dycs("列值")
End If
Doc.PageSetting.LeftMargin=1
Doc.PageSetting.BottomMargin =1
Doc.PageSetting.TopMargin=1
Doc.PageSetting.LeftMargin =1
doc.PageSetting.Width = val(prt("长度"))

doc.PageSetting.Height = val(prt("宽度"))

.........


Dim ytz As New prt.RenderText \'用途左边
ytz.Text = r("用途")
ytz.X = val(prt("副_用途_X")) + pyz
ytz.y = val(prt("副_用途_Y")) + pys
Doc.body.Children.Add(ytz)
Doc.Preview()

这是代码 不知道能不能看出来什么问题。