-
.NET Hex Data Swap and Change Address ExampleIT Story/C# & WPF 2022. 6. 19. 21:21반응형
/// <summary> /// Hex Data를 Swap 한다 /// </summary> /// <param name="sHexData"></param> /// <returns></returns> public string funHexSwap(string sHexData) { string sReturn = string.Empty; //리턴할 주소값 string sTemp = string.Empty; //임시로 저장할 변수 int nMod; //자릿수 계산을 위한 나머지 변수 try { if (sHexData.Length % 4 != 0) { nMod = sHexData.Length % 4; sTemp = sTemp.PadLeft(nMod, '0'); sHexData = sTemp + sHexData; } for (int i = 0; i < sHexData.Length; i = i + 4) { sReturn = sReturn + sHexData.Substring(i + 2, 2) + sHexData.Substring(i, 2); } } catch { // this.m_Info.Set_Log(Common.EnuCommon.LogType.CIM, ex.ToString() + ", sHexData:" + sHexData); } return sReturn; } /// <summary> /// 어드레스를 원하는 만큼 증가 /// </summary> /// <param name="sBaseAddress"></param> /// <param name="nStep"></param> /// <returns></returns> public string funAddressAdd(string sBaseAddress, int nStep) { string sAddress = string.Empty; int nAddress = 0; try { //어드레스만 뽑아낸다. sAddress = sBaseAddress.Substring(1, sBaseAddress.Length - 1); //10진수로 바꾸고 어드레스를 증가한다. nAddress = Convert.ToInt32(this.funHexConvert(sAddress, Common.EnuCommunication.StringType.Decimal)) + nStep; //10진수를 16진수 4자리로 바꾼다. sAddress = string.Format("{0:X4}", nAddress); sAddress = sBaseAddress.Substring(0, 1) + sAddress; } catch { // this.m_Info.Set_Log(Common.EnuCommon.LogType.CIM, ex.ToString() + ", sBaseAddress:" + sBaseAddress + ", nStep:" + nStep); } return sAddress; }
반응형'IT Story > C# & WPF' 카테고리의 다른 글
Example of entering, deleting, and modifying new columns in .NET DataGridView (0) 2022.06.19 Example of adding, deleting, and modifying new rows in .NET DataGridView (0) 2022.06.19 Example of changing .NET Data to the type that the user wants (0) 2022.06.19 WPF page Navigation like in MVC (0) 2019.12.25 WPF ComboBox control (0) 2019.12.25