⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.cpp

📁 IC卡读卡器电路与PC操作界面的通信程序
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include "Unit2.h"
USEFORM("Unit2.cpp", Form2);
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "MSCommLib_OCX"
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
        MSComm1->CommPort = 1;                  //串口号
        if(MSComm1->PortOpen==false)
        {
            MSComm1->Settings = "9600,n,8,1";   //通信协议
            MSComm1->PortOpen = true;           //开串口

        }
        MSComm1->OutBufferCount = 0;            //清空
        MSComm1->InBufferCount = 0;
        MSComm1->InputMode = 0;
        MSComm1->RThreshold = 1;                //文本输入

        // MSComm1->InputLen =2;
        MSComm1->Output = StringToOleStr("!0*");
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
        String password =  Edit3->Text;                 //密码
        if(password.Length() != 6)
                ShowMessage("请输入6位密码!");

        else
        {
                MSComm1->Output = StringToOleStr("!1"+password+'*');     //发到单片机
                Sleep(600);                                      //等待
                String s = MSComm1->Input;                      //读回确认码“aaa ”
                if(s=="!1R*")                                    //判断
                {
                        MSComm1->Output = StringToOleStr("!2*");
                        Form2->Show();
                        Edit1->Text = "";
                        Edit2->Text = "";
                }
                else
                        ShowMessage("密码不正确!");            //提示操作
                Edit3->Text = "";
        }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::MSComm1Comm(TObject *Sender)
{
        Sleep(60);                                              //软件等待
        String s =   MSComm1->Input;                            //读姓名卡号
        String card_No = s.SubString(3,s.Pos("#")-3);              //显示姓名卡号
        String name = s.SubString(s.Pos("#")+1,(s.Length()-s.Pos("#")-1));
        //String str =   MSComm1->Input;
        //String card_No = s.SubString(7,3);
        Edit1->Text = name;
        Edit2->Text = card_No;
}
//---------------------------------------------------------------------------


void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
   Form1->MSComm1->Output = StringToOleStr("!$*");
   MSComm1->PortOpen = false ;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormShow(TObject *Sender)
{
        MSComm1->CommPort = 1;                  //串口号
        if(MSComm1->PortOpen==false)
        {
            MSComm1->Settings = "9600,n,8,1";   //通信协议
            MSComm1->PortOpen = true;           //开串口

        }
        MSComm1->OutBufferCount = 0;            //清空
        MSComm1->InBufferCount = 0;
        MSComm1->InputMode = 0;
        MSComm1->RThreshold = 1;                //文本输入

        // MSComm1->InputLen =2;
        //MSComm1->Output = StringToOleStr("!0*");        
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -