天天看点

POS机C井例子代码(2)

详细代码

using System;

using System.Drawing;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using System.Data;

using System.Text;

namespace POS机C井例子代码

{

 /// <summary>

 /// Form2 的摘要说明。

 /// </summary>

 public class Form2 : System.Windows.Forms.Form

 {

  private System.Windows.Forms.Button button1;

  private System.Windows.Forms.Button button2;

  private System.Windows.Forms.Button button3;

  private System.Windows.Forms.Button button4;

  private System.Windows.Forms.Button button5;

  private System.Windows.Forms.Label label1;

  private System.Windows.Forms.Label label2;

  private System.Windows.Forms.Label label3;

  private System.Windows.Forms.TextBox textBox1;

  private System.Windows.Forms.TextBox textBox2;

  private System.Windows.Forms.TextBox textBox3;

  private System.Windows.Forms.Button button6;

  private System.Windows.Forms.Label label4;

  private System.Windows.Forms.Button button7;

  private System.Windows.Forms.Label label5;

  private System.Windows.Forms.ListView listView1;

  private Microsoft.VisualBasic.Compatibility.VB6.DriveListBox driveListBox1;

  private System.Windows.Forms.ProgressBar progressBar2;

  private System.Windows.Forms.ColumnHeader columnHeader1;

  private System.Windows.Forms.ColumnHeader columnHeader2;

  private System.Windows.Forms.ColumnHeader columnHeader3;

  private System.Windows.Forms.ColumnHeader columnHeader4;

  private System.Windows.Forms.ColumnHeader columnHeader5;

  private System.Windows.Forms.ColumnHeader columnHeader6;

  /// <summary>

  /// 必需的设计器变量。

  /// </summary>

  private System.ComponentModel.Container components = null;

//  bool iscontinue ;     //定义全局变量,继续功能

  public Form2()

  {

   //

   // Windows 窗体设计器支持所必需的

   InitializeComponent();

   // TODO: 在 InitializeComponent 调用后添加任何构造函数代码

  }

  /// 清理所有正在使用的资源。

  protected override void Dispose( bool disposing )

   if( disposing )

   {

    if(components != null)

    {

     components.Dispose();

    }

   }

   base.Dispose( disposing );

  #region Windows 窗体设计器生成的代码

  /// 设计器支持所需的方法 - 不要使用代码编辑器修改

  /// 此方法的内容。

  private void InitializeComponent()

   this.button1 = new System.Windows.Forms.Button();

   this.button2 = new System.Windows.Forms.Button();

   this.button3 = new System.Windows.Forms.Button();

   this.button4 = new System.Windows.Forms.Button();

   this.button5 = new System.Windows.Forms.Button();

   this.label1 = new System.Windows.Forms.Label();

   this.label2 = new System.Windows.Forms.Label();

   this.label3 = new System.Windows.Forms.Label();

   this.textBox1 = new System.Windows.Forms.TextBox();

   this.textBox2 = new System.Windows.Forms.TextBox();

   this.textBox3 = new System.Windows.Forms.TextBox();

   this.button6 = new System.Windows.Forms.Button();

   this.label4 = new System.Windows.Forms.Label();

   this.button7 = new System.Windows.Forms.Button();

   this.label5 = new System.Windows.Forms.Label();

   this.progressBar2 = new System.Windows.Forms.ProgressBar();

   this.listView1 = new System.Windows.Forms.ListView();

   this.columnHeader1 = new System.Windows.Forms.ColumnHeader();

   this.columnHeader2 = new System.Windows.Forms.ColumnHeader();

   this.columnHeader3 = new System.Windows.Forms.ColumnHeader();

   this.columnHeader4 = new System.Windows.Forms.ColumnHeader();

   this.columnHeader5 = new System.Windows.Forms.ColumnHeader();

   this.columnHeader6 = new System.Windows.Forms.ColumnHeader();

   this.driveListBox1 = new Microsoft.VisualBasic.Compatibility.VB6.DriveListBox();

   this.SuspendLayout();

   //

   // button1

   this.button1.Location = new System.Drawing.Point(16, 16);

   this.button1.Name = "button1";

   this.button1.Size = new System.Drawing.Size(80, 32);

   this.button1.TabIndex = 0;

   this.button1.Text = "采集记录";

   this.button1.Click += new System.EventHandler(this.button1_Click);

   // button2

   this.button2.Location = new System.Drawing.Point(16, 104);

   this.button2.Name = "button2";

   this.button2.Size = new System.Drawing.Size(80, 32);

   this.button2.TabIndex = 1;

   this.button2.Text = "删除记录";

   // button3

   this.button3.Location = new System.Drawing.Point(120, 104);

   this.button3.Name = "button3";

   this.button3.Size = new System.Drawing.Size(88, 32);

   this.button3.TabIndex = 2;

   this.button3.Text = "清空列表";

   this.button3.Click += new System.EventHandler(this.button3_Click);

   // button4

   this.button4.Location = new System.Drawing.Point(664, 56);

   this.button4.Name = "button4";

   this.button4.Size = new System.Drawing.Size(88, 32);

   this.button4.TabIndex = 3;

   this.button4.Text = "暂停";

   this.button4.Click += new System.EventHandler(this.button4_Click);

   // button5

   this.button5.Location = new System.Drawing.Point(352, 104);

   this.button5.Name = "button5";

   this.button5.Size = new System.Drawing.Size(80, 32);

   this.button5.TabIndex = 4;

   this.button5.Text = "刷 新";

   // label1

   this.label1.Location = new System.Drawing.Point(112, 24);

   this.label1.Name = "label1";

   this.label1.Size = new System.Drawing.Size(80, 23);

   this.label1.TabIndex = 5;

   this.label1.Text = "记录总数";

   // label2

   this.label2.Location = new System.Drawing.Point(112, 64);

   this.label2.Name = "label2";

   this.label2.Size = new System.Drawing.Size(88, 23);

   this.label2.TabIndex = 6;

   this.label2.Text = "未上传总金额";

   // label3

   this.label3.Location = new System.Drawing.Point(272, 24);

   this.label3.Name = "label3";

   this.label3.Size = new System.Drawing.Size(72, 23);

   this.label3.TabIndex = 7;

   this.label3.Text = "总上传帧数";

   // textBox1

   this.textBox1.Location = new System.Drawing.Point(168, 24);

   this.textBox1.Name = "textBox1";

   this.textBox1.Size = new System.Drawing.Size(80, 21);

   this.textBox1.TabIndex = 8;

   this.textBox1.Text = "";

   // textBox2

   this.textBox2.Location = new System.Drawing.Point(192, 64);

   this.textBox2.Name = "textBox2";

   this.textBox2.Size = new System.Drawing.Size(88, 21);

   this.textBox2.TabIndex = 9;

   this.textBox2.Text = "";

   // textBox3

   this.textBox3.Location = new System.Drawing.Point(336, 24);

   this.textBox3.Name = "textBox3";

   this.textBox3.Size = new System.Drawing.Size(64, 21);

   this.textBox3.TabIndex = 10;

   this.textBox3.Text = "";

   // button6

   this.button6.Location = new System.Drawing.Point(536, 104);

   this.button6.Name = "button6";

   this.button6.Size = new System.Drawing.Size(96, 40);

   this.button6.TabIndex = 11;

   this.button6.Text = "从U盘提取记录";

   this.button6.Click += new System.EventHandler(this.button6_Click);

   // label4

   this.label4.Location = new System.Drawing.Point(280, 64);

   this.label4.Name = "label4";

   this.label4.Size = new System.Drawing.Size(48, 23);

   this.label4.TabIndex = 12;

   this.label4.Text = "分钱";

   // button7

   this.button7.Location = new System.Drawing.Point(664, 104);

   this.button7.Name = "button7";

   this.button7.Size = new System.Drawing.Size(88, 40);

   this.button7.TabIndex = 14;

   this.button7.Text = "生成删除记录许可文件";

   this.button7.Click += new System.EventHandler(this.button7_Click);

   // label5

   this.label5.Location = new System.Drawing.Point(568, 32);

   this.label5.Name = "label5";

   this.label5.Size = new System.Drawing.Size(136, 23);

   this.label5.TabIndex = 16;

   this.label5.Text = "已采集";

   // progressBar2

   this.progressBar2.Location = new System.Drawing.Point(432, 24);

   this.progressBar2.Maximum = 10000;

   this.progressBar2.Name = "progressBar2";

   this.progressBar2.Size = new System.Drawing.Size(120, 24);

   this.progressBar2.TabIndex = 17;

   // listView1

   this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {

                      this.columnHeader1,

                      this.columnHeader2,

                      this.columnHeader3,

                      this.columnHeader4,

                      this.columnHeader5,

                      this.columnHeader6});

   this.listView1.GridLines = true;

   this.listView1.Location = new System.Drawing.Point(16, 160);

   this.listView1.Name = "listView1";

   this.listView1.Size = new System.Drawing.Size(736, 296);

   this.listView1.TabIndex = 18;

   this.listView1.View = System.Windows.Forms.View.Details;

   // columnHeader1

   this.columnHeader1.Text = "卡号";

   // columnHeader2

   this.columnHeader2.Text = "充值次数";

   // columnHeader3

   this.columnHeader3.Text = "余额";

   // columnHeader4

   this.columnHeader4.Text = "消费额";

   // columnHeader5

   this.columnHeader5.Text = "消费时间";

   this.columnHeader5.Width = 111;

   // columnHeader6

   this.columnHeader6.Text = "餐次";

   this.columnHeader6.Width = 67;

   // driveListBox1

   this.driveListBox1.Location = new System.Drawing.Point(440, 104);

   this.driveListBox1.Name = "driveListBox1";

   this.driveListBox1.Size = new System.Drawing.Size(88, 22);

   this.driveListBox1.TabIndex = 19;

   // Form2

   this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);

   this.ClientSize = new System.Drawing.Size(840, 478);

   this.Controls.Add(this.driveListBox1);

   this.Controls.Add(this.listView1);

   this.Controls.Add(this.progressBar2);

   this.Controls.Add(this.label5);

   this.Controls.Add(this.button7);

   this.Controls.Add(this.label4);

   this.Controls.Add(this.button6);

   this.Controls.Add(this.textBox3);

   this.Controls.Add(this.textBox2);

   this.Controls.Add(this.textBox1);

   this.Controls.Add(this.label3);

   this.Controls.Add(this.label2);

   this.Controls.Add(this.label1);

   this.Controls.Add(this.button5);

   this.Controls.Add(this.button4);

   this.Controls.Add(this.button3);

   this.Controls.Add(this.button2);

   this.Controls.Add(this.button1);

   this.Name = "Form2";

   this.Text = "Form2";

   this.Load += new System.EventHandler(this.Form2_Load);

   this.ResumeLayout(false);

  #endregion

  bool iscontinue1 ;

  private void button4_Click(object sender, System.EventArgs e)

   iscontinue1 =false;

  private void button1_Click(object sender, System.EventArgs e)//采集记录

   Form1 f1 ;

   f1 = (Form1)this.Owner;

   f1.Refresh();

   ListViewItem  list1;

   int i;

   if (f1.axPOS011.DevComPortOpen == 1)

     f1.axPOS011.DevNumber = Convert.ToInt32(f1.textBox16.Text);

     f1.axPOS011.DevRecTotalRead();

                   if(f1.axPOS011.OperatingResults == 0)

      {

                 textBox2.Text = Convert.ToString(f1.axPOS011.DevRecAmountTotal);        // 累计金额数

        textBox1.Text =Convert.ToString( f1.axPOS011.DevRecTotal) ;             // 总记录数

        textBox3.Text =Convert.ToString( f1.axPOS011.DevRecFrames ) ;           //记录总帧数p

                                 //以下代码开始采集记录

        if  (f1.axPOS011.DevRecFrames > 0)

        {

         iscontinue1=true;

         this.progressBar2.Maximum =f1.axPOS011.DevRecFrames;

         for(i=0;i<=f1.axPOS011.DevRecFrames -1 ;i++)

         {

          f1.axPOS011.DevRecFramePoint =i ;       //设定当前需要采集的帧指针

          f1.axPOS011.DevRecFrameRead()   ;         //执行采集通讯

          if(f1.axPOS011.OperatingResults != 0)        //表示通讯错误,采集中断

            {

             MessageBox.Show ( "通讯错误,退出,错误代码为" + Convert.ToString(f1.axPOS011.OperatingResults));

            }

          if (iscontinue1==false)

             break ;

          //以下可以做进度条算法

          this.progressBar2.Value = i + 1;

          label5.Text = "已采集" + Convert.ToString(i + 1);

         }

         if  (this.progressBar2.Value == f1.axPOS011.DevRecFrames)

          {

             if (f1.axPOS011.OperatingResults == 0)

             {

              //采集全部成功

              if (f1.axPOS011.DevRecTotal > 0)

              {

               //下面为提取数据

               for (i = 0; i<=f1.axPOS011.DevRecTotal - 1;i++)

               {

                f1.axPOS011.DevRecPoint = i     ;     //设定当前记录指针,用于提取记录数据,

                //执行完本语句后,以下数据才有效

                                     list1 = new ListViewItem(f1.axPOS011.DevRecCustomNumberStr);//卡号

                list1.SubItems.Add(Convert.ToString(f1.axPOS011.DevRecRechargeTimes)) ;       //充值次数

                list1.SubItems.Add(Convert.ToString (f1.axPOS011.DevRecCardMoney));        //余额

                list1.SubItems.Add(Convert.ToString(f1.axPOS011.DevRecConsumption) )  ;        //当次消费额

                list1.SubItems.Add(  Convert.ToString(f1.axPOS011.DevRecTimeYear) + "-" + Convert.ToString(f1.axPOS011.DevRecTimeMonth) + "-" + Convert.ToString(f1.axPOS011.DevRecTimeDay) + " " + Convert.ToString(f1.axPOS011.DevRecTimeHour) + ":" + Convert.ToString(f1.axPOS011.DevRecTimeMinute) + ":" + Convert.ToString(f1.axPOS011.DevRecTimeSecond));

                list1.SubItems.Add (Convert.ToString(f1.axPOS011.DevRecMealType));

                listView1.Items.Add(list1); 

               }

                      }

                   }

                }

        }

     else

     {

      MessageBox.Show("设备通讯不通!");

     }

   else

    MessageBox.Show("端口未打开!");

  private void button3_Click(object sender, System.EventArgs e)

   listView1.Items.Clear();

  private void button6_Click(object sender, System.EventArgs e)//从U盘提取记录

   f1.axPOS011.DevDriverStr = driveListBox1.Drive;                     //U盘

   f1.axPOS011.DevNumber = Convert.ToInt32(f1.textBox16.Text)  ;       //机号

   f1.axPOS011.DevRecReadFromDisk();

   if (f1.axPOS011.OperatingResults == 0 )

    textBox1.Text = Convert.ToString (f1.axPOS011.DevRecTotal);          //总记录数

    textBox2.Text = Convert.ToString(f1.axPOS011.DevRecAmountTotal) ;    //累计金额数

    for (i = 0;i< f1.axPOS011.DevRecTotal;i++)

       f1.axPOS011.DevRecPoint = i ;                            //设定当前记录指针,用于提取记录数据,

       //执行完本语句后,以下数据才有效

       list1 = new ListViewItem(f1.axPOS011.DevRecCustomNumberStr);                  //卡号

       list1.SubItems.Add(Convert.ToString(f1.axPOS011.DevRecRechargeTimes)) ;       //充值次数

       list1.SubItems.Add(Convert.ToString (f1.axPOS011.DevRecCardMoney));           //余额

       list1.SubItems.Add(Convert.ToString(f1.axPOS011.DevRecConsumption) )  ;       //当次消费额

       list1.SubItems.Add(  Convert.ToString(f1.axPOS011.DevRecTimeYear) + "-" + Convert.ToString(f1.axPOS011.DevRecTimeMonth) + "-" + Convert.ToString(f1.axPOS011.DevRecTimeDay) + " " + Convert.ToString(f1.axPOS011.DevRecTimeHour) + ":" + Convert.ToString(f1.axPOS011.DevRecTimeMinute) + ":" + Convert.ToString(f1.axPOS011.DevRecTimeSecond));

       list1.SubItems.Add (Convert.ToString(f1.axPOS011.DevRecMealType));

       listView1.Items.Add(list1); 

          }

    MessageBox.Show ( "从U盘提取记录成功!");

   else if (f1.axPOS011.OperatingResults == 40)

     MessageBox.Show("该机号对应的记录文件不存在");

   else if (f1.axPOS011.OperatingResults == 45)

     MessageBox.Show("文件不是该机号设备生成的文件!" );

   else

     MessageBox.Show( Convert.ToString (f1.axPOS011.OperatingResults));

//  private void button8_Click(object sender, System.EventArgs e)

//  {

//   ListViewItem  list1;

//   list1 = new ListViewItem("0");     //卡号

//   list1.SubItems.Add("1") ;          //充值次数

//   list1.SubItems.Add("2");           //余额

//   list1.SubItems.Add("3");           //当次消费额

//   list1.SubItems.Add("4");

//   list1.SubItems.Add("5");

//   listView1.Items.Add(list1);

//  }

  private void Form2_Load(object sender, System.EventArgs e)

  private void button7_Click(object sender, System.EventArgs e)

      f1.axPOS011.DevDriverStr = driveListBox1.Drive;

   f1.axPOS011.DevNumber = Convert.ToInt32(f1.textBox16.Text);

   f1.axPOS011.DevRecClearFileToDisk();

   if (f1.axPOS011.OperatingResults == 0)