Exemple #1
0
        /// <summary>
        /// Extrae un campo ascii con formato.
        /// </summary>
        /// <param name="cmd"></param>
        /// <param name="length"></param>
        /// <param name="optional"></param>
        /// <returns></returns>
        protected string Extract_P(BinReader cmd, int length, bool optional)
        {
            _ = length;
            _ = optional;

            SkipFieldSep(cmd);

            var sb = new StringBuilder();

            while (!cmd.EOC)
            {
                if (cmd.PeekNext() == FLD)
                {
                    if (cmd.PeekNext(1) != FLD)
                    {
                        break;
                    }

                    cmd.ReadNext();     // Read the escaped FLD
                }

                sb.Append((char)cmd.ReadNext());
            }
            return(sb.ToString());
        }
Exemple #2
0
        /// <summary>
        /// Extrae un campo si/no.
        /// </summary>
        /// <param name="cmd"></param>
        /// <param name="length"></param>
        /// <param name="optional"></param>
        /// <returns></returns>
        protected bool Extract_Y(BinReader cmd, int length, bool optional)
        {
            _ = length;
            _ = optional;

            SkipFieldSep(cmd);
            if (!cmd.EOC && cmd.PeekNext() != FLD)
            {
                char ch = (char)cmd.ReadNext();
                return(ch != 'n' && ch != 'N');
            }
            return(false);
        }
Exemple #3
0
        /// <summary>
        /// Extrae un campo Binario.
        /// </summary>
        /// <param name="cmd"></param>
        /// <param name="length"></param>
        /// <param name="optional"></param>
        /// <returns></returns>
        protected byte[] Extract_B(BinReader cmd, int length, bool optional)
        {
            _ = length;
            _ = optional;

            var result = new List <byte>();

            while (!cmd.EOC && cmd.PeekNext() != FLD)
            {
                result.Add(cmd.ReadNext());
            }
            return(result.ToArray());
        }
Exemple #4
0
        /// <summary>
        /// Extrae un campo de texto enriquecido.
        /// </summary>
        /// <param name="cmd"></param>
        /// <param name="length"></param>
        /// <param name="optional"></param>
        /// <returns></returns>
        protected string Extract_RT(BinReader cmd, int length, bool optional)
        {
            _ = length;
            _ = optional;

            SkipFieldSep(cmd);

            var sb = new StringBuilder();

            while (!cmd.EOC && cmd.PeekNext() != FLD)
            {
                sb.Append((char)cmd.ReadNext());
            }
            return(sb.ToString());
        }