c#\SQL读取TeamViewer ID连接BarTender打印

68 篇文章 1 订阅
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Threading;
using System.IO;
using Microsoft.Win32;


namespace Print_Barcode
{
    public partial class Form1 : Form
    {
        public static string[] KeyValue = { "NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL"};
        public static string[] Smple = { "SERVER", "DATABASE", "UID", "PWD", "StoredProcedure", "ReadLPTFile", "CallBath","State"};
        public static string TeamViewerID = string.Empty;//存储TeamViewerID
        public static string NowDateTime = DateTime.Now.ToString("yyyyMMdd");//存储当前日期
        public static List<string> BarTenderCodSample=new List<string>();
        public Form1()
        {
            string strFullPath = Application.ExecutablePath;
            string strFileName = System.IO.Path.GetFileName(strFullPath);
            string[] RunExeName = strFileName.Split(new string[] { "." }, StringSplitOptions.RemoveEmptyEntries);
            System.Diagnostics.Process[] myProcesses = System.Diagnostics.Process.GetProcessesByName(RunExeName[0].Trim());
            if(myProcesses.Length>1)
            {
                MessageBox.Show("程式已启动");
                System.Environment.Exit(1);//退出主程式返回1
            }
            InitializeComponent();
            if(ReadConfigInfo("config.ini")==false)//读取配置信息
            {
                System.Environment.Exit(1);//退出主程式返回1
            }


            if(RedLPTFileInfo(Smple[5])==false)//读取打印字段串
            {
                System.Environment.Exit(1);//退出主程式返回1
            }
        }


        public bool ReadConfigInfo(string CfgName)//读取取置信息
        {
            bool Flag = false;
            try
            {
                FileStream fs = new FileStream(CfgName, FileMode.Open, FileAccess.Read);
                StreamReader sr = new StreamReader(fs,Encoding.Default);
                string Temp = string.Empty;
                while((Temp=sr.ReadLine())!=null)
                {
                    string[] Array = Temp.Split(new string[] { "=" }, StringSplitOptions.RemoveEmptyEntries);
                    int n = 0;
                    foreach(string str in Smple)
                    {
                        if(str==Array[0].Trim())
                        {
                            Smple[n] = Array[1].Trim();
                            break;
                        }
                        n++;
                    }
                }
                sr.Close();
                fs.Close();
                Flag = true;
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
                Flag = false;
            }
            return Flag;
        }


        public bool ReadSqlTeamViewerID(string []Key)//读取TeamViewer ID
        {
            bool Flag = false;
            try
            {
                SqlConnection conn = new SqlConnection("server=" + Key[0] + ";database=" + Key[1] + ";uid=" + Key[2] + ";pwd=" + Key[3]);
                conn.Open();
                if (conn.State != ConnectionState.Open)
                {
                    Flag = false;
                    return Flag;
                }
                SqlCommand cmd = new SqlCommand(Key[4],conn);
                cmd.CommandType = CommandType.StoredProcedure;//启动储存过程参数
                cmd.Parameters.Add("@SN",textBox1.Text.Trim());
                cmd.Parameters.Add("@rs",1);//添加T-SQL存储过程参数
                cmd.Parameters["@rs"].Direction = ParameterDirection.Output;//启动输出返回
                cmd.ExecuteScalar();
                if(cmd.Parameters["@rs"].Value.ToString().Trim()=="NULL")
                {
                    Flag = false;
                }
                else if((string)cmd.Parameters["@rs"].Value.ToString().Trim()!=" ")
                {
                    //MessageBox.Show(cmd.Parameters["@rs"].Value.ToString().Trim());
                    TeamViewerID = cmd.Parameters["@rs"].Value.ToString().Trim();
                    Flag = true;
                }
                else
                {
                    Flag = false;
                }
                conn.Close();
                return Flag;
            }
            catch(Exception ex)
            {
                Flag = false;
                MessageBox.Show(ex.Message);
            }
            return Flag;
        }


