📄 printbarcodesystem.cs
字号:
using System;
using System.Runtime.InteropServices;
using System.IO;
namespace jianshiFile
{
/// <summary>
/// this.textBox_BarCode.Text = tagGangTiHao.Substring(0,tagGangTiHao.Length-2);
/// this.textBox_BarCode.Text += tagLiuShuiHao.ToString("0000000")+"*";
/// 接收MIS监控系统工控机的消息
/// 发动机号
/// engineNember = *tagGangTiHao*tagLiuShuiHao*
/// PrintBarCodeSystem 的摘要说明。
/// </summary>
public class PrintBarCodeSystem
{
public AxMSCommLib.AxMSComm axMSComm1;
/// <summary>
/// 激光条码打印机的发动机号临时文件目录
/// </summary>
string LaserPrintDir;
/// <summary>
/// 条码打印机COM通讯口
/// </summary>
short CommPort;
public PrintBarCodeSystem()
{
//
// TODO: 在此处添加构造函数逻辑
//
CommPort = short.Parse(System.Configuration.ConfigurationSettings.AppSettings.GetValues("CommPort")[0].ToString());
LaserPrintDir = System.Configuration.ConfigurationSettings.AppSettings.GetValues("LaserPrintDir")[0].ToString();
}
/// <summary>
/// 测试COM口通讯是否正常
/// </summary>
/// <returns></returns>
private bool InitTestCOM()
{
try
{
axMSComm1.CommPort = CommPort;
axMSComm1.OutBufferSize = 8192;
axMSComm1.Settings = "9600,n,8,1";
if(axMSComm1.PortOpen == false)
axMSComm1.PortOpen = true;
axMSComm1.PortOpen = false;
return true;
}
catch(Exception err)
{
ApplicationLog.WriteLog(err,"失败 InitTestCOMD:测试COM口通讯是否正常失败");
return false;
}
}
/// <summary>
/// 打印条码,并且输出到激光条码打印机
/// </summary>
/// <param name="BarCodeText"></param>
/// <returns></returns>
public bool PrintBarCode(string BarCodeText)
{
try
{
if(InitTestCOM())
{
//BarCodeText = ConvertEngineNember(BarCodeText);
string lsCommand=null ;
lsCommand = "^XA^LH10,10";
//lsCommand += "^FO20,20^BY2,1,2^BCN,60,Y,N^FD"+BarCodeText+"^FS";//注释FO20,10:定位命令;BY2,1,2:宽、高、高度
lsCommand += "^FO20,20^BY2.5,1,1^BCN,60,Y,N^FD"+BarCodeText+"^FS";//注释FO20,10:定位命令;BY2,1,2:宽、高、高度
lsCommand += "^PQ1^FS";
lsCommand += "^XZ";
if(axMSComm1.PortOpen == false)
axMSComm1.PortOpen = true;
axMSComm1.Output = lsCommand;
axMSComm1.PortOpen = false;
return true;
}
return false;
}
catch(Exception err)
{
ApplicationLog.WriteLog(err,"失败 PrintBarCode:打印条码");
return false;
}
try
{
LaserPrintDirCreateTXT(BarCodeText,LaserPrintDir);
}
catch(Exception err)
{
ApplicationLog.WriteLog(err,"失败 PrintBarCode-LaserPrintDirCreateTXT:输出到激光条码打印机");
return false;
}
}
/// <summary>
/// 创建激光打印机文件
/// </summary>
/// <param name="BarCodeText"></param>
/// <param name="PrintDir"></param>
/// <returns></returns>
private bool LaserPrintDirCreateTXT(string BarCodeText,string PrintDir)
{
try
{
string pathFileName = @PrintDir+BarCodeText.Replace("*","_")+".txt";
if ( !File.Exists(pathFileName))
{
StreamWriter SW;
SW=File.CreateText(pathFileName);
SW.WriteLine(BarCodeText);
SW.Close();
return true;
}
else
{
ApplicationLog.WriteLog(new Exception(),"失败 LaserPrintDirCreateTXT:创建激光打印机文件失败");
return false;
}
}
catch(Exception err)
{
ApplicationLog.WriteLog(err,"失败 LaserPrintDirCreateTXT:创建激光打印机文件失败");
return false;
}
}
/// <summary>
/// this.textBox_BarCode.Text = tagGangTiHao.Substring(0,tagGangTiHao.Length-2);
/// this.textBox_BarCode.Text += tagLiuShuiHao.ToString("0000000")+"*";
/// 接收MIS监控系统工控机的消息
/// 发动机号数据转换发动机机型流水号
/// engineNember = *tagGangTiHao*tagLiuShuiHao*
/// PrintBarCodeSystem 的摘要说明。
/// </summary>
/// <returns></returns>
// private string ConvertEngineNember(string engineNember)
// {
// try
// {
// string printBarCode;
// //发动机机型
// string tagGangTiHao;
// //流水号
// string tagLiuShuiHao;
// string delimStr = "*";
// char [] delimiter = delimStr.ToCharArray();
// string [] split = engineNember.Split(delimiter);
// tagGangTiHao = split[1];
// tagLiuShuiHao = split[2];
// printBarCode = tagGangTiHao+(int.Parse(tagLiuShuiHao)).ToString("0000000")+"*";
//
// return printBarCode;
// }
// catch(Exception err)
// {
// ApplicationLog.WriteLog(err,"失败 ConvertEngineNember:发动机号数据转换发动机机型流水号");
// return null;
//
// }
// }
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -