示例#1
0
        public override byte[] Build()
        {
            if (string.IsNullOrEmpty(EncodeThis))
            {
                return(new byte[0]);
            }

            // Se o usuário solicitar explicitamente o formulário 2, caso contrário, suponha 1
            var m = (byte)(Form == 2 ? 69 : 4);

            var payload = Preamble();

            payload.AddRange(new byte[] { 0x1D, 0x6B, m });

            // modo 2 requer comprimento
            if (m == 69)
            {
                payload.Add((byte)EncodeThis.Length);
            }

            var bytes = System.Text.Encoding.ASCII.GetBytes(EncodeThis);

            payload.AddRange(bytes);

            // Forçar string terminando com nulo
            if (!EncodeThis.EndsWith("\0"))
            {
                payload.Add(0);
            }

            return(payload.ToArray());
        }
示例#2
0
        /// <inheritdoc />
        public override byte[] Build()
        {
            if (string.IsNullOrEmpty(EncodeThis))
            {
                return(new byte[0]);
            }

            // If user explicitly asks for form 2, otherwise assume 1
            var m = (byte)(Form == 2 ? 69 : 4);

            var payload = Preamble();

            payload.AddRange(new byte[] { 0x1D, 0x6B, m });

            // mode 2 requires length
            if (m == 69)
            {
                payload.Add((byte)EncodeThis.Length);
            }

            var bytes = System.Text.Encoding.ASCII.GetBytes(EncodeThis);

            payload.AddRange(bytes);


            // Force null terminated string
            if (!EncodeThis.EndsWith("\0"))
            {
                payload.Add(0);
            }

            return(payload.ToArray());
        }
示例#3
0
        /// <summary>
        /// Codifica como Código 128. Qualquer caractere não suportado em sua configuração será omitido do código de barras final. Se alguma configuração ilegal for encontrada, uma payload vazia será retornada.
        /// </summary>
        /// <returns>Payload ou vazio em erro</returns>
        /// <inheritdoc />
        public override byte[] Build()
        {
            if (string.IsNullOrEmpty(EncodeThis))
            {
                return(new byte[0]);
            }

            // Se o usuário solicitar explicitamente o formulário 2, caso contrário, assuma 1
            var m = (byte)(Form == 2 ? 73 : 8);

            var payload = Preamble();

            payload.AddRange(new byte[] { 0x1D, 0x6B, m });

            // modo 2 requer comprimento
            if (m == 73)
            {
                payload.Add((byte)EncodeThis.Length);
            }

            // Adicionar bytes de modo
            var mode = Mode == Modes.A ? 0x41 : Mode == Modes.B ? 0x42 : 0x43;

            payload.AddRange(new byte[] { 0x7B, (byte)mode });

            var bytes = System.Text.Encoding.ASCII.GetBytes(EncodeThis);

            payload.AddRange(bytes);

            // Forçar sequência terminando com nulo
            if (!EncodeThis.EndsWith("\0"))
            {
                payload.Add(0);
            }

            return(payload.ToArray());
        }