//////////////////////////////////////////////////////////////// // Test Lettore Badge 2004 (c) SofTech di Germinara Francesco 2000,2004 // www.germinara.it info@germinara.it // Story: // //////////////////////////////////////////////////////////////// // Checked Version: 6/5/2004 //////////////////////////////////////////////////////////////// // Note Before use need to registry the SI_COMM.OCX activex in the Debug directory // with REGSVR32 SI_COMM.OCX #pragma once #include "sicommctrl1.h" //************************************************************************ // Comm Port Constants //************************************************************************ const int COMM1 = 0; const int COMM2 = 1; const int COMM3 = 2; const int COMM4 = 3; const int COMM5 = 4; const int COMM6 = 5; const int COMM7 = 6; const int COMM8 = 7; const int COMM9 = 8; const int COMM10 = 9; const int COMM11 = 10; const int COMM12 = 11; const int COMM13 = 12; const int COMM14 = 13; const int COMM15 = 14; const int COMM16 = 15; //************************************************************************ // Baud Rate Constants //************************************************************************ const int Baud150 = 0; const int Baud300 = 1; const int Baud600 = 2; const int Baud1200 = 3; const int Baud2400 = 4; const int Baud4800 = 5; const int Baud9600 = 6; const int Baud192K = 7; const int Baud384K = 8; const int Baud576K = 9; const int Baud1152K = 10; //************************************************************************ // Parity Constants //************************************************************************ const int ParityNone = 0; const int ParityOdd = 2; const int ParityEven = 1; const int ParityMark = 3; const int ParitySpace = 4; //************************************************************************ // Stopbit Constants //************************************************************************ const int StopBit1 = 0; const int StopBit2 = 1; //************************************************************************ // Wordlength Constants //************************************************************************ const int WordLen5 = 0; const int WordLen6 = 1; const int WordLen7 = 2; const int WordLen8 = 3; //************************************************************************ // Handshaking Constants //************************************************************************ const int NoHandShaking = 0; //No handshaking const int XonHandShaking = 1; //XON / XOFF handshaking const int CTSHandShaking = 2; //CTS / RTS handshaking const int DSRHandShaking = 3; //DSR / DTR handshaking const int LocalCtsRemoteXon = 4; //Local uses CTS/RTS Remote uses XON/XOFF const int LocalCtsRemoteDsr = 5; //Local uses CTS/RTS Remote uses DSR/DTR const int LocalCtsRemoteNon = 6; //Local uses CTS/RTS Remote uses None const int LocalXonRemoteCts = 7; //Local uses XON/XOFF Remote uses CTS/RTS const int LocalXonRemoteDsr = 8; //Local uses XON/XOFF Remote uses DSR/DTR const int LocalXonRemoteNon = 9; //Local uses XON/XOFF Remote uses None const int LocalDsrRemoteCts = 10; //Local uses DSR/DTR Remote uses CTS/RTS const int LocalDsrRemoteXon = 11; //Local uses DSR/DTR Remote uses XON/XOFF const int LocalDsrRemoteNon = 12; //Local uses DSR/DTR Remote uses None const int LocalNonRemoteCts = 13; //Local uses None Remote uses CTS/RTS const int LocalNonRemoteDsr = 14; //Local uses None Remote uses DSR/DTR const int LocalNonRemoteXon = 15; //Local uses None Remote uses XON/XOFF //************************************************************************ // File Transfer Protocol Constants //************************************************************************ const int Xmodem = 0; const int Xmodem1K = 1; const int Ymodem = 2; const int YmodemBatch = 3; const int YmodemG = 4; const int YmodemGBatch = 5; const int Zmodem = 6; const int XmodemChkSum = 7; //************************************************************************ // Modem Handling Constants //************************************************************************ const int ModemConnectSuccess = 0; const int ModemNoResponse = -2; const int ModemNoDialTone = -3; const int ModemNumberBusy = -4; //************************************************************************ // DTR/RTS Open Port Constants //************************************************************************ const int SignalRaise = 0; const int SignalDrop = 1; const int SignalNoChange = 2; //************************************************************************ // CardType Constants //************************************************************************ const int CardWinApi = 0; const int CardWcscVxD = 1; //************************************************************************ // CommTick Constants //************************************************************************ const int CommTickDefault = 0; const int CommTickMilliSecond = 1; //************************************************************************ // CommEvent Codes //************************************************************************ const int BreakEvt = 0; const int FrameErr = 1; const int ParityErr = 2; const int OverRunErr = 3; const int DCDEvt = 4; const int CTSEvt = 5; const int RIEvt = 6; const int DSREvt = 7; const int RxAlertEvt = 8; const int TxAlertEvt = 9; const int WaitDCDOn = 10; const int WaitDCDOff = 11; const int WaitCTSOn = 12; const int WaitCTSOff = 13; const int WaitDSROn = 14; const int WaitDSROff = 15; const int WaitRIOn = 16; const int WaitRIOff = 17; const int WaitRxChar = 18; const int WaitTxChar = 19; const int WaitDCDOnTimeOut = 0x1000 | WaitDCDOn; const int WaitDCDOffTimeOut = 0x1000 | WaitDCDOff; const int WaitCTSOnTimeOut = 0x1000 | WaitCTSOn; const int WaitCTSOffTimeOut = 0x1000 | WaitCTSOff; const int WaitDSROnTimeOut = 0x1000 | WaitDSROn; const int WaitDSROffTimeOut = 0x1000 | WaitDSROff; const int WaitRIOnTimeOut = 0x1000 | WaitRIOn; const int WaitRIOffTimeOut = 0x1000 | WaitRIOff; const int WaitRxCharTimeOut = 0x1000 | WaitRxChar; const int WaitTxCharTimeOut = 0x1000 | WaitTxChar; // CDlgCardReader dialog class CDlgCardReader : public CDialog { DECLARE_DYNAMIC(CDlgCardReader) public: CDlgCardReader(CWnd* pParent = NULL); // standard constructor virtual ~CDlgCardReader(); int m_nDelay; BOOL m_bComOk; void CloseComPort(); //Chiude la porta seriale di comunicazione BOOL OpenComPort(); //Apre la porta seriale di comunicazione BOOL m_bTimeOut; //TRUE=Time Out occurred BOOL CheckDataInRX(); //TRUE=There are data in rx buffer CString ReadRowData();//Read ROW Data BOOL CheckData(CString strRowData); //Decofica Dati Nelle Varie Tracce void CheckDataTrack1(); //Decodifico Traccia 1 CString strRowData; //Row Data Buffer BOOL m_bDataOK; //True=Ok, data present // Dialog Data enum { IDD = IDD_DLG_READER }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support DECLARE_MESSAGE_MAP() public: CString m_strTraccia1; //Risultato Traccia 1 CString m_strTraccia2; //Risultato Traccia 2 CString m_strTraccia3; //Risultato Traccia 3 CSicommctrl1 m_siComm; //ActiveX di comunicazione seriale virtual BOOL OnInitDialog(); protected: virtual void OnOK(); virtual void OnCancel(); public: afx_msg void OnTimer(UINT nIDEvent); CString m_strRowDataDebug; //Stringa ROW data CString m_strNome; //Dati decodificati da traccia 1 Nome CString m_strCogn; //Dati decodificati da traccia 1 Cognome CString m_strCodice; //Dati decodificati da traccia 1 Codice CString m_strServiceCode; //Dati decodificati da traccia 1 Service Code CString m_strFormatCode; //Dati decodificati da traccia 1 Formato CString m_strScadenza; //Dati decodificati da traccia 1 Data Scadenza CString m_strPW; //Dati decodificati da traccia 1 password CString m_strSNLettor; //Dati decodificati da traccia 1 SN del lettore afx_msg void OnBnClickedButton1(); //Esecuzione nuova lettura };