rfid源代码 gunmanagerWord文档格式.docx

上传人:b****5 文档编号:16816000 上传时间:2022-11-26 格式:DOCX 页数:21 大小:67.44KB
下载 相关 举报
rfid源代码 gunmanagerWord文档格式.docx_第1页
第1页 / 共21页
rfid源代码 gunmanagerWord文档格式.docx_第2页
第2页 / 共21页
rfid源代码 gunmanagerWord文档格式.docx_第3页
第3页 / 共21页
rfid源代码 gunmanagerWord文档格式.docx_第4页
第4页 / 共21页
rfid源代码 gunmanagerWord文档格式.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

rfid源代码 gunmanagerWord文档格式.docx

《rfid源代码 gunmanagerWord文档格式.docx》由会员分享,可在线阅读,更多相关《rfid源代码 gunmanagerWord文档格式.docx(21页珍藏版)》请在冰豆网上搜索。

rfid源代码 gunmanagerWord文档格式.docx

六、枪支管理系统的实现

6.1连接读写器

6.2连接读写器设备

6.3枪支登记

6.4枪支监控

6.5枪支盘点

七、心得体会

八、附录

实验代码

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Text;

usingSystem.Windows.Forms;

usingSystem.Data.OleDb;

usingSystem.Threading;

usingSystem.Collections;

usingMicrosoft.DirectX;

usingMicrosoft.DirectX.DirectSound;

usingTagReaderLibrary;

namespaceGunManager

