我的TMU210打印机,用直接写入端口,但一般开机时会出现打印乱码,100分 (100分)

  • 主题发起人 主题发起人 alex7865
  • 开始时间 开始时间
A

alex7865

Unregistered / Unconfirmed
GUEST, unregistred user!
我的TMU210打印机,用直接写入端口,但一般打开电脑时会出现打印乱码,打一、二张后
就可以正常打印了,端口是com2口,我想请教怎样清com端口,我用的是writeln方法,谢 
 
先清空试试
 
怎么清空,这台打印机是串口连接的,这个问题一直没有解决,前几天又买了几台同型号
的,但这几台是打印机并口的,这几台却是没有这问题,打电话找了Epson公司的也不能
解决,有高手请帮忙想想,不急
 
我曾经写的使用COM口的打码机程序,是对我公司一个同事示范用的,不过是用VC的,
你参照看一下,关键是MSDN关于COM口的描述
void CBarCodeView::OnButton1()
{
// TODO: Add your control notification handler code here
DWORD dwSize;
DWORD dwBytes;
UpdateData(TRUE);
if (!hCom &&
!(gTracesFlags &
TRACES_NO_COM_OUTPUT))
{
hCom = CreateFile (COM_PORT_STRING,
GENERIC_WRITE | GENERIC_READ,
0,
NULL,
OPEN_EXISTING,
0,
NULL);
if (INVALID_HANDLE_VALUE == hCom)
{
hCom = NULL;
}
else
{
DCB dcb;
BOOL bg;
bg=GetCommState (hCom, &dcb);
if(!bg)
{
MessageBox("对不起,你在此端口上没有打码机","警告",MB_OK);
}
dcb.BaudRate = COM_BAUD_RATE;
dcb.ByteSize = COM_DATA_BYTE_SIZE;
dcb.Parity = COM_PARITY;
dcb.StopBits = COM_STOP_BIT;
SetCommState (hCom, &dcb);
if (!fComInit)
{
DWORD dwBytes;
for (int i=0;
i<55;
i++)
{
WriteFile (hCom, "/r/n", 2, &amp;dwBytes, NULL);
}
fComInit = TRUE;
}
}
}
m_nbarCode="^XA/r/n^LH"
+m_nhorizontal
+","
+m_nvertical
+"/r/n^FO300,0^AB^FD"
+"2001-7-16"
+"^FS/r/n^FO0,20,0^BY2^B3,N,70 ^FD"
+m_nbarCode+"^FS/r/n^XZ";
//char s[]=1234^FS/r/n^XZ/r/n";
//char *s;
//strcpy(s,m_nbarCode.GetBuffer);
//strcat(s,);
dwSize=m_nbarCode.GetLength();
if(fComInit)
{
WriteFile (hCom, m_nbarCode.GetBuffer(dwSize), dwSize, &amp;dwBytes, NULL);

}
CloseHandle (hCom);
hCom = NULL;
}
 
多人接受答案了。
 
后退
顶部