        public bool RedLPTFileInfo(string FileName)
        {
            bool Flag = false;
            try
            {
                FileStream fs = new FileStream(FileName, FileMode.Open, FileAccess.Read);
                StreamReader sr = new StreamReader(fs, Encoding.Default);
                string Temp = string.Empty;
                while((Temp=sr.ReadLine())!=null)
                {
                    BarTenderCodSample.Add(Temp.Trim());
                }
                sr.Close();
                fs.Close();
                Flag = true;
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
                Flag = false;
            }
            return Flag;
        }


        public bool WriteLPTFileInfo(string FileName)
        {
            bool Flag = false;
            try
            {
                FileStream fs = new FileStream(FileName, FileMode.Create, FileAccess.Write);
                StreamWriter sw = new StreamWriter(fs,Encoding.Default);
                foreach(string nn in BarTenderCodSample)
                {
                    string[] Array = nn.Split(new string[] { ":"},StringSplitOptions.RemoveEmptyEntries);
                    //if(Array[0].Trim()==@"^FO30,40^A0N,25,25^FDTeamviewer ID")
                    if (Array[0][(Array[0].Length)-1].ToString()=="D")
                    {
                        sw.WriteLine(Array[0].Trim() + @":" + TeamViewerID + @"^FS");
                    }
                    else if(Array[0][(Array[0].Length)-1].ToString()=="0")
                    {
                        sw.WriteLine(Array[0].Trim() + DateTime.Now.ToString("yyMMdd"));
                    }
                    else
                    {
                        sw.WriteLine(nn);
                    }
                }
                sw.Close();
                fs.Close();
                Flag = true;
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
                Flag = false;
            }
            return Flag;
        }


        public static int state = 0;
        public static int bootprint = 0;
        public static void CallBath()//调用批处理
        {
            string targetDir = string.Empty;
            targetDir = System.IO.Directory.GetCurrentDirectory() + @"\";
            Process proc = null;
            try
            {
                proc = new Process();
                proc.StartInfo.WorkingDirectory = targetDir;
                proc.StartInfo.FileName=Smple[6].Trim();
                proc.StartInfo.Arguments = string.Format(" ");//this is argument
                proc.StartInfo.CreateNoWindow = true;
                proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;//这里显示DOS窗口不显示
                proc.Start();
                proc.WaitForExit();
                state = 1;
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
                state = 0;
            }
        }
        private void textBox1_TextChanged(object sender, EventArgs e)//触发输入启动
        {
            if(textBox1.Text.Length>=12)
            {
                bool WriteDataResult = false;
                label4.Text = "状态:扫描录入完成";
                label4.BackColor = Color.Gold;
                WriteDataResult = ReadSqlTeamViewerID(Smple);
                if(WriteDataResult==true)
                {
                    if (TeamViewerID!=null&&TeamViewerID!="")
                    {
                        if (WriteLPTFileInfo("Sample.ini") == true)
                        {
                            bootprint = 1;
                        }
                        else
                        {
                            label4.Text = "状态:生成打印条码错误!!";
                            label4.BackColor = Color.Red;
                        }
                    }
                    else
                    {
                        label4.Text = "状态:扫描的SN条码无法对应查询到绑定TeamViewer ID";
                        label4.BackColor = Color.Red;
                    }
                    
                }
                else 
                {
                    label4.Text = "状态:连接SQL SERVER DataBases读取数据错误!!";
                    label4.BackColor = Color.Red;
                }
                
            }
            else
            {
                label4.Text = "状态:条码录入中..";
                label4.BackColor = Color.Gold;
            }
        }


        private void timer1_Tick(object sender, EventArgs e)
        {
            if(bootprint==1)
            {
                 CallBath();
                 if (state == 1)
                 {
                      label4.Text = "状态:执行条码打印完成!!";
                      label4.BackColor = Color.Green;
                      label2.Text = "Teamviewer ID:" + TeamViewerID;
                      label3.Text = "初始密码:halley";
                      label5.Text = DateTime.Now.ToString("yyyyMMdd");
                      textBox1.Text = "";
                      state = 0;
                      label6.Text = "PASS";
                      label6.BackColor = Color.Green;


                  }
                  else
                  {
                       label4.Text = "状态:执行条码打印错误!!";
                       label4.BackColor = Color.Red;
                       label6.Text = "FAIL";
                       label6.BackColor = Color.Red;
                  }
                  bootprint = 0;
            }
        }
    }

}






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值