当前位置:首页 > 代码 > 正文

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站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/20934.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载