关于餐饮软件的打印问题,希望有经验的能给个答复,分不够在加

terryxin 2004-03-23 10:40:44
在餐饮软件怎么检测打印机的状态是可用的,如果不安装的打印机的话可以直接找到打印机的端口吧,直接往打印机上写数据是否可行,还是用水晶报表来实现,另外一张点单要根据不同的部门打印到不同打印机,不知道你们是怎么实现,希望大家帮忙,有个方案,或者给出代码,谢谢
...全文
56 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
terryxin 2004-04-01
  • 打赏
  • 举报
回复
up
terryxin 2004-03-30
  • 打赏
  • 举报
回复
如果不是本机的打印机,是网络的打印机,在win2000上需要用户确认,才能连接通网络的打印机,如何自动的登陆网络机器,而不是手工啊
terryxin 2004-03-29
  • 打赏
  • 举报
回复
太感谢了,我试一下,如果行的话,我会另开贴给大家分的。,
terryxin 2004-03-29
  • 打赏
  • 举报
回复
up
babyk 2004-03-29
  • 打赏
  • 举报
回复
ding
longdr 2004-03-29
  • 打赏
  • 举报
回复
1、直接往打印机上写数据是可行的。
直接向并口发送数据即可。(LTP1、LTP2等)



2、如果运行环境在Win2000或WinNT以上,用windows API函数CreateFile()和WriteFile()
即可。用它们可检测到打印机的可用状态,不管是否安装打印机与否。
Public Function CheckPrintNT() As Boolean

Dim tAarray(0 To 2) As Byte

Dim lenBytes As Long
Dim safe As SECURITY_ATTRIBUTES
safe.nLength = 0
safe.lpSecurityDescriptor = 0
safe.bInheritHandle = 0

tAarray(0) = 1
tAarray(1) = 1
tAarray(2) = 1
'取 Fname 的句柄
fHandle = CreateFile("lpt1", GENERIC_WRITE Or GENERIC_READ, _
0, safe, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0)
'CreateFile 失败的话返回 INVALID_HANDLE_VALUE
If fHandle <> INVALID_HANDLE_VALUE Then

fSuccess = WriteFile(fHandle, tAarray(0), _
3, lenBytes, 0)

If fSuccess <> 0 Then
CheckPrintNT = True
Else
CheckPrintNT = False
End If
Else
MsgBox "并口不可用!请检查.", vbCritical, ETERNAL
CheckPrintNT = False
End If

CloseHandle (fHandle)

End Function
terryxin 2004-03-28
  • 打赏
  • 举报
回复
看来高手们先分少啊,解决了2000分也没有问题啊,
terryxin 2004-03-27
  • 打赏
  • 举报
回复
up
ghost225 2004-03-27
  • 打赏
  • 举报
回复
up
lk_cool 2004-03-26
  • 打赏
  • 举报
回复
uu
terryxin 2004-03-26
  • 打赏
  • 举报
回复
帮忙啊,各位老大
accpzj 2004-03-25
  • 打赏
  • 举报
回复
关注
terryxin 2004-03-25
  • 打赏
  • 举报
回复
zijieint`
terryxin 2004-03-24
  • 打赏
  • 举报
回复
up
豹子 2004-03-23
  • 打赏
  • 举报
回复
up
tinghuyang 2004-03-23
  • 打赏
  • 举报
回复
学习
wangsaokui 2004-03-23
  • 打赏
  • 举报
回复
网络打印机,定义打印机的端口,在打印函数中调用
示例
[Visual Basic, C#] 以下示例用指定的打印机打印文档。该示例有三个假定:已经将名为 filePath 的变量设置为要打印的文件的路径;已经定义名为 pd_PrintPage 的方法(该方法处理 PrintPage 事件);已经将名为 printer 的变量设置为打印机的名称。
[Visual Basic]
Public Sub Printing()
Try
streamToPrint = New StreamReader(filePath)
Try
printFont = New Font("Arial", 10)
Dim pd As New PrintDocument()
AddHandler pd.PrintPage, AddressOf pd_PrintPage
' Specify the printer to use.
pd.PrinterSettings.PrinterName = printer
pd.Print()
Finally
streamToPrint.Close()
End Try
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
alerty 2004-03-23
  • 打赏
  • 举报
回复
up
terryxin 2004-03-23
  • 打赏
  • 举报
回复
up
terryxin 2004-03-23
  • 打赏
  • 举报
回复
没有人做过吗?

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