Trabalhando com Impressoras Fiscais em Linguagens 16bits/MS-DOS/Clipper utilizando o Observer2

Conheceça a Ferramenta Observer e trabalhe com conforto e rapidez em linguagem 16 bits, DOS, Clipper

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:

Criação do Daruma.cmd

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:

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.

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados