?? 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 + -