為列印單據,將預置的資料保存成ini檔案,在主頁面選擇相關資料列印出表單,有幾個內容列印不出來。
貼代碼:
Private Sub p_initial()
Dim StrPath$
Dim i As Integer
Dim m_item As String
Dim m_code As String
Dim m_result As String
Dim m_symb As String
Dim num As Integer
Dim i_code As String
Dim i_result As String
Dim n As Integer
StrPath = App.Path & "\configDB.ini"
num = Val(ReadIni(StrPath, "Number", "project_num"))
For n = 0 To 14
For i = 0 To num - 1
m_item = ReadIni(StrPath, "Item" & i, "project")
m_code = ReadIni(StrPath, "Item" & i, "code")
i_code = m_item & "(" & m_code & ")"
If item(n).Text = i_code Then
pname(n) = m_item
Code(n) = m_code
End If
Next i
Next n
num = Val(ReadIni(StrPath, "Number", "result_num"))
For n = 0 To 14
For i = 0 To num - 1
m_result = ReadIni(StrPath, "result" & i, "result")
m_symb = ReadIni(StrPath, "result" & i, "symb")
i_result = m_result & "/" & m_symb
If result(n).Text = i_result Then
symb(n) = m_symb
res(n) = m_result
End If
Next i
Next n
End Sub
Private Sub f_print()
Call p_initial
Printer.PaperSize = 9
Printer.ScaleLeft = -20
Printer.ScaleTop = -25
Printer.ScaleWidth = 210
Printer.ScaleHeight = 297
Printer.CurrentX = 0
Printer.CurrentY = 0
Printer.ScaleMode = 6
X = 67.733
y = 4.233
fnt = 14
Printer.FontName = "黑體"
txt = "同心縣馬高莊鄉衛生院檢驗報告單"
dy = prnt(X, y, fnt, txt)
X = 8.467
y = 14.817
fnt = 13
Printer.FontName = "宋體"
txt = "姓 名:"
dy = prnt(X, y, fnt, txt)
X = 33.867
y = 14.817
fnt = 13
Printer.FontName = "宋體"
txt = 姓名.Text
dy = prnt(X, y, fnt, txt)
X = 66.675
y = 14.817
fnt = 13
Printer.FontName = "宋體"
txt = "性 別:"
dy = prnt(X, y, fnt, txt)
X = 88.9
y = 14.817
fnt = 13
Printer.FontName = "宋體"
txt = 性別.Text
dy = prnt(X, y, fnt, txt)
X = 131.498
y = 14.817
fnt = 13
Printer.FontName = "宋體"
txt = "年 齡:"
dy = prnt(X, y, fnt, txt)
X = 152.4
y = 14.817
fnt = 13
Printer.FontName = "宋體"
txt = 年齡.Text
dy = prnt(X, y, fnt, txt)
X = 8.467
y = 23.019
fnt = 13
Printer.FontName = "宋體"
txt = "病人型別:"
dy = prnt(X, y, fnt, txt)
X = 33.867
y = 23.019
fnt = 13
Printer.FontName = "宋體"
txt = 病人型別.Text
dy = prnt(X, y, fnt, txt)
X = 66.675
y = 23.019
fnt = 13
Printer.FontName = "宋體"
txt = "科 室:"
dy = prnt(X, y, fnt, txt)
X = 88.9
y = 23.019
fnt = 13
Printer.FontName = "宋體"
txt = 科室.Text
dy = prnt(X, y, fnt, txt)
X = 131.498
y = 23.019
fnt = 13
Printer.FontName = "宋體"
txt = "診 斷:"
dy = prnt(X, y, fnt, txt)
X = 152.4
y = 23.019
fnt = 13
Printer.FontName = "宋體"
txt = diagnose.Text
dy = prnt(X, y, fnt, txt)
Printer.DrawWidth = 2
Printer.Line (8.467, 31.75)-(200.907, 31.75)
Printer.Line (8.467, 40.517)-(200.907, 40.517)
Printer.Line (8.467, 118.533)-(200.907, 118.533)
Printer.DrawWidth = 1
Printer.Line (166.983, 125.889)-(200.907, 125.889)
X = 12.7
y = 33.867
fnt = 13
Printer.FontName = "黑體"
Printer.FontBold = True
txt = "序號"
dy = prnt(X, y, fnt, txt)
X = 42.333
y = 33.867
fnt = 13
Printer.FontName = "黑體"
Printer.FontBold = True
txt = "專案名稱"
dy = prnt(X, y, fnt, txt)
X = 85.461
y = 33.867
fnt = 13
Printer.FontName = "黑體"
Printer.FontBold = True
txt = "專案代號"
dy = prnt(X, y, fnt, txt)
X = 131.233
y = 33.867
fnt = 13
Printer.FontName = "黑體"
Printer.FontBold = True
txt = "結果"
dy = prnt(X, y, fnt, txt)
X = 168.804
y = 33.867
fnt = 13
Printer.FontName = "黑體"
Printer.FontBold = True
txt = "標志"
dy = prnt(X, y, fnt, txt)
X = 10.583
y = 122.255
fnt = 12
Printer.FontName = "宋體"
txt = "檢驗日期:"
dy = prnt(X, y, fnt, txt)
X = 29.633
y = 122.255
fnt = 12
Printer.FontName = "宋體"
txt = Format(Now, "yyyy-mm-dd hh:mm:ss")
dy = prnt(X, y, fnt, txt)
X = 70
y = 122.255
fnt = 12
Printer.FontName = "宋體"
txt = "檢驗醫生:"
dy = prnt(X, y, fnt, txt)
X = 94
y = 122.255
fnt = 12
Printer.FontName = "宋體"
txt = 送檢醫生.Text
dy = prnt(X, y, fnt, txt)
X = 117
y = 122.255
fnt = 12
Printer.FontName = "宋體"
txt = "檢驗員:"
dy = prnt(X, y, fnt, txt)
X = 133.117
y = 122.255
fnt = 12
Printer.FontName = "宋體"
txt = 檢驗員.Text
dy = prnt(X, y, fnt, txt)
X = 150.117
y = 122.255
fnt = 12
Printer.FontName = "宋體"
txt = "簽字:"
dy = prnt(X, y, fnt, txt)
Dim i As Integer
Dim num As Integer
num = 0
For i = 0 To 14
X = 16.122
y = 41.54 + num
fnt = 13
Printer.FontName = "宋體"
txt = Val(i + 1)
dy = prnt(X, y, fnt, txt)
X = 40.34
y = 41.046 + num
fnt = 13
Printer.FontName = "宋體"
txt = pname(i)
dy = prnt(X, y, fnt, txt)
X = 87.754
y = 41.046 + num
fnt = 13
Printer.FontName = "宋體"
txt = Code(i)
dy = prnt(X, y, fnt, txt)
X = 132.239
y = 41.046 + num
fnt = 13
Printer.FontName = "宋體"
txt = symb(i)
dy = prnt(X, y, fnt, txt)
X = 169.81
y = 41.046 + num
fnt = 13
Printer.FontName = "宋體"
txt = res(i)
dy = prnt(X, y, fnt, txt)
num = num + 4.233 + 0.794
Next i
Printer.EndDoc
End Sub
Private Sub Command1_Click()
Call f_print
End Sub
pname、Code、symb、res列印不出來,鄙人初學,望各位大神賜教,不勝感激!
uj5u.com熱心網友回復:
如果“pname、Code、symb、res列印不出來”,那豈不是相當于什么都沒打出來了?
我看你的代碼, 幾乎都是執行呼叫 “dy = prnt(X, y, fnt, txt) ”進行列印操作的,
自己看看這個“列印函式”有沒有問題啊。

另外,可以多加個測驗代碼,檢查一下那些“被列印內容”,是否都正確獲取到內容了啊。
uj5u.com熱心網友回復:
最奇怪的事,除錯的時候如果我是輸出成PDF檔案,是沒有什么問題的,但是用列印機列印的時候就會出問題。
uj5u.com熱心網友回復:
首先確認一下,pname、Code、symb、res 到底有沒有值確認一下這句:num = Val(ReadIni(StrPath, "Number", "project_num"))
如果num沒取到值也會導致你的 For i = 0 To num - 1 變成慷訓圈而導致沒有賦值
uj5u.com熱心網友回復:
prnt這個函式可能有問題轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/42036.html
上一篇:vb6.0程式問題
