Artigo

Trabalhando com o Driver Observer2

Caso não consiga ver as imagens deste e-mail, clique aqui.

Olá pessoal,
Hoje iremos conhecer um pouco melhor sobre o Observer2, que é uma ferramenta que facilita muito a vida dos desenvolvedores e que seu uso pode proporcionar um desenvolvimento mais rápido em plataformas 16bits.

Observer2 é um driver da Daruma voltado para as linguagens DOS/16 bits ou linguagens que não conseguem chamar a DarumaFramework.dll diretamente. Ele trabalha com a troca de arquivos que circulam pela sua pasta, e como o próprio nome diz, é um Observador da mesma.
Podemos dizer que esse driver é como uma “ponte” de comunicação entre sua aplicação e a DarumaFramework.dll.

É muito tranquilo criar um “arquivo.cmd” e salvar em um diretório específico, por isso o Observer2 se tornou principalmente para os programadores 16bits, uma ferramenta muito pratica e útil.

Por default o arquivo que criamos na pasta mapeada chama-se Daruma.cmd e o arquivo para recebimento da resposta destes comandos é o Daruma.ret, ambos também por default são escritos no diretório raiz C:\,  porém os diretórios e os nomes dos arquivos mapeados são configuráveis.
Obs.No nos sistemas operacionais Windows Vista e Windows 7 é recomendável configurar estes diretórios, devido a restrição de permissões de gravação direto na unidade C:/.

Lembrando que o Observer2 deve ser minimizado e constar na barra de tarefas em perfeita execução para que possa mapear a pasta do arquivo de entrada!


Vamos ver na prática como o Observer2 funciona, abaixo é demonstrada a manipulação do arquivo Daruma.cmd em Clipper.

static function COMUNICA_COM_ECF(VAR_COMANDO_ECF)
/*A variável VAR_COMANDO_ECF é quem armazena o comando a ser enviado ao Daruma.cmd*/

Delete File("c:\DARUMA.CMD")
Delete File("c:\STATUS.TXT")
Delete File("c:\RETORNO.TXT")
Delete File("c:\DARUMA.RET")

/*Deleta arquivos antigos caso exista*/

/*Escreve comandos no Arquivo*/
   H_Handle := fcreate("c:\DARUMA.CMD" )
   FWrite( H_Handle , @VAR_COMANDO_ECF, Len( VAR_COMANDO_ECF) )
   FClose( H_Handle  )
  
   VAR_ESPERA:=1
/*Espera que o Arquivo de Resposta Seja Criado*/
   do while VAR_ESPERA > 0
            if File("c:\DARUMA.RET")
               VAR_ESPERA :=0
            else
               loop
            end if
   enddo          

   RET_TAM:=0
/*Espera o Arquivo ter um conteúdo*/
   do While RET_TAM = 0

            H_Handle := Fopen("c:\DARUMA.RET")
            RET_TAM =  FSeek( H_Handle, 0, FS_END )
            Fclose(H_Handle)
           
   enddo

   H_Handle:= Fopen("c:\DARUMA.RET")

   POS_RET = 0
   VAR_RET_CMD=" "
   VAR_AUX =" "

   if RET_TAM > 0
      for POS_RET = 1 to RET_TAM - 1
         fread( H_Handle, @VAR_AUX, 1)
         if VAR_AUX <> chr(13)
           VAR_RET_CMD= VAR_RET_CMD + VAR_AUX
             end if
      next
   endif  
   fclose(H_Handle)
           
   set color to n/bg
   @ 23,0 clear to 23,80
   @23,0 say "Comando Enviado: " + VAR_COMANDO_ECF
   @24,0 say "Retorno: " + VAR_RET_CMD
   VAR_BUFFER_RETORNO:=VAR_RET_CMD

   if VAR_ESPERARTECLA <> 1
        inkey(0)
   end if           
 
return NIL

Para simplificar mais ainda, abaixo é demonstrada a criação do Daruma.cmd pelo DOS (Prompt de Comando).

Abra o Prompt de Comando clicando em: Iniciar > Executar: “cmd”.
Já na janela do Prompt digite o comando: “EDIT” em seguida aperte a tecla ENTER para que seja aberto o editor de texto.


Quando aberto o editor de texto digite o comando ou a sequência de comandos desejada
Abaixo é demonstrada a sequência de comandos para a emissão de um Cupom Fiscal.

Os comandos podem ser enviados tanto através do índice quanto através do próprio nome da função, como é feito abaixo.


Consulte o índice de cada função em nosso Help Online:
Clique aqui

O índice pode ser visualizado bem abaixo do nome de cada função.
Após ter digitado o comando desejado, clique em FILE > SAVE AS...
Salve com o nome Daruma.cmd(padrão), ou conforme está a configuração de seu Observer2.


Viu só como é simples?! Foi só criar o Daruma.cmd, salvar no diretório mapeado pelo Observer2,  e pronto.

O Observer2 utiliza a DarumaFramework.dll para se comunicar com as Impressoras Fiscais, Mini-Impressoras, TA2000, e Modem.
É isto ai! Ela trabalha também com os demais produtos. Para testarmos e termos como base os comandos podemos utilizar o “Testar Observer” que é uma aba no próprio aplicativo do Observer2 como abaixo.


Por trabalhar com a camada “darumaframework.dll” o Observer2 utiliza também o “darumaframework.xml” que é o registro onde a dll busca informações operacionais, como por exemplo: Velocidade, Porta, Arredondar/Truncar.
Saiba mais

Agora é só colocar em prática!

Link do Observer2:
http://www.desenvolvedoresdaruma.com.br/home/downloads/Site_2011/Drivers/DarumaFrameworkObserver_Win.zip

Link da DarumaFramework(Atualizada):
http://www.desenvolvedoresdaruma.com.br/home/downloads/Site_2011/DLL_SO/DarumaFrameWork_DLL.zip

Para mais informações confira ao nosso vídeo explicando passo-a-passo da utilização do Observer2


Um abraço, e até a próxima!
E-mails:
daruma.desenvolvedores@daruma.com.br
ddc.suporte@daruma.com.br

suporte.ddc@daruma.com.br
desenvolvedores.suporte@daruma.com.br
suporte.desenvolvedores@daruma.com.br
desenvolvedores.daruma@daruma.com.br
suporte@daruma.com.br
suporte.alexandre@daruma.com.br
claudenir@daruma.com.br
Skypes:
daruma.desenvolvedores
ddc_suporte_daruma
suporte_ddc_daruma
desenvolvedores_suporte_daruma
suporte_desenvolvedores_daruma
desenvolvedores_daruma
suporte_daruma
suporte_alexandre_daruma
claudenir_andrade
 
Twitter facebook Linkedln Youtube Google+

  • Daruma Developer

    Daruma Developer