在好例子网,分享、交流、成长!
您当前所在位置:首页C# 开发实例Windows系统编程 → C#版 IC卡读写实例源码,考勤系统源码(有截图)

C#版 IC卡读写实例源码,考勤系统源码(有截图)

Windows系统编程

下载此实例
  • 开发语言:C#
  • 实例大小:1.41M
  • 下载次数:136
  • 浏览次数:2733
  • 发布时间:2013-01-30
  • 实例类别:Windows系统编程
  • 发 布 人:星火燎原
  • 文件格式:.zip
  • 所需积分:2
 相关标签: IC卡 考勤

实例介绍

【实例简介】
【实例截图】


【核心代码】

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            lblTime.Text = DateTime.Now.ToString();//当进行考勤的时候在窗体中显示当前时间
            tsslTime.Text = DateTime.Now.ToString();//在任务栏中显示当前时间
        }

        private void 添加员工ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form2 frm2 = new Form2();
            frm2.ShowDialog();
        }

        private void 系统信息ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start("MSINFO32.EXE");
        }

        private void 开始考勤ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            timer1.Start();//开始考勤
            panel1.Visible = true;//显示考勤界面
            timer2.Start();//开始显示当前时间
            开始考勤ToolStripMenuItem.Enabled = false;//禁用开始考勤菜单
        }

        int flag = -1;//设置的一个变量,用于控制一张IC卡只读取一次以及向数据库中只添加一次内容
        int flag2 = -1;//设置的一个变量,用于控制当某个IC卡已经参加考勤后,弹出一次错误提示
        private void timer1_Tick(object sender, EventArgs e)
        {
            int i = baseClass.ReadIC(txtICCard);//调用公共类中的ReadIC方法开始循环读取IC卡
            if (i == -1)//如果返回值是-1说明没有IC卡
            {
                //清空显示员工信息的文本框
                txtDept.Text = "";
                txtFolk.Text = "";
                txtICCard.Text = "";
                txtJob.Text = "";
                txtName.Text = "";
                txtSex.Text = "";
                groupBox1.Text = "考勤进行中";
                flag = -1;//初始化标记
                flag2 = -1;//初始化标记
            }
            else//如果有IC卡进行考勤
            {
                if (flag ==-1)//只有当flag为-1的时候执行
                {
                    string icID = txtICCard.Text.Trim();//获取读取的IC卡编号
                    if (baseClass.isCheck(icID))//isCheck方法判断是否参加过考勤
                    {
                        if (flag2 == -1)//只有当flag2为-1的时候执行
                        {
                            flag2 = 0;//改变标记的值从而实现只弹出一次警告对话框
                            MessageBox.Show("已经参加过考勤!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            //清空文本框
                            txtDept.Text = "";
                            txtFolk.Text = "";
                            txtICCard.Text = "";
                            txtJob.Text = "";
                            txtName.Text = "";
                            txtSex.Text = "";
                            txtICCard.Text = "";
                            groupBox1.Text = "考勤进行中";
                        }
                    }
                    else//如果没有参加过考勤
                    {
                        //调用GetInfo方法获取IC卡对应的员工信息
                        baseClass.GetInfo(txtICCard.Text.Trim(), txtName, txtSex, txtJob, txtFolk, txtDept, groupBox1);
                        string name = txtName.Text.Trim();//员工姓名
                        string sex = txtSex.Text.Trim();//员工性别
                        string job = txtJob.Text.Trim();//员工职位
                        string folk = this.txtFolk.Text.Trim();//员工民族
                        string dept = txtDept.Text.Trim();//员工部门
                        //声明一个字符串,用于存储一条插入语句,实现将考勤信息插入到数据表中
                        string str = "insert into CheckNote(C_CardID,C_Name,C_Sex,C_Job,C_Folk,C_Dept,C_Time) values('"   icID   "','"   name   "','"   sex   "','"   job   "','"   folk   "','"   dept   "','"   DateTime.Now.ToShortDateString()   "')";
                        baseClass.ExecuteSQL(str);//ExecuteSQL方法执行SQL语句
                        tsslEinfo.Text = "已经有" baseClass.GetNum(DateTime.Now.ToShortDateString()) "人参加考勤";
                    }
                }
                flag = 0;//改变flag的值实现一张IC卡只存储一次信息

            }
        }

        private void 退出系统ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void timer2_Tick(object sender, EventArgs e)
        {
            lblTime.Text = DateTime.Now.ToString();
        }

        private void 考勤结束ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            开始考勤ToolStripMenuItem.Enabled = true;
            panel1.Visible = false;
            timer1.Stop();
            timer2.Stop();
            tsslEinfo.Text = "";
        }

        private void 考勤记录ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form3 frm3 = new Form3();
            frm3.ShowDialog();
        }

        private void timer3_Tick(object sender, EventArgs e)
        {
            tsslTime.Text = DateTime.Now.ToString();
        }

        private void 关于ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            AboutBox1 ab = new AboutBox1();
            ab.ShowDialog();
        }
    }

标签: IC卡 考勤

实例下载地址

C#版 IC卡读写实例源码,考勤系统源码(有截图)

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

第 1 楼 xinlangsaite 发表于: 2013-03-30 14:44 13
毕业了,工作了,需要精神食粮了

支持(0) 盖楼(回复)

第 2 楼 bbspc 发表于: 2015-12-11 08:43 01
确实挺好,支持一下!

支持(0) 盖楼(回复)

发表评论

(您的评论需要经过审核才能显示)

查看所有2条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警