vb打印机打印程序代码(vb 打印)
admin 发布:2022-12-19 19:38 141
今天给各位分享vb打印机打印程序代码的知识,其中也会对vb 打印进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
vb 如何发送打印机命令
下面的代码是在默认打印机上打印几行文字:
Printer.Print "第1行文字:哈哈哈哈"
Printer.Print "第2行文字:呵呵呵呵"
Printer.Print "第3行文字:嘿嘿嘿嘿"
Printer.EndDoc
下面是在打印机上输出一张图片:
Printer.PaintPicture LoadPicture("图片文件路径"), 0, 0
Printer.EndDoc
其他打印命令可自行参考VB在窗体上的各种文字和图形输出命令(比如画线Line,画圆Circle等等),也就是说,打印机的纸张可以完全视同为屏幕上的窗体。
求"打印"的VB代码!
是本人关于数据库查询输出的代码,可供参考:
VB下数据报表打印输出方法有多种,一是通过自己的设计和编程完成报表打印输出。二是通过MS OFFICE实现报表打印输出。三是应用数据报表设计器的报表打印输出。本人经常使用第一种方法,它具有根据需要灵活应用的特点,但需编写程序。下附代码,第一段代码定义基本变量,第二段代码定义打印函数,第三段代码是具体打印代码,含数据转换。第四段代码是窗体加载代码,具体连接数据库和打印代码根据你所涉及的数据要求进行修改。
Option Explicit
Private n As Integer
Private m As Integer
Private zh_dm(10) As Double
Private dy_dm(3000, 10) As Variant
Private zsl As Integer
Private y As Integer
Private x As Integer
Private i As Integer
Private k As Integer
Private p As Integer
Private pa As Integer
Private j As Integer
Private txt As String
Private fnt As Integer
Private dd As Variant
'打印文字函数
Public Function prnt(x As Variant, y As Variant, fnt As Variant, txt0 As Variant)
Printer.CurrentX = x
Printer.CurrentY = y
Printer.FontSize = fnt
Printer.Print txt0
End Function
Private Sub cmdPrint_Click()
Adodc1.Recordset.MoveFirst
For i = 0 To zsl - 1
For j = 0 To 7
dy_dm(i, j) = Adodc1.Recordset(j)
Next j
Adodc1.Recordset.MoveNext
Next i
'确定页数
k = Int(zsl / 80)'80为每页行数
If k - zsl / 80 0 Then
k = k + 1
End If
fnt = 8
For p = 0 To k - 1
pa = p + 1
y = 300
x = 4500
txt = "机物料库存"
dd = prnt(x, y, fnt, txt)
x = 8500
txt = "第" p + 1 "页"
dd = prnt(x, y, fnt, txt)
y = 500
x = 600
txt = "备件代码"
dd = prnt(x, y, fnt, txt)
x = 1500
txt = "备件名称"
dd = prnt(x, y, fnt, txt)
x = 3500
txt = "备件规格"
dd = prnt(x, y, fnt, txt)
x = 5500
txt = "进口计算机号"
dd = prnt(x, y, fnt, txt)
x = 7500
txt = "最低储备量"
dd = prnt(x, y, fnt, txt)
x = 9000
txt = "库存量"
dd = prnt(x, y, fnt, txt)
For i = 0 + p * 80 To 79 + p * 80
y = 700 + 180 * (i - p * 80)
x = 600
txt = dy_dm(i, 1)
dd = prnt(x, y, fnt, txt)
x = 1500
txt = dy_dm(i, 2)
dd = prnt(x, y, fnt, txt)
x = 3500
txt = dy_dm(i, 3)
dd = prnt(x, y, fnt, txt)
x = 5500
txt = dy_dm(i, 4)
dd = prnt(x, y, fnt, txt)
x = 7500
txt = dy_dm(i, 5)
dd = prnt(x, y, fnt, txt)
x = 9000
txt = dy_dm(i, 6)
dd = prnt(x, y, fnt, txt)
'打印分隔线条
If Int(i / 10) - i / 10 = 0 Then
Printer.Line (500, 695 + (i - p * 80) * 180)-(10000, 695 + (i - p * 80) * 180)
End If
Next i
If zsl - p * 80 80 Then
Printer.Line (500, 695 + 180 * 80)-(10000, 695 + 180 * 80)
Printer.NewPage
End If
Next p
Printer.EndDoc ' 打印完成。
Cls
End Sub
'查询代码
Private Sub Form_Load()
Adodc1.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=jwl_dbf"
Adodc1.RecordSource = "select cs.js_dm,cs.备件代码,cs.备件名称,cs.备件规格,cs.进口计算机号,cs.最低库存量,sl.结存数量,sl.结存金额,sl.结存单价,sl.类别代码 from JWCK_BM as cs,jwl_jiec as sl" _
" where cs.备件代码 = sl.备件代码" " and cs.备件代码" "''" " order by sl.类别代码,sl.备件代码"
Adodc1.Refresh
DataGrid1.Refresh
zsl = Adodc1.Recordset.RecordCount
Adodc3.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=jwl_dbf"
Adodc3.RecordSource = "select sum(结存金额) as hj from jwl_jiec"
Adodc3.Refresh
End Sub
以上供参考。其它请参考西安交通大学出版社出版的“VISUAL BASIC 6.0 高级编程技巧-ADO数据访问篇“
VB选择用户指定的打印机进行打印如何写代码啊
不会阿,用你以上代码,会弹出打印“常规”选项框,默认打印还是选在默认打印机上
vb实现在打印机上打印出“中国”二字的代码怎么写?谢谢!
方法1:
Option Explicit
Private Y As Integer
Private fnt As Integer
Private txt As Variant
Private dy As Variant
Private dd As Variant
Public Function prnt(X As Variant, Y As Variant, fnt As Variant, txt As Variant)
Printer.CurrentX = X
Printer.CurrentY = Y
Printer.FontSize = fnt
Printer.Print txt
End Function
Private Sub DataPrint1_Click()
fnt = 16
Y = 450
X = 1000
txt = "中国"
dy = prnt(X, Y, fnt, txt)
Printer.EndDoc
End Sub
方法2:
Private Sub Command1_Click()
Printer.FontSize = 16
Printer.CurrentX = 1000
Printer.CurrentY = 500
Printer.Print "中国"
Printer.EndDoc
End Sub
方法3:适用WIN98,WINXP中文乱码
Private Sub Command4_Click()
Dim i As Integer
Open "LPT1" For Output As #1
For i = 1 To 5
Print #1, Chr(10); "控制换行,同Chr(13) "
Next
Print #1, Chr(27); "IA"; "ABCDEFGHIJKL"; "正常字体每行80字符"
Print #1, Chr(14); "ABCDEFGHIJKL"; "宽体每行40字符 "
Print #1, Chr(27); "IA"; "恢复正常字体 "
Print #1, Chr(27); "IA"; "ABCDEFGHIJKL"; "正常字体每行80字符"
Print #1, Chr(27); "IB"; "ABCDEFGHIJKL"; "横向扩展每行40字符 "
Print #1, Chr(27); "IC"; "ABCDEFGHIJKL"; "纵向扩展每行80字符 "
Print #1, Chr(27); "E"; "ABCDEFGHIJKL"; "加重黑体 "
Print #1, Chr(27); "F"; "取消加重黑体 "
Print #1, Chr(27); "IA"; "恢复正常字体 "
Print #1, Chr(27); "4"; "ABCDEFGHIJKL"; "斜体 "
Print #1, Chr(27); "5"; "取消斜体 "
Print #1, Chr(27); "0"; "ABCDEFGHIJKL"; "打印每吋6行改8行 "
Print #1, Chr(27); "1"; "ABCDEFGHIJKL"; "重置行间隔为7/72 "
Print #1, Chr(27); "2"; "ABCDEFGHIJKL"; "重置行间隔为1/6 "
Print #1, Chr(27); "IA"; "ABCDEFGHIJKL"; "正常字体每行80字符"
Close #1
End Sub
vb中的打印代码
最简单的,就是:
Me.PrintForm
否则,一两句话还说不清。
错误肯定是严重的!
For i = 0 To DataGrid1 - 1
你这个 DataGrid1 叫系统怎么理解?DataGrid1是这个网格控件的名字对吧?名字还可以减1啊?那么名字减1等于几呢?
你要这样打印结果的话,我告诉你要这样:DataGrid控件有列属性(Col)和行属性(Row),这样就可以获得某单元格的内容了:这样:
要定位到列和行,才能获得指定的单元格值:并且注意,行与列号都是从0开始编号!
DataGrid1.Col = 0
DataGrid1.Row = 0
Print DataGrid1.Text '这样就能获得首行首列单元格的内容
所以要获得全部内容,要使用循环。
但是,换个思路,你这个DataGrid控件里的数据,应该来自于记录集对象,那直接用对象的属性来获得就可以了呀!
vb打印机打印程序代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vb 打印、vb打印机打印程序代码的信息别忘了在本站进行查找喔。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
- 上一篇:竖向导航栏源代码(html导航栏竖向)
- 下一篇:人脸重构代码(人脸重构代码是什么)
相关推荐
- 05-06网页代码form什么意思(web中form)[20240506更新]
- 05-06滚动屏代码(数字滚动屏)[20240506更新]
- 05-06表白css特效代码(html520表白代码)[20240506更新]
- 05-06全屏图片上下滚动代码(全屏图片上下滚动代码怎么设置)[20240506更新]
- 05-06主机扫描代码(主机扫描代码怎么看)[20240506更新]
- 05-06搜索网站的代码(搜索网站的代码大全)[20240506更新]
- 05-06asp跳转代码怎么写(asp网页跳转)[20240506更新]
- 05-06文本代码编辑器(文本编辑器代码教程)[20240506更新]
- 05-06卡尔曼滤波定位解算matlab代码(粒子滤波目标跟踪算法matlab)[20240506更新]
- 05-06html5代码软件(开发html5软件)[20240506更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接