/// <summary> /// Sets value in the trace header /// </summary> /// <param name="val">value as string</param> /// <param name="position">position in the header as per Zebra convention</param> /// <param name="buffer">buffer to get data from</param> public static void SetValue(string val, int position, byte[] buffer) { position--; NumberUnion nu = new NumberUnion(); if (c_Sizes[position] == 2) { short t = 0; try { t = Convert.ToInt16(val); } catch (Exception) { } BufferConverter.SetBytesInt16_BE(buffer, nu, t, c_Offsets[position]); } if (c_Sizes[position] == 4) { int t = 0; try { t = Convert.ToInt32(val); } catch (Exception) { } BufferConverter.SetBytesInt32_BE(buffer, nu, t, c_Offsets[position]); } }
/// <summary> /// Sets value to the buffer /// </summary> /// <param name="Buffer"></param> public void SetBuffer(byte[] Buffer) { NumberUnion nu = new NumberUnion(); switch (Type) { case LDF_Constant.Int16: BufferConverter.SetBytesInt16_BE(Buffer, nu, Convert.ToInt16(Value), Location); break; case LDF_Constant.UInt16: BufferConverter.SetBytesUInt16_BE(Buffer, nu, Convert.ToUInt16(Value), Location); break; case LDF_Constant.Int32: BufferConverter.SetBytesInt32_BE(Buffer, nu, Convert.ToInt32(Value), Location); break; case LDF_Constant.Float32: BufferConverter.SetBytesFloat_BE(Buffer, nu, Convert.ToSingle(Value) / ConversionFactor, Location); break; case LDF_Constant.String: string v = (Value.Length > Length) ? Value.Substring(0, Length) : Value; BufferConverter.SetBytesString(Buffer, nu, v, Length + 1, Location); break; default: break; } }