📄 991208.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0060)http://www.pconline.com.cn/experience/subject/VB/991208.html -->
<HTML><HEAD><TITLE>|><| 太平洋电脑信息网</TITLE><!-- #BeginTemplate "/Templates/0723.dwt" --><!-- #BeginEditable "doctitle" --><!-- #EndEditable -->
<META content="text/html; charset=gb2312" http-equiv=Content-Type><LINK
href="991208.files/text.css" rel=stylesheet>
<STYLE type=text/css>.sfont {
LINE-HEIGHT: 18pt
}
</STYLE>
<META content="MSHTML 5.00.2014.210" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff leftMargin=0 topMargin=0>
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 width="100%">
<TBODY>
<TR>
<TD vAlign=top width="100%">
<TABLE border=0 cellPadding=0 cellSpacing=0 width="100%">
<TBODY>
<TR bgColor=#303880>
<TD><A href="http://www.pconline.com.cn/"><IMG alt=太平洋电脑信息网 border=0
height=18 hspace=30 src="991208.files/txtpconline.gif"
width=96></A><IMG height=10 src="991208.files/blank.gif"
width=400></TD></TR></TBODY></TABLE></TD>
<TD align=right background=991208.files/bw.gif noWrap width=130><IMG
height=26 src="991208.files/bw.gif" width=10><A
href="http://www.pconline.com.cn/sitemap/"><IMG alt=网站地图 border=0
height=26 src="991208.files/sitemap.gif" width=21></A><IMG height=26
src="991208.files/bw.gif" width=10><A
href="http://www.pconline.com.cn/tpy/"><IMG alt=关于太平洋 border=0 height=26
src="991208.files/aboutus.gif" width=21></A><IMG height=26
src="991208.files/bw.gif" width=10><A
href="http://www.pconline.com.cn/tpy/tariff.html"><IMG alt=与我们联系 border=0
height=26 src="991208.files/contact.gif" width=21></A><IMG height=26
src="991208.files/bw.gif" width=10></TD></TR></TBODY></TABLE><BR>
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 width=760>
<TBODY>
<TR>
<TD bgColor=#666666><IMG height=1 src="991208.files/blank.gif" width=1></TD>
<TD bgColor=#666666><IMG height=1 src="991208.files/blank.gif" width=1></TD>
<TD> </TD>
<TD colSpan=2 noWrap><A
href="http://www.pconline.com.cn/experience/index.html"><IMG
align=absBottom alt=企业之窗 border=0 height=15
src="991208.files/txtexperience.gif" width=68></A> <A
href="http://www.pconline.com.cn/">首 页</A> <A
href="http://www.pconline.com.cn/market/">今日报价</A> <A
href="http://www.pconline.com.cn/recommend/">产品推介</A> <A
href="http://www.pconline.com.cn/yp/">企业之窗</A> <A
href="http://www.pconline.com.cn/news/">科技新闻</A> <A
href="http://www.pconline.com.cn/product/">产品查询</A> <A
href="http://www.pconline.com.cn/download/">软件下载</A></TD></TR>
<TR>
<TD><IMG height=1 src="991208.files/blank.gif" width=1></TD>
<TD><IMG height=1 src="991208.files/blank.gif" width=1></TD>
<TD><IMG height=1 src="991208.files/blank.gif" width=21></TD>
<TD bgColor=#ffa000 colSpan=2><IMG height=1 src="991208.files/blank.gif"
width=1></TD></TR>
<TR>
<TD bgColor=#666666><IMG height=1 src="991208.files/blank.gif" width=1></TD>
<TD bgColor=#cdcdcd><IMG height=5 src="991208.files/blank.gif" width=1></TD>
<TD align=right colSpan=3><IMG height=6 src="991208.files/ffa000.gif"
width=1></TD></TR>
<TR>
<TD bgColor=#666666><IMG height=1 src="991208.files/blank.gif" width=1></TD>
<TD align=right><A href="http://www.pconline.com.cn/"><IMG alt=太平洋电脑信息网
border=0 height=35 src="991208.files/pconline.com.cn.gif" vspace=10
width=162></A></TD>
<TD> </TD>
<TD vAlign=bottom><!-- #BeginEditable "important_news" --><IMG height=40
src="991208.files/blank.gif" width=350><!-- #EndEditable --></TD>
<TD align=right vAlign=top><!-- #BeginEditable "adv_top" --><IMG alt=广告位
height=43 src="991208.files/icon.gif"
width=190><!-- #EndEditable --></TD></TR></TBODY></TABLE>
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 width=760>
<TBODY>
<TR>
<TD bgColor=#666666 width=1><IMG height=1 src="991208.files/blank.gif"
width=1></TD>
<TD vAlign=top width=170><!-- #BeginEditable "addons" --><!--可编辑区域 --><!-- #EndEditable --></TD>
<TD bgColor=#666666 width=1><IMG height=1 src="991208.files/blank.gif"
width=1></TD>
<TD><IMG height=1 src="991208.files/blank.gif" width=21></TD>
<TD colSpan=3 vAlign=top width=566><!-- #BeginEditable "1" -->
<P class=sfont><IMG height=1 src="991208.files/blank.gif"
width=566><BR><IMG height=1 src="991208.files/666666.gif"
width=420><BR><IMG height=13 src="991208.files/blank.gif" width=1><A
href="http://www.pconline.com.cn/experience/">经验共享</A> > 专题教程 >
VB专区<BR><IMG height=1 src="991208.files/666666.gif" vspace=1
width=420><BR></P>
<CENTER>
<P align=left><B><FONT color=#000066>基于VB的通用折行打印程序</FONT></B><FONT
color=#0000c0> </FONT><BR><BR>出自:计算机报 作者:孔祥军 苏悦娟 </P></CENTER>
<P class=sfont><FONT color=#ffffff>----</FONT> <B>一. 概述</B>
<P class=sfont><FONT color=#ffffff>----</FONT>
几乎所有数据库应用软件,都需要打印单证和报表。常见的方法是利用VB的Crystal
Reports(水晶报表)方式,通过TextBox等数据绑定控件,调用Print方法直接输出。虽然Crystal
Report这一个功能强大、样式丰富且无编程方式的报表编制程序能适应大部分单证、报表打印的需要,但是Crystal
Reports引擎是一个动态链接库,需许多文件支持和调用更多系统资源,大大增加系统负担。
<P class=sfont><FONT color=#ffffff>----</FONT>
另一种解决办法是通过Printer对象的Print方法,直接打印字符串。这虽然减少了系统资源的开销,但它不能直接用于打印复杂的单证和报表。本文通过两个实例,阐述一个通用折行打印程序的编程和在单证及报表的应用。
<P class=sfont><FONT color=#ffffff>----</FONT> <B>二. 编程实现及实例</B>
<P class=sfont><FONT color=#ffffff>----</FONT>
为便于阐述的方便,我们先建立一个Access数据库Standards.mdb,其内SN表由以下几个字段组成:
<P class=sfont><FONT color=#ffffff>----</FONT> 标准号(文本,17)
<P class=sfont><FONT color=#ffffff>----</FONT> 标准名称(文本,255)
<P class=sfont><FONT color=#ffffff>----</FONT> 英文名称(文本,255)
<P class=sfont><FONT color=#ffffff>----</FONT> 实施日期(日期,8)
<P class=sfont><FONT color=#ffffff>----</FONT> 修定日期(日期,8)
<P class=sfont><FONT color=#ffffff>----</FONT> 发布日期(日期,8)
<P class=sfont><FONT color=#ffffff>----</FONT> 代替标准(文本,50)
<P class=sfont><FONT color=#ffffff>----</FONT> 通用折行打印程序编制操作如下:
<P class=sfont><FONT color=#ffffff>----</FONT>
1.在VB5.0编程环境中,新建一个工程Project1;
<P class=sfont><FONT color=#ffffff>----</FONT> 2.
在Project1中添加Moduel,在Moduel模块中定义一个记录最大折行数的公用变量Rowlab和Function函数(以下程序都经过实际运行测试,可以原样复制使用);
<PRE>Public rowlab As Integer
'定义一个公用变量
Function prnt11(X As Integer, Y As
Integer,Font As Single, Txt As String, Val As Integer)
Dim str As String, str1 As String,
str2 As String ,i As Integer
Printer.CurrentX = X
Printer.CurrentY = Y
Printer.FontBold = False
Printer.FontSize = font
str = txt
str2 = str
i = 0
rowlab = 0
If Len(Trim(str)) = 0 Then
rowlab = 1 '待打印字符串为空的标志
Else
Do While Len(str) > 0
Printer.CurrentX = X
Printer.CurrentY = Y + rowlab * 240
rowlab = rowlab + 1
If Len(str) >= val Then
str1 = Mid(str, 1, val)
Printer.Print str1
i = i + 1
str = Mid(str2, i * val + 1)
Else
Printer.Print str
Exit Do
End If
Loop
End If
End Function
</PRE>
<P class=sfont><FONT color=#ffffff>----</FONT> 3.
在Project1中新建一个窗体Form1,窗体上添加一个Data控件Data1,一个MSFlexGrid控件MSFGrid1,7个TextBox和两个命令按钮CmdPrnt1、CmdPrnt2。设置Data控件的属性:
<PRE>.. DatabaseName="Standards.mdb"
..RecordSourse="SN"
MSFGrid1属性:
.DataSource="Data1"
Text1属性:
.DataSource="Data1"
.DataField="标准号"
Text2~Text7类同。
</PRE>
<P class=sfont><FONT color=#ffffff>----</FONT>
CmdPrnt1、CmdPrnt2分别为打印单条记录和多条记录的按钮。
<P class=sfont><FONT color=#ffffff>----</FONT>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -