private void WriteData(int nb) { // | 0x0000 | 00 07 CB C1 35 5D | if (nb == 0) { _sb.Append("| | | "); //return false; return; } int i = 0; while (_dataEnum.MoveNext()) { if (i == 0) _sb.AppendFormat("| 0x{0} |", ((ushort)_dataEnum.Index).zToHex()); _sb.AppendFormat(" {0}", _dataEnum.Current.zToHex()); if (++i == nb) break; } if (i == 0) _sb.AppendFormat("| |"); while (i < _maxDataPerLine1) { _sb.Append(" "); i++; } _sb.Append(" | "); }
private void WritePayloadData(int nb, EnumerableWithCounter<byte> dataEnum = null) { //| | | data | | //| 0x0022 | CD 67 01 BB E9 DF 53 5D | data | | //| 0x002A | 91 1F 42 06 50 10 40 3D | | | //| 0x0032 | FF 81 00 00 00 | | | //| 0x000E | 00 01 08 00 06 04 00 02 00 01 08 00 06 04 00 02 | "................" | data length 48 | //| 0x000E | 00 01 08 00 06 04 00 02 00 01 08 00 06 04 00 02 | "................" | | //| 0x000E | 00 01 08 00 06 04 00 02 00 01 08 00 06 04 00 02 | "................" | | if (dataEnum == null) dataEnum = _dataEnum; StringBuilder sb = new StringBuilder(); bool firstLine = true; while (nb > 0) { int n = Math.Min(_maxDataPerLine2, nb); int i = 0; sb.Append("\""); while (dataEnum.MoveNext()) { if (i == 0) _sb.AppendFormat("| 0x{0} |", ((ushort)dataEnum.Index).zToHex()); byte b = dataEnum.Current; _sb.AppendFormat(" {0}", b.zToHex()); if (b >= 32) sb.Append((char)b); else sb.Append("."); if (++i == n) break; } sb.Append("\""); if (i == 0) { _sb.AppendFormat("| |"); sb.Clear(); sb.Append(" "); } while (i < _maxDataPerLine2) { _sb.Append(" "); sb.Append(" "); i++; } _sb.Append(" | "); //if (firstLine) // _sb.Append("data "); //else // _sb.Append(" "); _sb.Append(sb.ToString()); //_sb.Append(" | |"); //_sb.Append(" | |"); _sb.Append(" "); //_sb.Append("| |"); if (firstLine) { _sb.Append("| "); _sb.Append("data length".PadRight(15)); _sb.Append(_dataLength.ToString().PadRight(5)); _sb.Append("|"); } else _sb.Append("| |"); WriteLine(); sb.Clear(); nb -= n; firstLine = false; if (dataEnum.EndOfData) break; } }