Polling() public method

�|�[�����O
public Polling ( int systemcode ) : void
systemcode int �V�X�e���R�[�h
return void
        private static void readNanaco(Felica f)
        {
            f.Polling((int)SystemCode.Common);
            byte[] data = f.ReadWithoutEncryption(0x558b, 0);
            if (data == null)
            {
                throw new Exception("nanaco ID が読み取れません");
            }
            Console.Write("Nanaco ID = ");
            for (int i = 0; i < 8; i++)
            {
                Console.Write(data[i].ToString("X2"));
            }
            Console.Write("\n");

            for (int i = 0; ; i++)
            {
                data = f.ReadWithoutEncryption(0x564f, i);
                if (data == null)
                {
                    break;
                }

                switch (data[0])
                {
                case 0x47:
                default:
                    Console.Write("支払     ");
                    break;

                case 0x6f:
                    Console.Write("チャージ ");
                    break;
                }

                int value = (data[9] << 24) + (data[10] << 16) + (data[11] << 8) + data[12];
                int year  = (value >> 21) + 2000;
                int month = (value >> 17) & 0xf;
                int date  = (value >> 12) & 0x1f;
                int hour  = (value >> 6) & 0x3f;
                int min   = value & 0x3f;

                Console.Write("{0}/{1:D2}/{2:D2} {3:D2}:{4:D2}", year, month, date, hour, min);

                value = (data[1] << 24) + (data[2] << 16) + (data[3] << 8) + data[4];
                Console.Write("  金額 {0,6}円", value);

                value = (data[5] << 24) + (data[6] << 16) + (data[7] << 8) + data[8];
                Console.Write("  残高 {0,6}円", value);

                value = (data[13] << 8) + data[14];
                Console.WriteLine("  連番 {0}", value);
            }
        }
        private static void readNanaco(Felica f)
        {
            f.Polling((int)SystemCode.Common);
            byte[] data = f.ReadWithoutEncryption(0x558b, 0);
            if (data == null)
            {
                throw new Exception("nanaco ID ���ǂݎ��܂���");
            }
            Console.Write("Nanaco ID = ");
            for (int i = 0; i < 8; i++) {
                Console.Write(data[i].ToString("X2"));
            }
            Console.Write("\n");

            for (int i = 0; ; i++)
            {
                data = f.ReadWithoutEncryption(0x564f, i);
                if (data == null) break;

                switch (data[0])
                {
                    case 0x47:
                    default:
                        Console.Write("�x��     ");
                        break;
                    case 0x6f:
                        Console.Write("�`���[�W ");
                        break;
                }

                int value = (data[9] << 24) + (data[10] << 16) + (data[11] << 8) + data[12];
                int year = (value >> 21) + 2000;
                int month = (value >> 17) & 0xf;
                int date = (value >> 12) & 0x1f;
                int hour = (value >> 6) & 0x3f;
                int min = value & 0x3f;

                Console.Write("{0}/{1:D2}/{2:D2} {3:D2}:{4:D2}", year, month, date, hour, min);

                value = (data[1] << 24) + (data[2] << 16) + (data[3] << 8) + data[4];
                Console.Write("  ��z {0,6}�~", value);

                value = (data[5] << 24) + (data[6] << 16) + (data[7] << 8) + data[8];
                Console.Write("  �c�� {0,6}�~", value);

                value = (data[13] << 8) + data[14];
                Console.WriteLine("  �A�� {0}", value);
            }
        }
Beispiel #3
0
        /// <summary>
        /// IDm取得メソッド
        /// </summary>
        /// <returns></returns>
        public string getID()
        {
            try
            {
                using (Felica felica = new Felica())
                {
                    felica.Polling(0xFFFF);
                    byte[] data = felica.IDm();
                    id = "";
                    for (int i = 0; i < data.Length; i++)
                    {
                        id += data[i].ToString("X2");
                    }

                }
            }
            catch(Exception)
            {
                //MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return null;
            }
            return id;
        }
Beispiel #4
0
        //[FelicaLib]Suica読み込み
        private static void PrintSuicaNo(FelicaLib.Felica f)
        {
            // システムコード: 0003 (Suicaなどの領域)
            f.Polling((int)SystemCode.Suica);
            //f.Polling((int)SystemCode.Any);

            Console.WriteLine("IDm=" + BitConverter.ToString(f.IDm()));
            Console.WriteLine("PMm=" + BitConverter.ToString(f.PMm()));

            // Suica 各サービスコード
            for (int i = 0; ; i++)
            {
                // サービスコード 乗降履歴情報
                byte[] data = f.ReadWithoutEncryption(0x090f, i);
                if (data == null)
                {
                    break;
                }
                Console.WriteLine("Suica 乗降履歴情報 [" + i + "]  " + BitConverter.ToString(data));
            }
            for (int i = 0; ; i++)
            {
                Console.WriteLine("Suica カード種別およびカード残額情報 " + i);
                // サービスコード カード種別およびカード残額情報
                byte[] data = f.ReadWithoutEncryption(0x008B, i);
                if (data == null)
                {
                    break;
                }
            }
            for (int i = 0; ; i++)
            {
                Console.WriteLine("Suica 改札入出場履歴情報 " + i);
                // サービスコード 改札入出場履歴情報
                byte[] data = f.ReadWithoutEncryption(0x108F, i);
                if (data == null)
                {
                    break;
                }
            }
            for (int i = 0; ; i++)
            {
                Console.WriteLine("Suica SF入場情報 " + i);
                // サービスコード SF入場情報
                byte[] data = f.ReadWithoutEncryption(0x10CB, i);
                if (data == null)
                {
                    break;
                }
            }
            for (int i = 0; ; i++)
            {
                Console.WriteLine("Suica 料金券情報 " + i);
                // サービスコード 料金券情報
                byte[] data = f.ReadWithoutEncryption(0x184B, i);
                if (data == null)
                {
                    break;
                }
            }

            for (int i = 0; ; i++)
            {
                byte[] data = f.ReadWithoutEncryption(0x008B, i);
                if (data == null)
                {
                    break;
                }
            }
        }