Bematech Termica X Cupom Vinculado

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

pena
Usuário Nível 3
Usuário Nível 3
Mensagens: 331
Registrado em: 06 Jul 2004 18:08
Localização: CACHOEIRA DO SUL-RS

Bematech Termica X Cupom Vinculado

Mensagem por pena »

Boa noite pessoal, sei que ja foi discutido aqui mas nao foi achado o motivo do erro, estou desesperado e nao acho nada que me ajude,
Seguinte
No help diz que para imprimir o cupom vinculado deve ter:

1- a forma de pagto nao pode ser dinheiro, blz, nao é dinheiro
2- se for impresso logo apos o cupom nao precisa ser informado o vlr e o numero do cupom

Portanto


comando := chr( 27 ) + chr( 251 ) + "66|" + forma_pgto + "|" + chr( 27 )

Teria que funcionar

O status.txt sempre retorna 006064000
So que neste caso retorna 006064129

Alguem pode me ajudar? :'( :'(

-------------------------------
Nota de Moderação (Toledo): mensagem editada para formatação do texto em letras minúsculas
Leia as Regras do Fórum:
7 - Mensagens em letras MAIÚSCULAS poderão ser editadas sem aviso prévio. Letras maiúsculas equivalem a GRITAR e portanto são consideradas uma falta de respeito com os demais membros do fórum.
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Re: BEMATECH TERMICA X CUPOM VINCULADO

Mensagem por alaminojunior »

O STATUS.TXT SEMPRE RETORNA 006064000
SO QUE NESTE CASO RETORNA 006064129
064 -> pouco papel
129 -> é a soma de 128 (parametro inválido) e 1 (comando não executado)
SE FOR IMPRESSO LOGO APOS O CUPOM NAO PRECISA SER INFORMADO O VLR E O NUMERO DO CUPOM
Apesar de não precisar ser informado, acho que precisa passar o parâmetro mesmo assim, vazio mas precisa. Por isso o retorno 128.

Não manjo muito de comunicação direta, mas.....seria algo mais ou menos assim:

Código: Selecionar todos

comando := chr( 27 ) + chr( 251 ) + "66|" + forma_pgto +""+""+ "|" + chr( 27 )
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
pena
Usuário Nível 3
Usuário Nível 3
Mensagens: 331
Registrado em: 06 Jul 2004 18:08
Localização: CACHOEIRA DO SUL-RS

Re: BEMATECH TERMICA X CUPOM VINCULADO

Mensagem por pena »

vlw obrigado, vou tentar isso , só 1 detalhe, onde vc achou a tabela destes erros?
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Re: BEMATECH TERMICA X CUPOM VINCULADO

Mensagem por alaminojunior »

No site da Bematech tem. Vem junto com a Bemafi32.dll, em um arquivo .chm, bem explicadinho.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Flavio
Usuário Nível 1
Usuário Nível 1
Mensagens: 25
Registrado em: 12 Jan 2005 22:10
Localização: Santa Cruz do Rio Pardo/SP
Contato:

Re: BEMATECH TERMICA X CUPOM VINCULADO

Mensagem por Flavio »

Amigo veja se isso ajuda

Código: Selecionar todos

Set Status Off
Set Score Off
Set Talk Off
Set Wrap On

USE MULT ALIAS MUL NEW

*----------------------------------------------------------------------------
* ABRE CUPOM.
*----------------------------------------------------------------------------
CGC_CPF := Space( 29 )

Comando := Chr( 27 ) + Chr( 251 ) + "00|" + CGC_CPF + "|" + Chr( 27 )
GravaArquivo( Comando )
!BEMAFI.EXE

*----------------------------------------------------------------------------
* VENDE ITEM.
*----------------------------------------------------------------------------
SELE MUL
DBGOTOP()
WhiLe .Not. Eof()
   Codigo     := Cpr
   Descricao  := Left(Des,29)
   Aliquota   := "04"
   Qtde_Frac  := Qtd
   Valor      := Prv
   Desc_Valor := 0

   Qtde_Frac  := Qtde_Frac * 1000
   Qtde_Frac  := StrZero( Qtde_Frac, 7, 0 )
   Valor      := Valor * 100
   Valor      := StrZero( Valor, 8, 0 )
   Desc_Valor := Desc_Valor * 100
   Desc_Valor := StrZero( Desc_Valor, 8, 0 )

   Comando := Chr( 27 ) + Chr( 251 ) + "09|" + Codigo + "|" + Descricao + "|" + Aliquota + "|" + Qtde_Frac + "|" + Valor + "|" + Desc_Valor + "|" + Chr( 27 )
   GravaArquivo( Comando )
   !BEMAFI.EXE
   DbSkip()
Enddo
*----------------------------------------------------------------------------
* INICIA FECHAMENTO.
*----------------------------------------------------------------------------
ad := "D"
valor := 0
valor := valor * 100
valor := strzero( valor, 14, 0 )

comando := chr( 27 ) + chr( 251 ) + "32|" + lower( ad ) + "|" + valor + "|" + chr( 27 )
GravaArquivo( Comando )
!BEMAFI.EXE

*----------------------------------------------------------------------------
* PROGRAMA FORMA DE PAGAMENTO.
*----------------------------------------------------------------------------
forma := "A PRAZO"+space( 09 ) //TEM DE TER 16 ESPA€OS.

comando := chr( 27 ) + chr( 251 ) + "71|" + forma + "|" + chr( 27 )
GravaArquivo( Comando )
!BEMAFI.EXE

*----------------------------------------------------------------------------
* EFETUA FORMA DE PAGAMENTO.
*----------------------------------------------------------------------------
i_forma    := 4
valor_pago := 5

i_forma    := strzero( i_forma, 2, 0 )
valor_pago := valor_pago * 100
valor_pago := strzero( valor_pago, 14, 0 )

comando := chr( 27 ) + chr( 251 ) + "72|" + i_forma + "|" + valor_pago + "|" + chr( 27 )
GravaArquivo( Comando )
!BEMAFI.EXE

*----------------------------------------------------------------------------
* TERMINA O FECHAMENTO.
*----------------------------------------------------------------------------
msg1 := msg2 := msg3 := msg4 := msg5 := space( 48 )
mensagem := alltrim( msg1 + msg2 + msg3 + msg4 + msg5 )

comando := chr( 27 ) + chr( 251 ) + "34|" + mensagem + "|" + chr( 13 ) + chr( 10 ) + chr( 27 )
GravaArquivo( Comando )
!BEMAFI.EXE

*----------------------------------------------------------------------------
* CUPOM ADICIONAL.
*----------------------------------------------------------------------------
/*
Comando := Chr( 27 ) + Chr( 251 ) + "85|" + "|" + Chr( 27 )
GravaArquivo( Comando )
!BEMAFI.EXE
*/

////////////////
Function QOpc3()
////////////////
         Save Screen To Tela_Venda

         Codigo     := "1234567890123"
         Descricao  := "Venda com 3 Casas Decimais   "
         Aliquota   := "FF"
         Qtde_Int   := 1
         Qtde_Frac  := 1
         Valor      := 1
         Desc_Perc  := 0
         Desc_Valor := 0

         Set Color To
         @ 06,25 Clear To 16,79
         SetColor( "W+/GR" )
         @ 05,24 Clear To 15,78
         @ 05,24 To 15,78
         @ 07,25 Say "C¢digo...:" Get Codigo Pict "@"
         @ 08,25 Say "Descri‡Æo:" Get Descricao Pict "@"
         @ 09,25 Say "Al¡quota.:" Get Aliquota Pict "@!"
         Read
         Resp := " "
         @ 10,25 Say "Qtde. Inteira ou Fracion ria? (I/F):" Get Resp Pict "@!"
         Read

         // Quantidade Interia e Desconto Percentual

         If Resp = "I"
            Resp := " "
            @ 11,25 Say "Qtde. Inteira:" Get Qtde_Int Pict "9999"
            @ 12,25 Say "Valor:" Get Valor Pict "@e 99,999.999"
            Read
            Opc := " "
            @ 13,25 Say "Desconto Percentual ou por Valor? (P/V):" Get Opc Pict "@!" valid(opc$"PV")
            Read
            If Opc = "P"
                   Opc := " "
                   @ 14,25 Say "Desc. Percentual:" Get Desc_Perc Pict "@e 99.99"
                   Read
                   Valor     := Valor * 1000
                   Valor     := StrZero( Valor, 8, 0 )
                   Desc_Perc := Desc_Perc * 100
                   Desc_Perc := StrZero( Desc_Perc, 4, 0 )
                   Comando := Chr( 27 ) + Chr( 251 ) + "56|" + Codigo + "|" + Descricao + "|" + Aliquota + "|" + StrZero( Qtde_Int, 4, 0 ) + "|" + Valor + "|" + Desc_Perc + "|" + Chr( 27 )
                   *
                   GravaArquivo( Comando )
                   !BEMAFI.EXE
                   MostraStatus()
                   * Delete File( "BEMAFI.CMD" )
                   Restore Screen From Tela_Venda
               else
                   @ 14,25 Say "Desconto Valor..:" Get Desc_Valor Pict "@e 999,999.99"
                   Read
                   Valor      := Valor * 1000
                   Valor      := StrZero( Valor, 8, 0 )
                   Desc_Valor := Desc_Valor * 100
                   Desc_Valor := StrZero( Desc_Valor, 8, 0 )
                   Comando := Chr( 27 ) + Chr( 251 ) + "56|" + Codigo + "|" + Descricao + "|" + Aliquota + "|" + StrZero( Qtde_Int, 4, 0 ) + "|" + Valor + "|" + Desc_Valor + "|" + Chr( 27 )
                   *
                   GravaArquivo( Comando )
                   !BEMAFI.EXE
                   MostraStatus()
                   * Delete File( "BEMAFI.CMD" )
                   Restore Screen From Tela_Venda
            EndIf
         EndIf

         // Quantidade Fracionaria e Desconto Percentual

         If Resp = "F"
                Resp := " "
                @ 11,25 Say "Qtde. Frac...:" Get Qtde_Frac Pict "@e 9,999.999"
                @ 12,25 Say "Valor:" Get Valor Pict "@e 99,999.999"
                Read
                Opc := " "
                @ 13,25 Say "Desconto Percentual ou por Valor? (P/V):" Get Opc Pict "@!"
                Read
                If Opc = "P"
                       @ 14,25 Say "Desc. Percentual:" Get Desc_Perc Pict "@e 99.99"
                       Read
                       Qtde_Frac := Qtde_Frac * 1000
                       Qtde_Frac := StrZero( Qtde_Frac, 7, 0 )
                       Valor     := Valor * 1000
                       Valor     := StrZero( Valor, 8, 0 )
                       Desc_Perc := Desc_Perc * 100
                       Desc_Perc := StrZero( Desc_Perc, 4, 0 )
                       Comando := Chr( 27 ) + Chr( 251 ) + "56|" + Codigo + "|" + Descricao + "|" + Aliquota + "|" + Qtde_Frac + "|" + Valor + "|" + Desc_Perc + "|" + Chr( 27 )
                       *
                       GravaArquivo( Comando )
                       !BEMAFI.EXE
                       MostraStatus()
                       * Delete File( "BEMAFI.CMD" )
                       Restore Screen From Tela_Venda
                    else
                        @ 14,25 Say "Desconto Valor..:" Get Desc_Valor Pict "@e 999,999.99"
                        Read
                        Qtde_Frac  := Qtde_Frac * 1000
                        Qtde_Frac  := StrZero( Qtde_Frac, 7, 0 )
                        Valor      := Valor * 1000
                        Valor      := StrZero( Valor, 8, 0 )
                        Desc_Valor := Desc_Valor * 100
                        Desc_Valor := StrZero( Desc_Valor, 8, 0 )
                        Comando := Chr( 27 ) + Chr( 251 ) + "56|" + Codigo + "|" + Descricao + "|" + Aliquota + "|" + Qtde_Frac + "|" + Valor + "|" + Desc_Valor + "|" + Chr( 27 )
                        *
                        GravaArquivo( Comando )
                        !BEMAFI.EXE
                        MostraStatus()
                        * Delete File( "BEMAFI.CMD" )
                        Restore Screen From Tela_Venda
                EndIf
         EndIf
Return



//////////////////
Function Qopc_11()
//////////////////

        set color to
        @ 16,26 clear to 24,60
        setcolor( "W+/GR" )
        @ 15,25 clear to 23,59
        @ 15,25 to 23,59
        forma1 := forma2 := forma3 := space( 16 )
        forma4 := forma5 := space( 16 )
        @ 16,26 say "Entre com 5 Formas de Pagamento."
        @ 18,26 say "Forma 1:" get forma1 pict "@"
        @ 19,26 say "Forma 2:" get forma2 pict "@"
        @ 20,26 say "Forma 3:" get forma3 pict "@"
        @ 21,26 say "Forma 4:" get forma4 pict "@"
        @ 22,26 say "Forma 5:" get forma5 pict "@"
        read
        forma1  := upper( subs( forma1, 1, 1 ) ) + lower( subs( forma1, 2, 15 ) )
        forma2  := upper( subs( forma2, 1, 1 ) ) + lower( subs( forma2, 2, 15 ) )
        forma3  := upper( subs( forma3, 1, 1 ) ) + lower( subs( forma3, 2, 15 ) )
        forma4  := upper( subs( forma4, 1, 1 ) ) + lower( subs( forma4, 2, 15 ) )
        forma5  := upper( subs( forma5, 1, 1 ) ) + lower( subs( forma5, 2, 15 ) )
        comando := chr( 27 ) + chr( 251 ) + "73|" + forma1 + "|";
                 + forma2 + "|" + forma3 + "|" + forma4 + "|";
                 + forma5 + "|" + chr( 27 )
        *
        GravaArquivo( Comando )
        !BEMAFI.EXE
        MostraStatus()
        * Delete File( "BEMAFI.CMD" )

Return

Functio Qopc_15()

        set color to
        @ 20,05 clear to 22,76
        set color to w+/gr
        @ 19,04 clear to 21,75
        @ 19,04 to 21,75
        descricao := space( 50 )
        @ 20,05 say "Descri‡„o do Item:" get descricao pict "@"
        read
        comando := chr( 27 ) + chr( 251 ) + "62|52|" + alltrim( descricao ) + "|" + chr( 27 )
        *
        GravaArquivo( Comando )
        !BEMAFI.EXE
        MostraStatus()
        * Delete File( "BEMAFI.CMD" )

return

Function Relatorios()

Do While .T.
   If LastKey() = 27
      Exit
   Endif

   SetColor( "N/BG,W+/R,,,,BG/N" )
   @ 06,19 Clear To 11,62
   @ 05,19 To 11,62 Double
   @ 06,20 Prompt " Leitura X                                "
   @ 07,20 Prompt " Redu‡„o Z                                "
   @ 08,20 Prompt " Leitura da Mem¢ria Fiscal Via Arquivo    "
   @ 09,20 Prompt " Leitura da Mem¢ria Fiscal Via Impressora "
   @ 10,20 Prompt " Leitura X pela Serial                    "
   Tela = SaveScreen( 00, 00, 25, 80 )
   Menu To Opcao_Relat
   do case
      case opcao_relat = 1

           // Leitura X

           comando := chr( 27 ) + chr( 251 ) + "06|" + chr( 27 )
           *
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()
           * Delete File( "BEMAFI.CMD" )

     case opcao_relat = 2

           // Reducao Z

           tone( 650, 8 )
           set color to
           set color to w/b
           @ 07,14 clear to 14,69
           @ 07,14 to 14,69
           set color to w+*/b
           @ 08,33 say "A T E N € Ž O !!!"
           set color to w+/b
           @ 10,15 say "Caso a impressora n„o esteja em MODO TREINAMENTO, a"
           @ 11,15 say "Redu‡„o Z, impossibilitar  vendas ap¢s a sua execu‡„o."
           resp := " "
           @ 13,15 say "Confirma mesmo assim? (S/N):" get resp pict "@!" valid( resp$"SN" )
           read
           if resp = "S"
                   comando := chr( 27 ) + chr( 251 ) + "05|" + chr( 27 )
                   *
                   GravaArquivo( Comando )
                   !BEMAFI.EXE
                   MostraStatus()
                   * Delete File( "BEMAFI.CMD" )
              else
                   return
           endif

      case opcao_relat = 3

           // Leitura da Memoria Fiscal via Arquivo

           setcolor( "N/BG,W+/R,,,,BG/N" )
           @ 09,28 clear to 12,42
           @ 09,28 to 12,42 Double
           @ 10,29 prompt " Por Data    "
           @ 11,29 prompt " Por Redu‡„o "
           menu to opcao
           do case

              case opcao = 1

                   // Leitura Mem. Fiscal via Arquivo Por Data    

                   data_inicial := data_final := space( 08 )
                   set color to
                   set color to w+/gr
                   @ 11,33 clear to 14,57
                   @ 11,33 to 14,57
                   @ 12,34 say "Data Inicial:" get data_inicial pict "99/99/99"
                   @ 13,34 say "Data Final..:" get data_final   pict "99/99/99"
                   read
                   if ( LastKey() = 27 )
                       exit
                   Endif
                   set color to w*
                   @ 16,31 say "Recebendo dados da Impressora. Arguarde..."
                   data_inicial := substr( data_inicial, 1, 2 )+substr( data_inicial, 4, 2 )+substr( data_inicial, 7, 2 )
                   data_final   := substr( data_final, 1, 2 )+substr( data_final, 4, 2 )+substr( data_final, 7, 2 )
                   Comando      := Chr( 27 )+Chr( 251 )+"08|"+data_inicial+"|"+data_final+"|R|"+Chr( 27 )
                   GravaArquivo( Comando )
                   !BEMAFI.EXE
                   MostraStatus()

              case opcao = 2
                   
                   // Leitura Mem. Fiscal Via Arquivo Por Reducao    

                   Reducao_inicial := Reducao_final := space( 4 )
                   set color to
                   set color to w+/gr
                   @ 11,33 clear to 14,56
                   @ 11,33 to 14,56
                   @ 12,34 say "Redu‡„o Inicial:" get Reducao_inicial pict "9999"
                   @ 13,34 say "Redu‡„o Final..:" get Reducao_final   pict "9999"
                   read
                   if ( LastKey() = 27 )
                       exit
                   Endif
                   set color to w*
                   @ 16,31 say "Recebendo dados da Impressora. Arguarde..."
                   Comando      := Chr( 27 )+Chr( 251 )+"08|"+Reducao_inicial+"|"+Reducao_final+"|R|"+Chr( 27 )
                   GravaArquivo( Comando )
                   !BEMAFI.EXE
                   MostraStatus()
           endcase
      
      case opcao_relat = 4
           // Leitura da Memoria Fiscal Via Impressora por Data
           
           setcolor( "N/BG,W+/R,,,,BG/N" )
           @ 09,28 clear to 12,42
           @ 09,28 to 12,42 Double
           @ 10,29 prompt " Por Data    "
           @ 11,29 prompt " Por Redu‡„o "
           menu to opcao
           do case

              case opcao = 1
                   
                   data_inicial := data_final := space( 08 )
                   set color to
                   set color to w+/gr
                   @ 11,33 clear to 14,57
                   @ 11,33 to 14,57
                   @ 12,34 say "Data Inicial:" get data_inicial pict "99/99/99"
                   @ 13,34 say "Data Final..:" get data_final   pict "99/99/99"
                   read
                   if ( LastKey() = 27 )
                       exit
                   Endif
                   data_inicial := substr( data_inicial, 1, 2 )+substr( data_inicial, 4, 2 )+substr( data_inicial, 7, 2 )
                   data_final   := substr( data_final, 1, 2 )+substr( data_final, 4, 2 )+substr( data_final, 7, 2 )
                   Comando      := Chr( 27 )+Chr( 251 )+"08|"+data_inicial+"|"+data_final+"|I|"+Chr( 27 )
                   *
                   GravaArquivo( Comando )
                   !BEMAFI.EXE
                   MostraStatus()
                   * Delete File( "BEMAFI.CMD" )

              case opcao = 2
                   
                   Reducao_inicial := Reducao_final := space( 4 )
                   set color to
                   set color to w+/gr
                   @ 11,33 clear to 14,56
                   @ 11,33 to 14,56
                   @ 12,34 say "Redu‡„o Inicial:" get Reducao_inicial pict "9999"
                   @ 13,34 say "Redu‡„o Final..:" get Reducao_final   pict "9999"
                   read
                   if ( LastKey() = 27 )
                       exit
                   Endif
                   set color to w*
                   @ 16,31 say "Recebendo dados da Impressora. Arguarde..."
                   Comando      := Chr( 27 )+Chr( 251 )+"08|"+Reducao_inicial+"|"+Reducao_final+"|I|"+Chr( 27 )
                   GravaArquivo( Comando )
                   !BEMAFI.EXE
                   MostraStatus()
           endcase

      case opcao_relat = 5

           // Leitua X pela Serial

           set color to w*
           @ 16,10 say "Aguarde... o arquivo est  sendo criado."
           Comando := Chr( 27 ) + Chr( 251 ) + "69|" + Chr( 27 )
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

   endcase
      RestScreen( 00, 00, 25, 80, Tela )
EndDo
return

// Menu de Operacoes nao fiscais

Function Oper_Nao_Fiscal()

Do While .T.
   If LastKey() = 27
      Exit
   Endif
   
   SetColor( "N/BG,W+/R,,,,BG/N" )
   @ 07,19 Clear To 13,64
   @ 06,19 To 13,64 Double
   @ 07,20 Prompt " Emite Relat¢rio Gerencial                  "
   @ 08,20 Prompt " Fecha Relat¢rio Gerencial                  "
   @ 09,20 Prompt " Emite Comprovante N„o Fiscal N„o Vinculado "
   @ 10,20 Prompt " Abre Comprovante N„o Fiscal Vinculado      "
   @ 11,20 prompt " Usa Comprovante N„o Fiscal Vinculado       "
   @ 12,20 prompt " Fecha Comprovante N„o Fiscal Vinculado     "
   Tela = SaveScreen( 00, 00, 25, 80 )
   Menu To Opcao_Nao_Fiscal
   do case
      case opcao_nao_fiscal = 1

           // Emite Relatorio Gerencial

           texto1 := texto2 := texto3 := texto4 := texto5  := space( 50 )
           texto6 := texto7 := texto8 := texto9 := texto10 := space( 50 )

           set color to
           set color to w+/gr
           @ 08,25 clear to 19,77
           @ 08,25 to 19,77
           @ 08,28 say " Entre com o texto "
           @ 09,26 get texto1 pict "@"
           @ 10,26 get texto2 pict "@"
           @ 11,26 get texto3 pict "@"
           @ 12,26 get texto4 pict "@"
           @ 13,26 get texto5 pict "@"
           @ 14,26 get texto6 pict "@"
           @ 15,26 get texto7 pict "@"
           @ 16,26 get texto8 pict "@"
           @ 17,26 get texto9 pict "@"
           @ 18,26 get texto10 pict "@"
           read

           texto_todo := texto1 + texto2 + texto3 + texto4 + texto5;
                       + texto6 + texto7 + texto8 + texto9 + texto10
           comando := chr( 27 ) + chr( 251 ) + "20|" + texto_todo + "|";
                    + chr( 13 ) + chr( 10 ) + chr( 27 )
           *
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()
           * Delete File( "BEMAFI.CMD" )

      case opcao_nao_fiscal = 2

           // Fecha Relatorio Gerencial

           comando := chr( 27 ) + chr( 251 ) + "21|" + chr( 27 )
           *
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()
           * Delete File( "BEMAFI.CMD" )

      case opcao_nao_fiscal = 3

           // Emite Comprovante Nao Fiscal Nao Vinculado

           set color to
           set color to w+/gr
           @ 09,25 clear to 14,75
           @ 09,25 to 14,75
           tp    := space( 02 )
           valor := 0
           forma := space( 16 )
           @ 10,26 say "Öndice do Totalizador Parcial:" get tp pict "@!"
           @ 11,26 say "Valor recebindo..............:" get valor pict "@e 999,999,999,999.99"
           read
           resp := " "
           @ 12,26 say "Usar forma de Pagamento? (S/N):" get resp pict "@!" valid(resp$"SN")
           read
           if resp = "S"
                  @ 13,26 say "Forma de Pgto.........:" get forma pict "@"
                  read
                  valor := valor * 100
                  valor := strzero( valor, 14, 0 )
                  forma := upper( left( forma, 1 ) ) + lower( subs( forma, 2, 15 ) )
                  comando := chr( 27 ) + chr( 251 ) + "25|" + tp + "|";
                          + valor + "|" + forma + "|" + chr( 27 )
                  *
                  GravaArquivo( Comando )
                  !BEMAFI.EXE
                  MostraStatus()
                  * Delete File( "BEMAFI.CMD" )
              else
                  valor := valor * 100
                  valor := strzero( valor, 14, 0 )
                  comando := chr( 27 ) + chr( 251 ) + "25|" + tp + "|";
                          + valor + "|" + chr( 27 )
                  *
                  GravaArquivo( Comando )
                  !BEMAFI.EXE
                  MostraStatus()
                  * Delete File( "BEMAFI.CMD" )
           endif

      case opcao_nao_fiscal = 4

           // Abre Comprovante Nao Fiscal Vinculado

           set color to
           @ 11,26 clear to 13,77
           set color to w+/gr
           @ 10,25 clear to 12,76
           @ 10,25 to 12,76
           forma_pgto := space( 16 )
           @ 11,26 say "Descri‡„o da Forma de Pagamento:" get forma_pgto pict "@"
           read
           forma_pgto := upper( left( forma_pgto, 1 ) ) + lower( subs( forma_pgto, 2, 15 ) )
           comando := chr( 27 ) + chr( 251 ) + "66|" + forma_pgto + "|" + chr( 27 )
           *
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()
           * Delete File( "BEMAFI.CMD" )

      case opcao_nao_fiscal = 5

           // Usa Comprovante Nao Fiscal Vinculado

           texto1 := texto2 := texto3 := texto4 := texto5  := space( 48 )
           texto6 := texto7 := texto8 := texto9 := texto10 := space( 48 )

           set color to
           set color to w+/gr
           @ 11,25 clear to 22,75
           @ 11,25 to 22,75
           @ 11,28 say " Entre com o texto "
           @ 12,26 get texto1 pict "@"
           @ 13,26 get texto2 pict "@"
           @ 14,26 get texto3 pict "@"
           @ 15,26 get texto4 pict "@"
           @ 16,26 get texto5 pict "@"
           @ 17,26 get texto6 pict "@"
           @ 18,26 get texto7 pict "@"
           @ 19,26 get texto8 pict "@"
           @ 20,26 get texto9 pict "@"
           @ 21,26 get texto10 pict "@"
           read
           texto_todo := texto1 + texto2 + texto3 + texto4 + texto5;
                       + texto6 + texto7 + texto8 + texto9 + texto10
           comando := chr( 27 ) + chr( 251 ) + "67|" + texto_todo + "|";
                    + chr( 13 ) + chr( 10 ) + chr( 27 )
           *
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()
           * Delete File( "BEMAFI.CMD" )

      case opcao_nao_fiscal = 6

           // Fecha Relatorio Gerencial

           comando := chr( 27 ) + chr( 251 ) + "21|" + chr( 27 )
           *
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()
           * Delete File( "BEMAFI.CMD" )

   endcase
      RestScreen( 00, 00, 25, 80, Tela )
EndDo
return


Function Infor_Impressora()
Do While .T.
   If LastKey() = 27
      Exit
   Endif

   SetColor( "N/BG,W+/R,,,,BG/N" )
   @ 07,19 Clear To 17,58
   @ 07,19 To 17,58 Double
   @ 08,20 Prompt " Leitura do Estado da Impressora      "
   @ 09,20 Prompt " Leitura das Al¡quotas                "
   @ 10,20 Prompt " Leitura dos Totalizadores Parciais   "
   @ 11,20 Prompt " Leitura do Subtotal                  "
   @ 12,20 Prompt " Leitura do N£mero do Cupom           "
   @ 13,20 Prompt " Leitura do Estado do Papel           "
   @ 14,20 Prompt " Leitura dos Dados da éltima Redu‡„o  "
   @ 15,20 Prompt " Retorno de Vari veis (35|00 … 35|17) "
   @ 16,20 Prompt " Retorno de Vari veis (35|18 … 35|34) "
   Tela = SaveScreen( 00, 00, 25, 80 )
   Menu To Opcao_Retorno
   do case

      case opcao_retorno = 1

           // Leitura do Estado da Impressora

           Comando := Chr(27) + Chr(251) + "19|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      case opcao_retorno = 2

           // Leitura das Aliquotas

           comando := chr( 27 ) + chr( 251 ) + "26|" + chr( 27 )
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      case opcao_retorno = 3

           // Leitura dos Totalizadores Parciais

           comando := chr( 27 ) + chr( 251 ) + "27|" + chr( 27 )
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      case opcao_retorno = 4

           // Leitura dos Subtotal
           
           comando := chr( 27 ) + chr( 251 ) + "29|" + chr( 27 )
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      case opcao_retorno = 5

           // Leitura do numero do Cupom

           comando := chr( 27 ) + chr( 251 ) + "30|" + chr( 27 )
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      case opcao_retorno = 6

           // Leitura do estado do Papel na condicao de "Pouco Papel"

           comando := chr( 27 ) + chr( 251 ) + "62|54|" + chr( 27 )
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      case opcao_retorno = 7

           // Leitura dos Dados da ultima Reducao Z

           comando := chr( 27 ) + chr( 251 ) + "62|55|" + chr( 27 )
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()
      
      case opcao_retorno = 8

           // Retorno de Variaveis (Comando 35)
           RetVar1()

      case opcao_retorno = 9

           // Continuacao do Retorno de Variaveis (Comando 35)
           RetVar2()

   endcase
   RestScreen( 00, 00, 25, 80, Tela )
EndDo
return

Function RetVar1()

Do While .T. 
   If LastKey() = 27
       Exit
   Endif
   
   SetColor( "N/BG,W+/R,,,,BG/N" )
   @ 03,19 Clear To 22,61
   @ 03,19 To 22,61 Double
   @ 04,20 Prompt " N£mero de S‚rie                         "
   @ 05,20 Prompt " Vers„o do Firmware                      "
   @ 06,20 Prompt " CGC/IE                                  "
   @ 07,20 Prompt " Grande Total                            "
   @ 08,20 Prompt " Cancelamentos                           "
   @ 09,20 Prompt " Descontos                               "
   @ 10,20 Prompt " Contador Sequencial                     "
   @ 11,20 Prompt " N£mero de Opera‡”es n„o Fiscais         "
   @ 12,20 Prompt " N£mero de Cupons Cancelados             "
   @ 13,20 Prompt " N£mero de Redu‡”es                      "
   @ 14,20 Prompt " N£mero de Interven‡”es T‚cnicas         "
   @ 15,20 Prompt " N£mero de Substitui‡”es de Propriet rio "
   @ 16,20 Prompt " N£mero do Ultimo Item Vendido           "
   @ 17,20 Prompt " Clichˆ do Propriet rio                  "
   @ 18,20 Prompt " N£mero do Caixa                         "
   @ 19,20 Prompt " N£mero da Loja                          "
   @ 20,20 Prompt " Moeda                                   "
   @ 21,20 Prompt " Flags Fiscais                           "
   
   Tela = SaveScreen( 00,00,25,80 )
   Menu To Opcao_Retorno
   do case

      case opcao_retorno = 1

           // Numero de Serie                

           Comando := Chr(27) + Chr(251) + "35|00|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()
     
      case opcao_retorno = 2

           // Versao do Firmware             

           Comando := Chr(27) + Chr(251) + "35|01|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()
      
      case opcao_retorno = 3

           // CGC/IE                         

           Comando := Chr(27) + Chr(251) + "35|02|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()
      
      case opcao_retorno = 4

           // Grande Total     

           Comando := Chr(27) + Chr(251) + "35|03|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      case opcao_retorno = 5

           // Cancelamentos                  

           Comando := Chr(27) + Chr(251) + "35|04|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      case opcao_retorno = 6

           // Descontos                      

           Comando := Chr(27) + Chr(251) + "35|05|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      case opcao_retorno = 7

           // Contador Sequencial  

           comando := chr( 27 ) + chr( 251 ) + "35|06|" + chr( 27 )
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      case opcao_retorno = 8

           // Numero de Operacoes Fiscais          

           comando := chr( 27 ) + chr( 251 ) + "35|07|" + chr( 27 )
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      case opcao_retorno = 9

           // Cupons Cancelados   
           
           comando := chr( 27 ) + chr( 251 ) + "35|08|" + chr( 27 )
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      case opcao_retorno = 10

           // Numero de Reducoes         

           comando := chr( 27 ) + chr( 251 ) + "35|09|" + chr( 27 )
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      case opcao_retorno = 11

           // Intervencoes Tecnicas                                    

           comando := chr( 27 ) + chr( 251 ) + "35|10|" + chr( 27 )
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      case opcao_retorno = 12

           // Substituicoes de Proprietario          

           comando := chr( 27 ) + chr( 251 ) + "35|11|" + chr( 27 )
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()
      
      case opcao_retorno = 13

           // Ultimo Item Vendido              

           comando := chr(27) + chr(251) + "35|12|" + chr( 27 )
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      case opcao_retorno = 14

           // Cliche do Proprietario         

           Comando := Chr(27) + Chr(251) + "35|13|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()
     
      case opcao_retorno = 15

           // Numero do Caixa                

           Comando := Chr(27) + Chr(251) + "35|14|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()
      
      case opcao_retorno = 16

           // Numero da Loja                 

           Comando := Chr(27) + Chr(251) + "35|15|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()
      
      case opcao_retorno = 17

           // Moeda            

           Comando := Chr(27) + Chr(251) + "35|16|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      case opcao_retorno = 18

           // Flags Fiscais                  

           Comando := Chr(27) + Chr(251) + "35|17|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      endcase
   RestScreen( 00,00,25,80, Tela )
EndDo
return

Function RetVar2()

Do While .T. 
   If LastKey() = 27
       Exit
   Endif

   SetColor( "N/BG,W+/R,,,,BG/N" )
   @ 03,19 Clear To 22,62
   @ 03,19 To 22,62 Double
   @ 04,20 Prompt " Minutos Ligada                           "
   @ 05,20 Prompt " Minutos Imprimindo                       "
   @ 06,20 Prompt " Flag de Interven‡„o T‚cnica              "
   @ 07,20 Prompt " Flag de Eprom Conectada                  "
   @ 08,20 Prompt " Valor Pago no Ultimo Cupom               "
   @ 09,20 Prompt " Data e Hora Atual                        "
   @ 10,20 Prompt " Contadores dos Tot. n„o Sujeitos ao ICMS "
   @ 11,20 Prompt " Descri‡„o dos Tot. n„o Sujeitos ao ICMS  "
   @ 12,20 Prompt " Data da Ultima Redu‡„o                   " 
   @ 13,20 Prompt " Data do Movimento                        "
   @ 14,20 Prompt " Flag de Truncamento                      "
   @ 15,20 Prompt " Flags de Vincula‡„o ao ISS               "
   @ 16,20 Prompt " Totalizador de Acr‚scimos                "
   @ 17,20 Prompt " Contador de Bilhete de Passagem          "
   @ 18,20 Prompt " Formas de Pagamento                      "
   @ 19,20 Prompt " Recebimentos (CNF n„o Vinculado)         "
   @ 20,20 Prompt " Departamentos                            "
   @ 21,20 Prompt " Tipo de Impressora                       "
   
   Tela = SaveScreen( 00, 00, 25, 80 )                                                          
   Menu To Opcao_Retorno
   do case

      case opcao_retorno = 1

           // Minutos Ligada                 

           Comando := Chr(27) + Chr(251) + "35|18|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()
      
      case opcao_retorno = 2

           // Minutos Imprimindo             

           Comando := Chr(27) + Chr(251) + "35|19|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()
      
      case opcao_retorno = 3

           // Flag de Intervencao Tecnica  

           Comando := Chr(27) + Chr(251) + "35|20|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()
      
      case opcao_retorno = 4

           // Flag de Eprom Conectada

           Comando := Chr(27) + Chr(251) + "35|21|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      case opcao_retorno = 5

           // Valor Pago no Ultimo Cupom    

           Comando := Chr(27) + Chr(251) + "35|22|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      case opcao_retorno = 6

           // Data e Hora Atual             

           Comando := Chr(27) + Chr(251) + "35|23|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      case opcao_retorno = 7

           // Contadores dos Totalizadores nao Sujeitos ICMS

           comando := chr( 27 ) + chr( 251 ) + "35|24|" + chr( 27 )
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      case opcao_retorno = 8

           // Descricao dos Tot. nao Sujeitos ICMS 

           comando := chr( 27 ) + chr( 251 ) + "35|25|" + chr( 27 )
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      case opcao_retorno = 9

           // Data da Ultima Reducao
           
           comando := chr( 27 ) + chr( 251 ) + "35|26|" + chr( 27 )
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      case opcao_retorno = 10

           // Data do Movimento          

           comando := chr( 27 ) + chr( 251 ) + "35|27|" + chr( 27 )
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      case opcao_retorno = 11

           // Flag de Truncamento                                      

           comando := chr( 27 ) + chr( 251 ) + "35|28|" + chr( 27 )
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      case opcao_retorno = 12

           // Flags de Vinculacao                    

           comando := chr( 27 ) + chr( 251 ) + "35|29|" + chr( 27 )
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()
      
      case opcao_retorno = 13

           // Totalizador de Acrescimos        

           comando := chr(27) + chr(251) + "35|30|" + chr( 27 )
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      case opcao_retorno = 14

           // Contador de Bilhete de Passagem

           Comando := Chr(27) + Chr(251) + "35|31|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()
     
      case opcao_retorno = 15

           // Formas de Pagto                

           Comando := Chr(27) + Chr(251) + "35|32|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()
      
      case opcao_retorno = 16

           // Recebimentos (CNF nao Vinculado)

           Comando := Chr(27) + Chr(251) + "35|33|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()
      
      case opcao_retorno = 17

           // Departamentos    

           Comando := Chr(27) + Chr(251) + "35|34|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      case opcao_retorno = 18

           // Tipo da Impressora             

           Comando := Chr(27) + Chr(251) + "35|253|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      endcase
   RestScreen( 00, 00, 25, 80, Tela )
EndDo
return


Function Autentica()
Do While .T.
   If LastKey() = 27
      Exit
   Endif

   SetColor( "N/BG,W+/R,,,,BG/N" )
   @ 08,19 Clear To 11,57
   @ 08,19 To 11,57 Double
   @ 09,20 Prompt " Autentica‡„o de Documentos          "
   @ 10,20 Prompt " Programa Caracter para Autentica‡„o "
   Tela = SaveScreen( 00, 00, 25, 80 )
   Menu To Opcao_Retorno
   do case

      case opcao_retorno = 1

           // Autenticacao                   

           Comando := Chr(27) + Chr(251) + "16|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      case opcao_retorno = 2

           // Programa Caracter para Autenticacao

           comando := chr( 27 ) + chr( 251 ) + "64|255|017|049|081|159|000|255|017|049|081|159|000|255|129|129|129|255|000|" + chr( 27 )
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      endcase
   RestScreen( 00, 00, 25, 80, Tela )
EndDo
return


Function Gaveta()

Do While .T. 
   If LastKey() = 27
       Exit
   Endif

   SetColor( "N/BG,W+/R,,,,BG/N" )
   @ 10,19 Clear To 13,49
   @ 10,19 To 13,49 Double
   @ 11,20 Prompt " Acionamento da Gaveta       "
   @ 12,20 Prompt " Leitura do Estado da Gaveta "
   
   Tela = SaveScreen( 00, 00, 25, 80 )                                                          
   Menu To Opcao_Retorno
   do case

      case opcao_retorno = 1

           // Acionamento da Gaveta         

           Comando := Chr(27) + Chr(251) + "22|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()
      
      case opcao_retorno = 2

           // Leitura do Estado da Gaveta   

           Comando := Chr(27) + Chr(251) + "23|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()
      
      endcase
   RestScreen( 00, 00, 25, 80, Tela )
EndDo
return

Function Cheque()

Do While .T. 
   If LastKey() = 27
       Exit
   Endif

   SetColor( "N/BG,W+/R,,,,BG/N" )
   @ 10,19 Clear To 13,54
   @ 10,19 To 16,54 Double
   @ 11,20 Prompt " Programa‡„o da Moeda no Singular "
   @ 12,20 Prompt " Programa‡„o da Moeda no Plural   "
   @ 13,20 Prompt " Impress„o de Cheque              "
   @ 14,20 Prompt " Status do Cheque                 "
   @ 15,20 Prompt " Cancela Impress„o do Cheque      "
   
   Tela = SaveScreen( 00, 00, 25, 80 )                                                          
   Menu To Opcao_Retorno
   do case

      case opcao_retorno = 1

           // Programacao da moeda no singular
           MoedaSingular := Space( 19 )
           Set Color To
           @ 11,25 Clear To 13,62
           SetColor( "W+/GR" )
           @ 11,22 Clear To 13,61
           @ 11,22 To 13,61
           @ 12,23 Say "Moeda no Singular:" Get MoedaSingular pict "@!"
           Read
           Comando := Chr( 27 ) + Chr( 251 ) + "58|" + MoedaSingular + "|" + Chr( 27 )
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()
      
      case opcao_retorno = 2

           // Programacao da moeda no plural
           MoedaPlural := Space( 19 )
           Set Color To
           @ 12,25 Clear To 14,60
           SetColor( "W+/GR" )
           @ 12,22 Clear To 14,59
           @ 12,22 To 14,59
           @ 13,23 Say "Moeda no Plural:" Get MoedaPlural pict "@!"
           Read
           Comando := Chr( 27 ) + Chr( 251 ) + "59|" + MoedaPlural + "|" + Chr( 27 )
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()
      
      case opcao_retorno = 3

           // Impressao do cheque              

           Banco := Space( 3 )
           Valor := 0
           Favor := Space( 45 )
           Cidad := Space( 27 )
           Data  := Space( 10 )
           Set Color To
           @ 13,23 Clear To 19,80
           SetColor( "W+/GR" )
           @ 13,20 Clear To 19,79
           @ 13,20 To 19,79
           @ 14,21 Say "Banco.....:" Get Banco pict "@!"
           @ 15,21 Say "Valor.....:" Get Valor Pict "@e 999,999.99"
           @ 16,21 Say "Favorecido:" Get Favor pict "@!"
           @ 17,21 Say "Cidade....:" Get Cidad pict "@!"
           @ 18,21 Say "Data......:" Get Data  pict "99/99/9999"
           Read
           if LastKey() == 27
                exit
           Endif
           Valor   := Valor * 100
           Valor   := StrZero( Valor, 14, 0 )
           Data    := substr( Data, 1, 2 ) + "|" + substr( Data, 4, 2 ) + "|" + substr( Data, 7, 4 )
           Comando := Chr(27) + Chr(251) + "57|" + Banco + "|" + Valor + "|" + Favor + "|" + Cidad + "|" + Data + "|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()
      
      case opcao_retorno = 4

           // Status do cheque                 

           Comando := Chr(27) + Chr(251) + "62|48|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()
      
      case opcao_retorno = 5

           // Cancela impressao do cheque      

           Comando := Chr(27) + Chr(251) + "62|49|" + Chr(27)
           GravaArquivo( Comando )
           !BEMAFI.EXE
           MostraStatus()

      endcase
   RestScreen( 00, 00, 25, 80, Tela )
EndDo


return

/////////
Function Sombra_Transparente
////////////////////////////

Parameters nTopo, nEsquerda, nBase, nDireita

RestScreen( ( nTopo + 1 ) , ( nDireita + 1 ) , nBase , ( nDireita + 1 ) , ;
            Transform( SaveScreen( ( nTopo + 1 ) , ( nDireita + 1 ) , nBase , ( nDireita + 1 ) ) , ;
            Replicate( "X",( nBase - nTopo + 1 ) * 2 ) ) )

If nBase < 24

   RestScreen( ( nBase + 1 ) , ( nEsquerda + 1 ) , ( nBase + 1 ) , ( nDireita + 1 ) , ;
             Transform( SaveScreen( ( nBase + 1) , ( nEsquerda + 1 ) ,( nBase + 1 ) , ( nDireita + 1 ) ) , ;
             Replicate( "X" , ( nDireita - nEsquerda + 2 ) ) ) )
EndIf

//////
Return
//////

/////////////////////
Function GravaArquivo
/////////////////////
Parameters Comando

Delete File( "BEMAFI.CMD" )
Delete File( "STATUS.TXT" )
Delete File( "RETORNO.TXT" )

iArquivo := FCreate( "BEMAFI.CMD" )

FWrite( iArquivo, @Comando, Len( Comando ) )
FClose( iArquivo )
//////
Return
//////

/////////////////////
Function MostraStatus
/////////////////////

Do While .T.
   If .Not. File( "STATUS.TXT" )
      Loop
   Else
      iArqStatus    := FOpen( "STATUS.TXT" )
      iTamArqStatus := FSeek( iArqStatus, 0, 2 )
      FClose( iArqStatus )
      iArqStatus    := FOpen( "STATUS.TXT" )
      sRetorno := " "
      sDadosStatus := ""
      For x := 1 to iTamArqStatus
          FRead( iArqStatus, @sRetorno, 1 )
          sDadosStatus = sDadosStatus + sRetorno
      Next
      Set Colo To
      Clear
      @ 05,05 Say "Conteudo do Arquivo STATUS.TXT"
      @ 07,05 Say sDadosStatus
      
      if File ("RETORNO.TXT")
          iArqRetorno   := FOpen( "RETORNO.TXT" )
          iTamArqRetorno := FSeek( iArqRetorno, 0, 2 )
          FClose( iArqRetorno )
          iArqRetorno   := FOpen( "RETORNO.TXT" )
          sRetorno := " "
          sDadosRetorno := ""
          
          For x := 1 to iTamArqRetorno
              FRead( iArqRetorno, @sRetorno, 1 )
              sDadosRetorno = sDadosRetorno + sRetorno
          Next
          @ 10,05 Say "Conteudo do Arquivo RETORNO.TXT"
          @ 12,05 Say sDadosRetorno
          FClose( iArqRetorno )
      ENDIF
     
      @ 14,05 Say "Pressione qualquer tecla..."
      Inkey( 0 )
      Exit
   EndIf
EndDo
FClose( iArqStatus )
//////
Return
//////
__________________________________________________
Flávio Adriano de Oliveira
Rua Jacinto Pedro de Oliveira, 130 - Centro
Santa Cruz do Rio Pardo/SP - CEP: 18900-000
Celular Vivo/whatsapp: (14) 9 9794-1428
Site: www.helpflash.com.br www.flavioadriano.com.br
Email: flavioadriano@flavioadriano.com.br
Msn: flavioadriano@msn.com
Skype: flaviohacker
Facebook: http://www.facebook.com/flavioadriano.oliveira
Instagram: flavioadriano.oliveira
twitter: @flaviohacker
pena
Usuário Nível 3
Usuário Nível 3
Mensagens: 331
Registrado em: 06 Jul 2004 18:08
Localização: CACHOEIRA DO SUL-RS

Re: BEMATECH TERMICA X CUPOM VINCULADO

Mensagem por pena »

Resolvido, desculpe a demora pra dar o retorno, eu nao estava programando as formas de pagto, até nem sabia que tinha que fazer isso, pq na leitura x ja constava, vlw

-------------------------------
Nota de Moderação (Toledo): mensagem editada para formatação do texto em letras minúsculas
Leia as Regras do Fórum:
7 - Mensagens em letras MAIÚSCULAS poderão ser editadas sem aviso prévio. Letras maiúsculas equivalem a GRITAR e portanto são consideradas uma falta de respeito com os demais membros do fórum.
Responder