1. 擷取程式安裝路徑的方法Application.StartupPath
例如:
string path = Application.StartupPath + "\\WarterCode.xml";
就相當於在ASP.NET中的Server.MapPath();
2.操作txt
(1). 判斷文本是否存在,如果不存在則建立文本,向其中寫入資料,如果存在,則讀取其中的資料
string path = @"C:\WarterCode.txt";
FileInfo fi = new FileInfo(path);
if (!fi.Exists)
{
//如果不存在,則創建文本
StreamWriter sw = fi.CreateText();
sw.WriteLine("0");
sw.Close();
}
else {
//如果存在,則讀取其中的數字型流水碼
StreamReader sr = fi.OpenText();
int wartercode = Convert.ToInt32(sr.ReadLine());
sr.Close();
}
(2). 判斷文本是否存在,如果不存在則建立文本,向其中寫入資料,如果存在,直接向其中寫入資料
string time = System.DateTime.Now.ToString();
string LabelInfo = Common.CompanyID + Y0 + WW + W + no34 + Common.ModuleID + Common.Version + V;
string LogPath = System.Windows.Forms.Application.StartupPath + "\\Logs\\" + System.DateTime.Now.ToLongDateString() + ".txt";
FileInfo fi = new FileInfo(LogPath);
StreamWriter sw;
if (!fi.Exists)
{
sw = fi.CreateText();
}
else {
sw = new StreamWriter(LogPath,true);//true表示將內容追加在文本的末尾
}
sw.WriteLine(intSSSS + "\t" + time + "\t" + LabelInfo);
sw.Close();
3. 操作XML
向xml中寫入資料:
string path = Application.StartupPath + "\\WarterCode.xml";
XmlDocument doc = new XmlDocument();
doc.Load(path);
XmlNode root = doc.SelectSingleNode("Root");
XmlNodeList list = root.SelectNodes("WarterCodeNum");
list.Item(0).InnerText = wartercode.ToString();
doc.Save("WarterCode.xml");
關於XML在.NET中的運用,參考:http://www.cnblogs.com/JimmyZhang/archive/2008/12/07/1349454.html
4. 調用CodeSoft
首先添加對CodeSoft安裝目錄下Lppx2.tlb的引用,再引用命名空間using LabelManager2;
ApplicationClass lbl = new ApplicationClass();
try
{
lbl.Documents.Open(@"D:label.Lab", false);// 調用設計好的label檔案
Document doc = lbl.ActiveDocument;
doc.Variables.FormVariables.Item("Var0").Value = txtContent.Text.Trim(); //給參數傳值
doc.Variables.FormVariables.Item("Var1").Value = txtContent2.Text.Trim(); //給參數傳值
int Num = Convert.ToInt32(txtQuentity.Text); //列印數量
doc.PrintDocument(Num); //列印
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
lbl.Quit(); //退出
}
5. 用Regex測試輸入格式
Regex regex=new Regex(@"^\d+$");
if (!regex.IsMatch(txtPrintNum.Text.Trim())) {
MessageBox.Show("數量輸入有誤!");
return;
}