{

publicpartialclassForm1:

Form

{

BooleanIsLogined=false;

BooleanIsConnected=false;

BooleanIsChecked=false;

BooleanIsMonitor=false;

BooleanNeedAlam=false;

//BooleanNeedLoad=true;

List<

String>

AllDocuments,Names;

Threadthrd_Monitor=null;

EventWaitHandleewh;

delegatevoidShowInfoDelegate(Stringstr);

ShowInfoDelegateShowInfoDel;

Microsoft.DirectX.DirectSound.Devicemydevice;

Microsoft.DirectX.DirectSound.SecondaryBufferScdBuffer;

Microsoft.DirectX.DirectSound.BufferDescriptiondesc;

ISO15693Readerreader=newISO15693Reader();

publicForm1()

InitializeComponent();

}

privatevoidShowInfo(Stringstr)

lsb_Monitor.Items.Add(str);

lsb_Monitor.SelectedIndex=lsb_Monitor.Items.Count-1;

lsb_Monitor.ClearSelected();

//publicstaticIntPtrVarPtr(ObjectMyObject)//获得对象的指针

//{

//GCHandleMyGCHandle=GCHandle.Alloc(MyObject,GCHandleType.Pinned);

//IntPtrptr=MyGCHandle.AddrOfPinnedObject();

//MyGCHandle.Free();

//returnptr;

//}

privatevoidbtn_Login_Click(objectsender,EventArgse)

if(IsLogined)

lbl_Login.Text="

您已经登录!

"

;

return;

if(txt_UserName.Text.Trim()=="

请填写用户名!

if(txt_PassWord.Text.Trim()=="

请填写密码!

OleDbConnectionconn=newOleDbConnection();

conn.ConnectionString=@"

Provider=Microsoft.Jet.OLEDB.4.0;

DataSource=|DataDirectory|\database.mdb;

PersistSecurityInfo=True"

conn.Open();

Stringsql=String.Format("

SELECTPassWordFROMtab_UserWHEREUserName='

{0}'

txt_UserName.Text.Trim());

OleDbCommandcmd=newOleDbCommand(sql,conn);

OleDbDataReaderdr=cmd.ExecuteReader();

if(dr.Read())

if(((String)dr["

PassWord"

]).Trim()==txt_PassWord.Text.Trim())

IsLogined=true;

lbl_Login.Text=String.Format("

登录成功,尊敬的用户:

{0},欢迎您!

else

您的密码错误,请重新填写!

txt_PassWord.Text="

txt_PassWord.Focus();

您的用户名不存在,请重新填写!

txt_UserName.Text="

txt_UserName.Focus();

conn.Close();

conn=null;

cmd=null;

dr=null;

privatevoidbtn_Logout_Click(objectsender,EventArgse)

if(!

IsLogined)

尚未登录,不能注销!

IsLogined=false;

已注销,继续使用需重新登录!

privatevoidbtn_Reset_Click(objectsender,EventArgse)

privatevoidbtn_Open_Click(objectsender,EventArgse)

if(IsConnected)

lbl_Connect.Text="

串口已经打开,不能重复打开串口!

if(cmb_SerialPort.SelectedIndex<

0)

请选择与设备连接的串口地址!

if(cmb_Baudrate.SelectedIndex<

请选择与设备连接使用的波特率!

Int32value=reader.OpenSerialPort(cmb_SerialPort.SelectedItem.ToString(),Int32.Parse(cmb_Baudrate.SelectedItem.ToString()));

if(value==0)

lbl_Connect.Text=String.Format("

串口{0}打开成功!

cmb_SerialPort.Text.Trim());

cmb_SerialPort.Enabled=false;

IsConnected=true;

串口{0}打开失败!

IsConnected=false;

privatevoidbtn_Close_Click(objectsender,EventArgse)

IsConnected)

串口尚未打开,无需关闭"

Int32value=reader.CloseSerialPort();

//CloseCom();

串口{0}已成功关闭!

cmb_SerialPort.Enabled=true;

串口{0}关闭失败!

privatevoidbtn_Read_Click(objectsender,EventArgse)

lbl_Add.Text="

请先登录系统!

请先打开串口,连接设备!

inttagcount=0;

String[]tagnumber=newString[0];

Int32value=reader.Inventory(ISO15693Reader.ModulateMethod.ASK,ISO15693Reader.InventoryModel.Single,reftagcount,reftagnumber);

//.GetOne(refdata);

//Inventory(data,0x27,reftagCount);

if((value!

=0)&

&

(tagnumber.Length>

0))

读取失败,没有得到任何有效数据。

txt_Snr.Text="

txt_Snr.Text=tagnumber[0];

//String.Format("

{0:

X2}{1:

X2}{2:

X2}{3:

X2}{4:

X2}{5:

X2}{6:

X2}{7:

X2}"

data[0],data[1],data[2],data[3],data[4],data[5],data[6],data[7]);

读取成功!

privatevoidbtn_Add_Click(objectsender,EventArgse)

if(txt_Snr.Text.Trim()=="

请先读取与该枪支对应的标签!

btn_Add.Focus();

if(txt_Name.Text.Trim()=="

请填写枪支编号!

txt_Name.Focus();

SELECT*FROMtab_DocWHERETagId='

txt_Snr.Text.Trim());

lbl_Add.Text=String.Format("

枪支[{0}]已经使用了该标签,请更换标签后重试!

dr["

DocName"

]);

sql=String.Format("

INSERTINTOtab_Doc(TagId,DocName)VALUES('

'

{1}'

)"

txt_Snr.Text.Trim(),txt_Name.Text.Trim());

cmd=newOleDbCommand(sql,conn);

if(cmd.ExecuteNonQuery()==1)

添加成功!

txt_Name.Text="

添加失败"

this.tab_DocTableAdapter.Fill(this.databaseDataSet.tab_Doc);

privatevoidbtn_Cancel_Click(objectsender,EventArgse)

txt_Other.Text="

btn_Read.Focus();

privatevoidbtn_Delete_Click(objectsender,EventArgse)

privatevoidbtn_Save_Click(objectsender,EventArgse)

tabDocBindingSource.EndEdit();

this.tab_DocTableAdapter.Update(this.databaseDataSet.tab_Doc);

privatevoidbtn_CancelModify_Click(objectsender,EventArgse)

tabDocBindingSource.CancelEdit();

privatevoidbtn_Refresh_Click(objectsender,EventArgse)

privatevoidbtn_Check_Click(objectsender,EventArgse)

IsChecked=false;

lock(this)

lsb_Check.Items.Add("

);

if(IsMonitor)

正在监控中,请先结束监控后再盘点!

Int32TagCount=0;

String[]Snrs=newString[0];

Int32value=reader.Inventory(ISO15693Reader.ModulateMethod.ASK,ISO15693Reader.InventoryModel.Multiple,refTagCount,refSnrs);

//Bytevalue=reader.GetAllTagsNum(outTagCount,outSnrs);

if(value==0x11)

在天线厂区内没有检测到任何枪支。

if(value>

lsb_Check.Items.Add(String.Format("

盘点错误,错误代码为{0}!

value));

if(TagCount==0)

盘点结束,没有得到任何枪支信息!

AllDocuments=newList<

string>

();

AllDocuments.AddRange(Snrs);

检测到{0}个标签,具体信息如下:

AllDocuments.Count));

Names=newList<

OleDbCommandcmd=newOleDbCommand();

cmd.Connection=conn;

OleDbDataReaderdr;

foreach(StringobjinAllDocuments)

cmd.CommandText=String.Format("

obj);

;

dr=cmd.ExecuteReader();

10}|{1}"

obj,dr["

]));

Names.Add(dr["

].ToString());

{lsb_Check.Items.Add(String.Format("

10}|空标签"

obj));

Names.Add("

空标签"

dr.Close();

IsChecked=true;

privatevoidbtn_Clear1_Click(objectsender,EventArgse)

lsb_Check.Items.Clear();

privatevoidbtn_Monitor_Click(objectsender,EventArgse)

if(IsMonitor)return;

lsb_Monitor.Items.Add("

IsChecked)

请先进行枪支盘点,以确认所有监控对象!

IsMonitor=true;

if(thrd_Monitor==null)

thrd_Monitor=newThread(newThreadStart(ThreadMonitor));

thrd_Monitor.Start();

您启动了枪支监控......"

privatevoidbtn_Stop_Click(objectsender,EventArgse)

IsMonitor)

尚未启动监控!

IsMonitor=false;

ewh.Reset();

Threadthread=newThread(newThreadStart(ThreadReport));

thread.Start();

privatevoidbtn_Clear2_Click(objectsender,EventArgse)

lsb_Moni

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 判决书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1