Olá Pessoal,

Hoje venho falar para vocês sobre Observer2, que é uma ferramenta que facilita muito a vida dos desenvolvedores, e que seu uso pode proporcionar um desenvolvimento mais rápido em plataformas diversas.

Observer2 é um driver da Daruma voltado para as linguagens DOS/ 16 bits ou Linguagens que não conseguem chamar a DarumaFramework.dll diretamente.
Podemos dizer que o Observer2 é como se fosse uma “ponte” de comunicação entre sua aplicação e a DarumaFramework.dll.

O Observer2 trabalha com a troca de arquivos que circulam pela sua pasta, e como o próprio nome diz, o mesmo é um Observador desta pasta.

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

Por default o arquivo para o envio de comandos para a pasta mapeada, chama-se Daruma.cmd e o arquivo para recebimento de resposta é Daruma.ret, ambos também por default são escritos no diretório raiz C:\,  porem os diretórios e os nomes dos arquivos mapeados  é algo configurável.

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:

C#:

Criação do Daruma.cmd (Leitura X)



private void button1_Click(object sender, EventArgs e)
        {


            string nome_arquivo = "C:/Daruma.tmp";
            string nome_arquivo2 = "C:/Daruma.cmd";
            //Criei 2 variáveis uma com nome temporário, e outra para for atribuir para o .cmd
 
if (!System.IO.File.Exists(nome_arquivo))
  System.IO.File.Create(nome_arquivo).Close();
//verifico se já existe algum arquivo com este nome criado 

System.IO.TextWriter arquivo = System.IO.File.AppendText(nome_arquivo);
arquivo.WriteLine("1072;");

//abro o arquivo tmp e em seguida insiro o comando da Leitura X.
arquivo.Close();

//fecho o arquivo 

System.IO.File.Copy(nome_arquivo, nome_arquivo2);
 // transformo o arquivo tmp, e um arquivo .cmd


System.IO.File.Delete(nome_arquivo);
System.IO.File.Delete(nome_arquivo);
            //Deleto o arquivo temporário

   }
     }
       }   




Leitura dos retornos (Daruma.ret)




        private void button1_Click(object sender, EventArgs e)
        {
            string nome_arquivo = "C:/Daruma.ret";
		//Criei o uma veriavel amazenando o nome do arquivo
            System.IO.StreamReader arquivo = new System.IO.StreamReader(nome_arquivo);

            string linha = "";
                 
     while (true)
     {
        linha = arquivo.ReadLine();
        if (linha != null)
        {
          string[] DadosColetados = linha.Split(';');
          GridView1.DataSource = DadosColetados;
        }
        else
          break;
       }
//Nos trecho acima fiz a leitura do daruma.ret que foi criado pelo observer2 e joguei em uma caixa de lista.      
      
    }
 }
  
}





Viram como é simples, foi só criar o Daruma.cmd e salvar no diretório mapeado pelo Observer2,  e pronto.

 

Exemplo de um Daruma.cmd que emitirá um cupom fiscal:

 

1002;                                                                                Abre Cupom(Padrão)

1005;N1;250;78960037045;Bolacha;                             Vende Item

1005;N1;250;78960037045;Bolacha;                             Vende Item

1005;N1;250;78960037045;Bolacha;                              Vende Item

1017;                                                                                  Totalizar (Padrão)

1022;                                                                                   Efetuar Forma Pgto (Padrão)

1025;                                                                                   Encerrar Cupom (Padrão)

 

O Observer2 utiliza a darumaframework.dll para se comunicar com o ECF, Impressora DUAL, TA2000, e o 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 Observer como abaixo.





O Observer2 por trabalhar com a camada “darumaframework.dll” e 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: http://bit.ly/pIbCLR     

 

Agora é só colocar em pratica!

 

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

 

Ai vai a dica!

Um abraço, e até a próxima!