private void toolStripMenuItem3_Click(object sender, EventArgs e) { AddLineToLog("Открыто окно редактирования параметра с индексом " + "0x" + Convert.ToString(startIndex + _contextMenuClickedRow, 16)); FormCodtDomainSettings f4 = new FormCodtDomainSettings(startIndex + _contextMenuClickedRow, _parametersSettingsVm.ParametersSettingsDatas); f4.ShowDialog(); f4.Dispose(); }
private void ValueParser(CanParameter canParameter) { if (canParameter.Data.Count() == 4)//real 32 { float myFloat; myFloat = System.BitConverter.ToSingle(canParameter.Data, 0); var nfi = new NumberFormatInfo(); nfi.NumberDecimalSeparator = "."; string strData = myFloat.ToString(nfi); WriteDataToParametersTable(canParameter.ParameterId, 2, strData); } else if (canParameter.Data.Count() == 2) //sint16 { short myShort; myShort = BitConverter.ToInt16(canParameter.Data, 0); WriteDataToParametersTable(canParameter.ParameterId, 2, myShort.ToString()); } else if (canParameter.Data.Count() == 3) //sint24 { int myShort; myShort = (canParameter.Data[0] << 8) + (canParameter.Data[1] << 16) + (canParameter.Data[2] << 24); myShort /= 256; WriteDataToParametersTable(canParameter.ParameterId, 2, myShort.ToString()); } else //codtDomain { int i = 0; var codtDomainDatas = new CodtDomainData[20]; while (i < 20) { codtDomainDatas[i] = new CodtDomainData() { Coordinate = BitConverter.ToInt32(canParameter.Data, i * 6), Speed = BitConverter.ToInt16(canParameter.Data, i * 6 + 4) }; i++; } _parametersSettingsVm.ParametersSettingsDatas[canParameter.ParameterId - startIndex].CodtDomainArray = codtDomainDatas; this.Invoke((MethodInvoker) delegate { WriteDataToParametersTable(canParameter.ParameterId, 2, "Двоичные данные"); var formDomain = new FormCodtDomainSettings(canParameter.ParameterId, _parametersSettingsVm.ParametersSettingsDatas); formDomain.Show(); }); } this.Invoke((MethodInvoker) delegate { AddLineToLog("Выгружено значение параметра с индексом " + "0x" + Convert.ToString(canParameter.ParameterId, 16) + ", address = " + Convert.ToString(canParameter.ControllerId, 16)); }); }