private void inventory() { byte Ant = 0; int CardNum = 0; int Totallen = 0; int EPClen, m; byte[] EPC = new byte[50000]; int CardIndex; string temps, temp; temp = ""; string sEPC; byte MaskMem = 0; byte[] MaskAdr = new byte[2]; byte MaskLen = 0; byte[] MaskData = new byte[100]; byte MaskFlag = 0; byte AdrTID = 0; byte LenTID = 0; DataGridViewRow rows = new DataGridViewRow(); ErrorsCatcher.errorName = RWDev.Inventory_G2(ref RWDev.comAddress, RWDev.QValue, RWDev.session, MaskMem, MaskAdr, MaskLen, MaskData, MaskFlag, AdrTID, LenTID, RWDev.TIDFlag, RWDev.target, RWDev.inAnt, scantime, RWDev.fastFlag, EPC, ref Ant, ref Totallen, ref CardNum, RWDev.frmComPortIndex); resultTime = DateTime.Now; if ((ErrorsCatcher.errorName == 1) | (ErrorsCatcher.errorName == 2) | (ErrorsCatcher.errorName == 3) | (ErrorsCatcher.errorName == 4)) { byte[] daw = new byte[Totallen]; Array.Copy(EPC, daw, Totallen); temps = ConverterTo.ByteArrayToHexString(daw); m = 0; if (CardNum == 0) { return; } for (CardIndex = 0; CardIndex < CardNum; CardIndex++) { EPClen = daw[m] + 1; temp = temps.Substring(m * 2 + 2, EPClen * 2); sEPC = temp.Substring(0, temp.Length - 2); string RSSI = Convert.ToInt32(temp.Substring(temp.Length - 2, 2), 16).ToString(); m = m + EPClen + 1; if (sEPC.Length != (EPClen - 1) * 2) { return; } if (!scanData.ContainsKey(sEPC)) { scanData.Add(sEPC, resultTime); richTextBoxLogs.AppendText(resultTime.ToString() + " goods with RFID " + sEPC + " scaned." + Environment.NewLine); Task sendToServer = Task.Run(() => { try { Channel channel = new Channel("127.0.0.1:50051", ChannelCredentials.Insecure); var client = new ScannerServer.ScannerServerClient(channel); var reply = client.SendDataToServer(new SendRequest { GoodsInfo = { RFID = sEPC, Time = resultTime.ToString() } }); } catch { richTextBoxLogs.AppendText("Send data to server failed!" + Environment.NewLine); } }); } } } }
/// <summary> /// デフォルトコンストラクタ /// 引数の値で初期化を行う /// </summary> /// <param name="from">コンバーターが対象とする型に変換する機能</param> /// <param name="to">指定の型に変換する機能</param> public ConverterDelegateInfo(ConverterFrom from, ConverterTo to) { From = from; To = to; }