Algumas informações sobre este manual

Daruma Framework
Informações Importantes sobre este Manual
Top Next

Manual Eletrônico Versão 2.00

Este manual e único para toda a nossa linha de impressoras e terminais, não importando a linguagem de seu software, nem tampouco o sistema operacioal.

A nossa dll tambem é única ou seja um FRAMEWORK, que você pode utilizar para qualquer um de nossos produtos.
DARUMA32V

Se você é desenvolvedor em liguangem DOS ou WIN 16b, poderá utilizar o Odserver, que é o nosso driver voltado para linguagens 16b.

oberver

Emuladores - Infelizmente não temos emuladores, o que temos é um programa de incentivo, onde você desenvolvedor poderá estar adquinrindo uma impressora para desenvolvimento a subsidiada, à preço de fábrica.

· Outras Generalidades deste manual:

100% auto-explicativo, de fácil pesquisa.
Objetivo, dinâmico.
Auto-suficiente.
Atende a todos os produtos.
Funções Únicas para Windows e Linux.

Nossos canais de Suporte Técnico Especializado a Desenvolvedores Daruma são:

· Ligação gratuíta via internet
Skype: daruma_suporte_alexandre
Skype: claudenir_andrade
Skype: daruma_suporte_cristian

· Por email
suporte@daruma.com.br
sac@daruma.com.br
suporte.alexandre@daruma.com.br
suporte.cristian@daruma.com.br

· Via site
http://www.daruma.com.br/ddc/desenvolve.asp

· Por telefone
(41)3361-6005
(41)3361-6076


Lista dos Métodos disponíveis na DLL e seus índices

Lista dos Métodos da DARUMA32.DLL e seus Índices
Previous Top Next

Descrição do Método: Índice do Método:


Configurando a DLL

Configurando a DARUMA32.DLL

Criamos métodos, para que você mesmo possa criar sua tela de configuração da dll direto em seu aplicativo de Automação Comercial, com isso voce poderá padronizar o processo de como são configuradas as opções da dll permitindo que o usuario faça isso através de seu aplicativo de Automação Comercial, com a identidade visual de seu aplicativo e nao através de um editor padrão, isso porporciona maior controle do software nas configurações que devem ser realizadas, oferecendo maior segurança e acesso a estas configurações somente através de seu software.

A DLL Daruma32.dll possui sua configuração através do Registry do windows, possibilitando maior segurança ao aplicativo e maior rapidez na configuração da dll. Proporciona maior velocidade ao aplicativo porque nao necessita trabalhar com acesso a disco para ler as configurações e sim com o registry que esta em area de memoria e seu acesso é 0.760 Milisegundos mais rápido!!.

Para isso existem Funções que permitem que seu software de frente de caixa configure a dll DARUMA32.DLL, ou você poderá utilizar-se do Configurador que está disponivel em nossa pagina permitindo que independente do software de Automação Comercial você possa configurar a dll de Comunicação.

Se você estiver utilizando a dll de comunicação pela primeira vez para desenvolvimento Não é necessario Criar as Chaves no Registry ou registrar a DLL, porque estas chaves serão criadas automaticamente na primeira vez em que você chamar qualquer função da dll, sendo assim não é necessario que voce crie estas chaves através de seu software e tampouco na mão, nada disso é necessario, apenas execute qualquer função da dll através de seu software - Daruma_FI_LeituraX( ) por exemplo que as chaves serão criadas com valores DEFAULT.

Porém, se voce desejar criar as chaves na mão para que seja instalado a dll no cliente com algum tipo de configuração específica, poderá utilizar-se de dos recursos:

1) Chame qualquer funcão da dll de comunicação e após isso configure as chaves do registry com as funções de configuração existente na dll, Daruma_Registry_Porta("COM1"), por exemplo.

2) Ou, execute o arquivo DARUMA.REG que ele criará as chaves no Registry e você podera utilizar o proprio Windows ( com o executavel REGEDIT) ou poderá utiliar nosso configurador para modificar em tempo de desenho do software as chaves do Registry.

Veja Abaixo a estrutura Registry e o Significado de Cada uma de suas Chaves, Veja o Significado de Cada uma destas Chaves nos Tópicos deste help relacionados ao Produto.

[HKEY_LOCAL_MACHINE \SOFTWARE \ DARUMA]
[HKEY_LOCAL_MACHINE \ SOFTWARE \ DARUMA \ ECF]
[HKEY_LOCAL_MACHINE \ SOFTWARE \ DARUMA \ Observer]
[HKEY_LOCAL_MACHINE \ SOFTWARE \ DARUMA \ DPosXmlBr]

· Chaves:
DARUMA\ECF - Nesta Chave Você encontrará as configurações para que a dll trabalhe com nosso ECF.
DARUMA\Observer - Nesta Chave Você configura para se trabahar com o Driver OBSERVER que interliga seu aplicativo DOS com o windows.
DARUMA\DPosXmlBr - Nesta Chave você encontra valores referente ao Protocolo XML de Automação Comercial.


Declarando a DLL

Declarando a DLL

Os Métodos da Daruma32.dll devem ser declaradas, no aplicativo, para que o mesmo possa interagir com a impressora fiscal.

Cada linguagem de programação possui uma maneira diferente de declarar funções de uma DLL. Consulte sempre o manual de programação de sua linguagem para verificação deste procedimento.

þ Declarando em Visual Basic

þ Declarando em Delphi


O Quê é o Driver Daruma Observer?

O Quê é o Driver Observer?
Previous Top Next

O Driver Observer é o Único driver Desenvolvido no mercado de automação comercial, que permite o uso de um Único Protocolo entre os aplicativos DOS e Windows.
Este Driver reside no windows, permitindo que Aplicativos DOS/Win 16 bit´s, possam Acessar ao ECF com maior Facilidade tendo em vista a necessidade de se ter windows nos Equipamentos para a Realização do TEF. Com isso Desenvolvemos o OBSERVER que ficará residente na área de Relógio do Windows esperando que seja enviado comandos para ele.

· Porque usar o Observer em meu programa DOS?
1) Porque com isso o Protocolo que você esta usando no seu programa DOS poderá continuar sendo o mesmo quando você migrar seu programa para Windows. Aproveitando todas as rotinas de envio de comando, cultura e aprendizado de seus programadores com este protocolo utilizado pelo Observer.
2) Porque todas as EVOLUÇÕES e MELHORIAS e FACILIDADES da Daruma32.dll estarão disponíveis para seu Aplicativo DOS, porque o Observer utiliza-se da Dll de Comunicação com todas as faciliadades que nela se encontra.
3) Porque agora para enviar os métodos para o ECF através de seu aplivativo DOS você utiliza-se dos Métodos de Alto-Nivel que a Daruma32.dll contém, basta passar o ÍNDICE do método que você Obtem ao Lado do nome da cada Método, neste Help, ou seja, com isso você consegue usar métodos como por exemplo Daruma_FI_FechaCupomResumido antes não disponívies no DOS, porém agora disponivels no Observer.
4) Porque agora você não necessita se preocupar com a passagem correta dos Parâmetros, como por exemplo na Descrição da venda de um item, você nao necessita se preocupar com preenchimento do restante da Descrição pois a Daruma32.dll através do Observer faz isso para você!! Esta Facilidade antes estava disponível apenas no Windows, mas agora está disponível também para Aplicativos DOS/Win 16 bit´s.

Ao Instalar o Daruma Observer ele ficará residente com o Logo da DARUMA no Relógio do Windows, área denominada como Área de Notificação do Windows. Ao passar o mouse por cima aparecerá o Nome do Driver e sua versão.
observer1
Após isso este driver ficará Observando um diretório pré-configurado em busca de Arquivos de métodos, o Valor DEFAULT deste Diretorio e deste Arquivo é C:\DARUMA.CMD, porém você poderá configurar no Menú do Proprio Driver ou através de Comandos.

Sua aplicação fica no Aguardo do Arquivo de Resposta, o Nome e Path DEFAULT deste arquivo de Reposta é C:\DARUMA.RET, porém você poderá configurar no Menú do Próprio Driver ou através de Comandos.

RET;ACK;ST1;ST2;
ou
RET;ACK;ST1;ST2;INFORMAÇÃO;

RET - Retorno do Método.
ACK - Byte Indicativo de Recebimento OK de Comunicação com a Impressora.
ST1 - Primeiro Byte que contém Erros ou avisos do ECF.
ST2 - Segundo Byte que contém Erros ou aviosos do ECF.
INFORMAÇÃO - Informação desejada caso o método enviado requera uma informação além do ACK ST1 e ST2, como por exemplo, Número de Série do ECF, Data e Hora do ECF, SubTotal, Número do Cupom..

4) SEMPRE o valor será terminado em ; (ponto e Virgula) e no formato de 3 Dígitos, por exemplo:

Exemplo 1) 001;006;064;001;
001 - Indica que o Método Devolveu 1(indicativo de OK).
006 - ACK indica que o Protocolo de Comunicação está OK.
064 - Indica que o ECF está com Pouco Papel - Veja Tabela de Erro.
001 - Indica que o Método não Foi Executado - Veja Tabela de Erro.

Exemplo 2) -27;006;064;000;
-27 - Indica que o Método conseguiu enviar o comando para o EFC porém o ECF contém erro ou avisos, isso acontece porque a chave StatusFunção está ligada.
006 - ACK indica que o Protocolo de Comunicacao está OK.
064 - Indica que o ECF esta com Pouco Papel - Veja Tabela de Erro.
001 - Indica que o Método não Foi Executado - Veja Tabela de Erro.

Exemplo 3) Exemplo de Resposta a um método de Solicitação do Número do Cupom do ECF:
001;006;000;000;00028;
001 - Indica que a Função Devolveu 1(indicativo de OK).
006 - ACK indica que o Protocolo de Comunicação está OK.
000 - Indica que Não Existe Erro - Veja Tabela de Erro.
000 - Indica que Não Existe Erro - Veja Tabela de Erro.
00028 - Número do Cupom.


Instalando o Driver Observer

Instalando o Driver Observer

Para proceder a instalação do Driver Observer, você deve baixar o Arquivo OBSERVER.ZIP em nossa Página no link: http://www.daruma.com.br/suporte/download/observer.zip

1) Descompacte o arquivo OBSERVER.ZIP
2) Ao descompactar você irá encontrar os seguintes Arquivos:

observer4

DARUMA32_CLIPPER.ZIP - Contém um exemplo completo em Clipper utilizando o Obsever. Exemplo completo com Fonte Aberto.
DARUMA32_Help.ZIP - Contém o Help da Dll com os índices dos métodos que você deve chamar desde seu aplicativo DOS/Win 16 bit´s.
OBSERVER.CAB + OBSERVER.TXT + SETUP.EXE + SETUP.LST - Arquivos de Instalação do Driver.

3) Descompacte os Arquivos Zipados (Daruma32_CLIPPER.ZIP e Daruma_HELP.ZIP).
4) Faça dois clicks no Arquivo SETUP.EXE.
5) Siga as instruções do Instalador (Next..Next..Finish).

Se você desejar poderá colocar o Obsever para Startar Automaticamente com seu Windows, basta colocar o OBSEVER.EXE no menu Iniciar de seu computador.

Ao Iniciar o Observer você verá que o mesmo ficará executado na Barra de Notificações do Windows, conforme figura Abaixo.

observer1

Para Configurar o Observer basta dar um clique no Ícone (conforme fígura acima), e escolher a opção abrir:

observer5

Escolha a Opção TOOLS - > CONFIGURAÇÕES -> Que você irá direto para a opção de configurar direto o OBSERVER, através désta opção você poderá configurar o Diretório de Troca de Arquivo entre o Obsever e seu Aplicativo DOS/Win 16 bit´s.


Preparando seu Aplicativo para o Observer

Preparando seu Aplicativo para o Observer

1) Primeiro Passo é ter o Driver Observer presente no computador, conforme figura Abaixo, ele estará presente com o Logo da DARUMA na Áre de Relógio.
observer1

2) Segundo Passo é criar o Arquivo de Comando no Diretório Configurado para a Recepção de Arquivos de Comando. Para enviar um método para o ECF, use a mesma documentação da DLL DARUMA32.DLL, basta você passar o índice do Método desejado com os Parâmetros separados por ; (ponto-e-vírgula) e Terminado por ; (ponto-e-virgula).

· Por exemplo:
1000;10.123.154-98; (Indica que esta desejando abrir o Cupom fiscal e o Parâmetro é o CNPJ ou CPF)

1000;; (indica que deseja abrir o cupom fiscal e não deseja passar o parâmetro, ou seja o parâmetro é opcional)

1001;123;Lapis;FF;I;10;2;0,25;%;0000; (Exemplo de VENDA DE ÍTEM)

1005; (Indica que desejo cancelar o Ítem Anterior, ou seja, com os métodos sem parâmetros, apenas coloca-se o índice do Método desejado e finaliza-se com;

Neste Manual você indentifica o Índice dos Métodos que deseja Assim como na DLL, aqui também você não necessita passar a quantidade exata de casas, pois o Observer utiliza-se da dll e preenche para você!!!

CADA MÉTODO CONTÉM UM ÍNDICE QUE VOCÊ ENCONTRA AQUI NESTE MESMO MANUAL.

observer2

POR EXEMPLO O MÉTODO DE ABERTURA DE CUPOM:, EXEMPLO QUE UTILIZAMOS ACIMA COM O INDICE 1000:

observer3

3) Sua apliação deverá esperar um retorno do ECF, no memo formato da dll de comunicação (RETORNO.TXT).

RET;ACK;ST1;ST2;
ou
RET;ACK;ST1;ST2;INFORMAÇÃO;

RET - Retorno do Método (SEMPRE UM INTEIRO).
ACK - Byte Indicativo de Recebimento OK de Comunicação com a Impressora.
ST1 - Primeiro Byte que contém Erros ou avisos do ECF.
ST2 - Segundo Byte que contém Erros ou aviosos do ECF.
INFORMAÇÃO - Informação desejada caso o método enviado requera uma informação além do ACK ST1 e ST2, como por exemplo, Número de Série do ECF, Data e Hora do ECF, SubTotal, Número do Cupom..

4) SEMPRE o valor será terminado em ; (ponto e Virgula) e no formato de 3 Dígitos, por exemplo:

Exemplo 1) 001;006;064;001;
001 - Indica que o Método Devolveu 1(indicativo de OK).
006 - ACK indica que o Protocolo de Comunicação está OK.
064 - Indica que o ECF está com Pouco Papel - Veja Tabela de Retornos.
001 - Indica que o Método não Foi Executado - Veja Tabela de Retornos.

Exemplo 2) -27;006;064;000;
-27 - Indica que o Método conseguiu enviar o comando para o EFC porém o ECF contém erro ou avisos, isso acontece porque a chave StatusFunção está ligada.
006 - ACK indica que o Protocolo de Comunicacao está OK.
064 - Indica que o ECF esta com Pouco Papel - Veja Tabela de Retornos.
001 - Indica que o Método não Foi Executado - Veja Tabela de Retornos.

Exemplo 3) Exemplo de Resposta a um método de Solicitação do Número do Cupom do ECF:
001;006;000;000;00028;
001 - Indica que a Função Devolveu 1(indicativo de OK).
006 - ACK indica que o Protocolo de Comunicação está OK.
000 - Indica que Não Existe Erro - Veja Tabela de Retornos.
000 - Indica que Não Existe Erro - Veja Tabela de Retornos.
00028 - Número do Cupom.


Graficamente como Funciona o Observer

Veja Graficamente como Funciona o Driver DARUMA OBSERVER

OBSERVERJPG

O Driver OBSERVER basicamente Varre o Diretorio que nele foi configurado, no Menu TOOLS-> CONFIGURAÇÕES você pode configurar o nome do arquivo que você deseja que seja o arquivo de comado e o nome do arquivo que você deseja que seja o arquivo de resposta, poderá configurar também o path de entrada (onde os arquivos de comandos serão criados) e o path de saida (onde os arquivos de resposta do Observer) serão criados.


Funções de Configuração do Observer

Métodos de Configuração do Observer

reg
O Driver Observer é o Único driver Desenvolvido no mercado de automação comercial, que permite o uso de um Único Protocolo entre os aplicativos DOS e Windows.
Este Driver reside no windows, permitindo que Aplicativos DOS/Win 16 bit´s, possam Acessar ao ECF com maior Facilidade tendo em vista a necessidade de se ter windows nos Equipamentos para a Realização do TEF. Com isso Desenvolvemos o Observer que ficará residente na área de Relógio do Windows esperando que seja enviado métodos para ele.

O Driver é Totalmente configurável através do Registry, porém voce poderá setar as configurações do Observer no Início de seu aplicativo, basta chamar os métodos de Configuração do Registry.

· Estas são as Chaves Existentes para a Configuração do Observer e estes são os seus Valores DEFAULT:
[HKEY_LOCAL_MACHINE\SOFTWARE\DARUMA]
[HKEY_LOCAL_MACHINE\SOFTWARE\DARUMA\OBSERVER]

Hibernar = 0
Hibernar_Frequencia = 1000
Hibernar_Timeout = 10000000
Local_Execucao = 1
Log = 0
Log_Path = C:\Observer.log
Path_Entrada = C:\DARUMA.CMD
Path_Log_Aquivo = C:\OBSERVER.LOG
Path_Saida = C:\DARUMA.RET
Produto = FS345
Protocolo = 0
Separador = ;


Daruma_Observer_Registry_Hibernar (Índice 54)

Método: Daruma_Observer_Registry_Hibernar (Índice 54)
Previous Top Next

· Definição do Método:
Configura se o Observer irá Hibernar, se após X Verificações se o arquivo de comando existe, ele entra em Hibernação economizando assim Tempo de Processamento e liberando o aplicativo para outros processos.

· Parâmetros:
String: com o Valor desejado ("0" ou "1").
0 - Não Hibernar - buscar sempre arquivo de comando.
1 - Hibernar.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao Configurar o Registry
-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

Valor Defult da Chave = 0


Daruma_Observer_Registry_Hibernar_Frequencia (Índice 56)

Método: Daruma_Observer_Registry_Hibernar_Frequencia (Índice 56)
Previous Top Next

· Definição do Método:
Configura de "quanta" em "quantas" vezes o Observer irá Hibernar, exemplo: "100" - com este valor o Observer irá varrer 100 vezes em busca do Arquivo, e não encontrando nenhum arquivo de comando, entra em Hibernação.

· Parâmetros:
String: com o Valor desejado ("XXXXXX").

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao Configurar o Registry
-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Valor Defult da Chave = 1000


Daruma_Observer_Registry_Hibernar_TimeOut (Índice 55)

Método: Daruma_Observer_Registry_Hibernar_TimeOut (Índice 55)
Previous Top Next

· Definição do Método:
Configura por quanto tempo o Observer ficará Hibernando, ou seja, uma vez que o Observer entra em Hibernação, quanto tempo ficará "dormindo" até sair da Hibernação - Valor em Milisegundos.

· Parâmetros:
String: com o Valor desejado ("XXXXXX").

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao Configurar o Registry
-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Valor Defult da Chave = 10000000


Daruma_Observer_Registry_Execucao (Índice 53)

Método: Daruma_Observer_Registry_Execucao (Índice 53)
Previous Top Next

· Definição do Método:
Configura o Local em que o OBSERVER ficará em execução.

· Parâmetros:
String: com o Valor do Local desejado ("1" ou "2" ou "3")
1 - Relogio (Área de Notificação do Windows)
2 - Minizado na Barra de Tarefas
3 - Maximizado na Tela (Centralizado na Tela)

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao Configurar o Registry
-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Valor Defult da Chave = 1


Daruma_Observer_Registry_Log (Índice 58)

Método: Daruma_Observer_Registry_Hibernar_TimeOut (Índice 55)
Previous Top Next

· Definição do Método:
Configura se o Observer irá Fazer Log dos comandos enviados e Recebidos ou não.

· Parâmetros:
String: com o Valor desejado ("0" ou "1").
0 - Nao Faz Log.
1 - Faz Log.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao Configurar o Registry
-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Valor Defult da Chave = 0


Daruma_Observer_Registry_Log_Path (Índice 59)

Método: Daruma_Observer_Registry_Log_Path (Índice 59)
Previous Top Next

· Definição do Método:
Configura o Path + nome do Log desejado, esta chave só tem Efeito caso a Chave LOG estiver Ligada.

· Parâmetros:
String: com o Valor desejado ( Exemplo "C:\OBSERVER.LOG").

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao Configurar o Registry
-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Valor Defult da Chave = C:\Observer.log


Daruma_Observer_Registry_Entrada (Índice 50)

Método: Daruma_Observer_Registry_Entrada (Índice 50)
Previous Top Next

· Definição do Método:
Configura o Path + Nome do Arquivo de Comando que o OBSERVER deverá esperar.

· Parâmetros:
String: com o Valor desejado ("C:\DARUMA.CMD")

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao Configurar o Registry
-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Valor Defult da Chave = C:\DARUMA.CMD


Daruma_Observer_Registry_Saida (Índice 52)

Método: Daruma_Observer_Registry_Saida (Índice 52)
Previous Top Next

· Definição do Método:
Configura o Path + Nome do Arquivo de RESPOSTA que o OBSERVER irá Criar.

· Parâmetros:
String: com o Valor desejado ("C:\DARUMA.RET")

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao Configurar o Registry
-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Valor Defult da Chave =C:\DARUMA.RET


Daruma_Observer_Registry_Produto (Índice 61)

Método: Daruma_Observer_Registry_Produto (Índice 61)
Previous Top Next

· Definição do Método:
Configura o Produto que será Usado com o Observer.

· Parâmetros:
String: com o Valor desejado ("FS345")

Lista de Produtos
"FS345" - ECF Varejo.
"FS318" - ECF Restaurante.
"FS2000" - ECF Varejo Duas Estações.
"TA1000" - MicroTerminal Daruma.
"DS300" - MiniImpressora - Não Fiscal.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao Configurar o Registry
-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Valor Defult da Chave = FS345


Daruma_FI_AbreCupom(Índice 1000)

Método: Daruma_FI_AbreCupom [Índice: 1000]
Previous Top Next

· Definição do Método:
Abre o cupom fiscal na impressora fiscal Daruma.

· Parâmetros do Método: (Apenas 1 parâmetro, opcional).
CPF ou CNPJ: Variável String de até 29 carácteres com o CPF ou CNPJ.

· Retornos do Método:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:
· Exemplo em Visual Basic 6.0:
Dim Str_CPF_ou_CNPJ As String
Dim Int_Retorno as Integer

Str_CPF_ou_CNPJ = "45.543.915.730-08"
Int_Retorno = Daruma_FI_AbreCupom(Str_CPF_ou_CNPJ)

· Exemplo em Delphi 7.0:
var Str_CPF_ou_CNPJ: String;

Str_CPF_ou_CNPJ := '45.543.915.730-08';
Int_Retorno := Daruma_FI_AbreCupom( pchar( Str_CPF_ou_CNPJ ) );


Daruma_FI_VendeItem(Índice 1001)

Método: Daruma_FI_VendeItem [Índice: 1001]
Previous Top Next

· Definição do Método:
Vende o ítem na impressora fiscal.

· Parâmetros do Método: (9 Parâretros).
1. Código: String com até 13 carácteres contendo o código do produto.
2. Descrição: String até 29 carácteres com a descrição do produto.
3. Alíquota: String com o valor ou o índice da alíquota tributária. Se for o valor deve ser informado com o tamanho de 4 carácteres ou 5 com a vírgula. Se for o índice da alíquota deve ser 2 carácteres. Ex. (18,00 para o valor ou 05 para o índice).
4. Tipo Quantidade: 1 (um) caráctere indicando o tipo de quantidade. 'I' - Inteira e 'F' - Fracionária.
5. Quantidade: String com até 4 dígitos para quantidade inteira e 7 dígitos para quantidade fracionária. Na quantidade fracionária são 3 casas decimais.
6. Casas Decimais: Inteiro indicando o número de casas decimais para o valor unitário (2 ou 3).
7. Valor Unitário: String até 8 dígitos para valor unitário.
8. Tipo Desconto: 1 (um) caráctere indicando a forma do desconto. '$' desconto por valor e '%' desconto percentual.
9. Valor Desconto: String com até 8 dígitos para desconto por valor (2 casas decimais) e 4 dígitos para desconto percentual.

· Retorno do Método:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Na impressora Duas Estações FS2000, para se vender em apenas uma linha voce não poderá ter um Código maior que 6 digitos e a descrição maior que 14 carácteres. EX.:Codigo->123456 Descricao->Laranja Baiana. Uma combinacao dessas permitira que a vanda sai em uma unica linha.
- O valor do desconto nunca poderá ser igual ou maior do que o valor do ítem.

- Aliquotas de mesmo valor: Imagine que há duas alíquotas com o valor 12% cadastradas na impressora. A primeira cadastrada na posição 01 como ICMS e a outra na posição 05 como ISS. Se você informar o valor 1200 ou 12,00 no parâmetro "alíquota" o Método irá imprimir o item usando a alíquota 01 de ICMS. o Método lê as alíquotas da impressora e usa o índice da primeira ocorrência. Para usar a alíquota de ISS você deverá passar o índice 05 e não o valor 1200 ou 12,00. Se você não tiver duas alíquotas com o mesmo valor cadastradas na impressora use sempre o valor no parâmetro alíquota.
- Outra maneira de fazer quando você tiver duas alíquotas de mesmo valor Ex: duas de 10,00% sendo que uma refere-se a ICMS e a outra a ISS e você quizer usar a que vem na 2ª (segunda) posição, ou seja a de ISS neste caso então você poderá fazer isto passando apenas a letra 'I' para ICMS ou 'S' para ISS, Ex: "I10,00" ou "S10,00".

- Na FS345 versão 1.11 (somente nesta versão), você deve passar no parâmetro descrição até 7 carácteres e não podera dar desconto, para dar desconto e vender um ítem que tenha uma descrição maior do que 7 carácteres, tenha desconto no ítem use o Método Daruma_FI_VendeItemTresDecimais. Esta regra só é válida para a versão 1.11.

- Para vender ítem em uma única linha você deverá passar o ítem com o código de até 13 carácteres e a descrição de até 6 carácteres ou vice-versa. Caso não se cumpra ésta condição, então será vendido automáticamente em 2 linhas.

- Caso o ítem tenha desconto ou três decimais também será vendido automáticamente em 2 linhas.

- Se o cupom estiver fechado o Framework abrirá o cupom para você.

Exemplos:
· Exemplo em Visual Basic 6.0:
Dim Str_Codigo As String
Dim Str_Descricao As String
Dim Str_Aliquota As String
Dim Str_Tipo_de_Quantidade As String
Dim Str_Quantidade As String
Dim Int_Casas_Decimais As Integer
Dim Str_Valor_Unitario As String
Dim Str_Tipo_de_Desconto As String
Dim Str_Valor_do_Desconto As String
Dim Int_Retorno as Integer

Str_Codigo = "987654"
Str_Descricao = "bolacha"
Str_Aliquota = "II"
Str_Tipo_de_Quantidade = "I"
Str_Quantidade = "1"
Int_Casas_Decimais = "2"
Str_Valor_Unitario = "0,10"
Str_Tipo_de_Desconto = "$"
Str_Valor_do_Desconto = "0,00"

Int_Retorno = Daruma_FI_VendeItem(Str_Codigo, Str_Descricao, Str_Aliquota, Str_Tipo_de_Quantidade, _
Str_Quantidade, Int_Casas_Decimais, Str_Valor_Unitario, _
Str_Tipo_de_Desconto, Str_Valor_do_Desconto)

· Exemplo em Delphi 7.0:
var
Str_Codigo: String;
Str_Descricao: String;
Str_Aliquota: String;
Str_Tipo_de_Quantidade: String;
Str_Quantidade: String;
Int_Casas_Decimais: Integer;
Str_Valor_Unitario: String;
Str_Tipo_de_Desconto: String;
Str_Valor_do_Desconto: String;

begin
Str_Codigo := '987654';
Str_Descricao := 'bolacha';
Str_Aliquota := 'II';
Str_Tipo_de_Quantidade := 'I';
Str_Quantidade := '1';
Int_Casas_Decimais := 2;
Str_Valor_Unitario := '0,10';
Str_Tipo_de_Desconto := '$';
Str_Valor_do_Desconto := '0,00';
Int_Retorno := Daruma_FI_VendeItem(pchar( Str_Codigo ), pchar( Str_Descricao ), pchar( Str_Aliquota ), pchar( Str_Tipo_de_Quantidade ), pchar( Str_Quantidade ), Int_Casas_Decimais, pchar( Str_Valor_Unitario ), pchar( Str_Tipo_de_Desconto ), pchar( Str_Valor_do_Desconto ) );


Daruma_FI_VendeItemDepartamento(Índice 1004)

Método: Daruma_FI_VendeItemDepartamento [Índice: 1004]
Previous Top Next

· Definição do Método:
Vende o ítem na impressora fiscal, podendo indicar a unidade de medida e também um índice para o departamento .

· Parâmetros do Método: (9 Parâretros).
1. Código: STRING até 49 caracteres com o código do produto.
2. Descrição: STRING até 201 caracteres com a descrição do produto.
3. Alíquota: STRING com o valor ou o índice da alíquota tributária. Se for o valor deve ser informado com o tamanho de 4 caracteres ou 5 com a vírgula. Se for o índice da alíquota deve ser 2 caracteres. Ex. (18,00 para o valor ou 05 para o índice)
4. Valor Unitário: STRING com até 9 dígitos para o valor (tres casas decimais).
5. Quantidade: STRING com até 7 dígitos para a quantidade. Na venda com departamento a quantidade é fracionária e são 3 casas decimais.
6. Acréscimo: STRING com o acréscimo por valor com até 10 dígitos (2 casas decimais).
7. Desconto: STRING com o desconto por valor com até 10 dígitos (2 casas decimais).
8. Indíce Departamento: STRING com o índice do departamento com 2 dígitos.
9. Unidade Medida: STRING com no máximo 2 caracteres para a unidade de medida. Caso não seja passado nenhum caracter a unidade não é impressa.

· Retornos do Método:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Para o caso de você ter 2 alíquotas de com o mesmo valor, sendo uma de ICMS e a outra ISS você deverá passar da seguinte maneira:
1 - Indicando o seu índice Ex: Ta ou Sb.
2 - Indicando direto no valor da alíquota, tipo "I" para ICMS ou "S" para ISS Ex: I18,00 ou S18,00.
3 - Na impressora Duas Estações FS2000 tamanho máximo para o código do produto poderá ser de 6 digitos.
- O valor do desconto nunca poderá ser igual ou maior do que o valor do ítem.

- Na FS345 versão 1.11 (somente nesta versão), você deve passar no parâmetro descrição até 7 carácteres e não podera dar desconto, para dar desconto e vender um ítem que tenha uma descrição maior do que 7 carácteres, tenha desconto no ítem use o Método Daruma_FI_VendeItemTresDecimais. Esta regra só é válida para a versão 1.11.
Para vender ítem em uma única linha você deverá passar o ítem com o código de até 13 carácteres e a descrição de até 6 carácteres ou vice-versa. Caso não se cumpra ésta condição, então será vendido automáticamente em 2 linhas.

- Caso o ítem tenha desconto ou três decimais também será vendido automáticamente em 2 linhas.

- Se o cupom estiver fechado a dll abrirá o cupom para você.

Exemplos:
· Exemplo em Visual Basic 6.0:
Dim Str_Codigo As String
Dim Str_Descricao As String
Dim Str_Aliquota As String
Dim Str_Valor_Unitario As String
Dim Str_Quantidade As String
Dim Str_Valor_do_Acrescimo As String
Dim Str_Valor_do_Desconto As String
Dim Str_Indice_Departameto As String
Dim Str_Unidade_de_Medida As String

Str_Codigo = "987654"
Str_Descricao = "bolacha"
Str_Aliquota = "FF"
Str_Valor_Unitario = "0,09"
Str_Quantidade = "1,000"
Str_Valor_do_Acrescimo = "0,01"
Str_Valor_do_Desconto = "0"
Str_Indice_Departameto = "01"
Str_Unidade_de_Medida = "UN"

Int_Retorno = Daruma_FI_VendeItemDepartamento(Str_Codigo, _
Str_Descricao, Str_Aliquota, Str_Valor_Unitario, Str_Quantidade, _
Str_Valor_do_Acrescimo, Str_Valor_do_Desconto, Str_Indice_Departameto, _
Str_Unidade_de_Medida)

· Exemplo em Delphi 7.0:
var
Str_Codigo: String;
Str_Descricao: String;
Str_Aliquota: String;
Str_Valor_Unitario: String;
Str_Quantidade: String;
Str_Valor_do_Desconto: String;
Str_Valor_do_Acrescimo: String;
Str_Indice_Departamento: String;
Str_Unidade_de_Medida: String;
begin
Str_Codigo := '987654';
Str_Descricao := 'bolacha';
Str_Aliquota := 'FF';
Str_Valor_Unitario := '0,09';
Str_Quantidade := '1,000';
Str_Valor_do_Desconto := '0,01';
Str_Valor_do_Acrescimo := '0';
Str_Indice_Departamento := '01';
Str_Unidade_de_Medida := 'UN';

Int_Retorno := Daruma_FI_VendeItemDepartamento( pchar( Str_Codigo ), pchar( Str_Descricao ), pchar( Str_Aliquota ), pchar( Str_Valor_Unitario ) , pchar( Str_Quantidade ), pchar( Str_Valor_do_Desconto ), pchar( Str_Valor_do_Acrescimo ), pchar( Str_Indice_Departamento ), pchar( Str_Unidade_de_Medida ) );


Daruma_FI_VendeItemTresDecimais(Índice 1019)

Método: Daruma_FI_VendeItemTresDecimais [Índice: 1019]

Previous Top Next

· Definição do Método:
Vende o ítem na impressora fiscal, 1.11.

· Parâmetros do Método: (7 Parâretros).
1. Código: String com até 13 carácteres contendo o código do produto.
2. Descrição: String até 170 carácteres com a descrição do produto.
3. Alíquota: String com o valor ou o índice da alíquota tributária. Se for o valor deve ser informado com o tamanho de 4 carácteres ou 5 com a vírgula. Se for o índice da alíquota deve ser 2 carácteres. Ex. (18,00 para o valor ou 05 para o índice).
4. Quantidade: String com até 4 dígitos para quantidade inteira e 7 dígitos para quantidade fracionária. Na quantidade fracionária são 3 casas decimais.
5. Valor Unitário: String até 8 dígitos para valor unitário.
6. Acréscimo Desconto: String "A" para Acréscimo e "D" para Desconto.
7. Percentual Acréscimo Desconto: String com até 4 dígitos para o acréscimo ou desconto.

· Retornos do Método:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método foi implementado para vender ítem com três decimais na FS345 vesão 1.11.
- Este Médoto é exclusivo da FS345 versão 1.11.
- O valor do acréscimo ou desconto nunca poderá ser igual ou maior do que o valor do ítem.

Exemplos:
· Exemplo em Visual Basic 6.0:
Dim Str_Codigo As String
Dim Str_Descricao As String
Dim Str_Aliquota As String
Dim Str_Quantidade As String
Dim Str_Valor_Unitario As String
Dim Str_Acrescimo_ou_Desconto As String
Dim Str_Percentual_Acrescimo_ou_Desconto As String

Str_Codigo = "1234567890123"
Str_Descricao = "coca-cola"
Str_Aliquota = "NN"
Str_Quantidade = "0,500"
Str_Valor_Unitario = "1,999"
Str_Acrescimo_ou_Desconto = "D"
Str_Percentual_Acrescimo_ou_Desconto = "05,00"

Int_Retorno = Daruma_FI_VendeItemTresDecimais(Str_Codigo, Str_Descricao, _
Str_Aliquota, Str_Quantidade, Str_Valor_Unitario, Str_Acrescimo_ou_Desconto, _
Str_Percentual_Acrescimo_ou_Desconto)

· Exemplo em Delphi 7.0:
var
Str_Codigo: String;
Str_Descricao: String;
Str_Aliquota: String;
Str_Quantidade: String;
Str_Valor_Unitario: String;
Str_Desconto_ou_Acrescimo: String;
Str_Percentual_de_Desconto_ou_Acrescimo: String;
begin
Str_Codigo := '1234567890123';
Str_Descricao := 'coca-cola';
Str_Aliquota := 'NN';
Str_Quantidade := '0,500';
Str_Valor_Unitario := '1,999';
Str_Desconto_ou_Acrescimo := 'D';
Str_Percentual_de_Desconto_ou_Acrescimo := '05,00';

Int_Retorno := Daruma_FI_VendeItemTresDecimais( pchar( Str_Codigo ), pchar( Str_Descricao ), pchar( Str_Aliquota ), pchar( Str_Quantidade ) , pchar( Str_Valor_Unitario ), pchar( Str_Desconto_ou_Acrescimo ), pchar( Str_Percentual_de_Desconto_ou_Acrescimo ) );


Daruma_FI_CancelaCupom(Índice 1014)

Método: Daruma_FI_CancelaCupom [Índice: 1014]
Previous Top Next

· Definição do Método:
Cancela o último cupom emitido.

· Parâmetros do Método:
Não há.

· Retornos do Método:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Não poderá ter ocorrido Redução Z e nem Leitura X após a emissão do cupom.
- Você não podera ter emitido um outro cupom fiscal, sangria, suprimento.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_CancelaCupom()

· Exemplo em Delphi 7.0:
begin
Int_Retorno := Daruma_FI_CancelaCupom();


Daruma_FI_CancelaItemAnterior(Índice 1005)

Método: Daruma_FI_CancelaItemAnterior [Índice: 1005]

Previous Top Next

· Definição do Método:
Cancela o último item vendido.

· Parâmetros do Método:
Não há.

· Retornos do Método:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- O cupom fiscal deve estar aberto.
- Ao menos um ítem deve ter sido vendido.
- Não deve ter sido cancelado nenhum item imediatamente anterior.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_CancelaItemAnterior

· Exemplo em Delphi 7.0:
begin
Int_Retorno := Daruma_FI_CancelaItemAnterior();


Daruma_FI_CancelaItemGenerico(Índice 1006)

Método: Daruma_FI_CancelaItemGenerico [Índice: 1006]

Previous Top Next

· Definição do Método:
Cancela qualquer item dentre os cem (100) últimos itens vendidos.

· Parâmetros do Método:
Número Ítem: String com o número do ítem a ser cancelado com no máximo 3 dígitos.

· Retornos do Método:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- O cupom fiscal deve estar aberto
- Ao menos um ítem deve ter sido vendido
- O ítem não pode ter sido cancelado anteriormente e nem fora da faixa dos últimos itens vendidos.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Numero_Item As String

Numero_Item = "01"
Int_Retorno = Daruma_FI_CancelaItemGenerico(Numero_Item)

· Exemplo em Delphi 7.0:
var
Str_NumeroItem: String;
begin
Str_NumeroItem := '01';

Int_Retorno:=Daruma_FI_CancelaItemGenerico( pchar( NumeroItem ) );
FormPrincipal.Daruma_Analisa_Retorno();


Daruma_FI_IniciaFechamentoCupom(Índice 1007)

Método: Daruma_FI_IniciaFechamentoCupom [Índice: 1007]
Previous Top Next

· Definição do Método:
Inicia o fechamento do cupom com o uso das formas de pagamento.

· Parâmetros do Método:
1. Acréscimo Desconto: Indica se haverá acréscimo ou desconto no cupom. 'A' para acréscimo e 'D' para desconto.
2. Tipo Acréscimo Desconto: Indica se o acréscimo ou desconto é por valor ou por percentual. '$' para desconto por valor e '%' para percentual.
3. Valor Acréscimo Desconto: String com no máximo 14 dígitos para acréscimo ou desconto por valor e 4 dígitos para acréscimo ou desconto por percentual.

· Retornos do Método:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- O valor do desconto nunca poderá ser igual ou maior do que o valor do cupom.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Acrescimo_ou_Desconto As String
Dim Str_Tipo_do_Acrescimo_ou_Desconto As String
Dim Str_Valor_do_Acrescimo_ou_Desconto As String

Str_Acrescimo_ou_Desconto = "D"
Str_Tipo_do_Acrescimo_ou_Desconto = "$"
Str_Valor_do_Acrescimo_ou_Desconto = "0,01"
Int_Retorno = Daruma_FI_IniciaFechamentoCupom(Str_Acrescimo_ou_Desconto, _
Str_Tipo_do_Acrescimo_ou_Desconto, Str_Valor_do_Acrescimo_ou_Desconto)

· Exemplo em Delphi 7.0:
var
Str_Acrescimo_ou_Desconto: String;
Str_Tipo_do_Acrescimo_Desconto: String;
Str_Valor_do_Acrescimo_Desconto: String;
begin
Str_Acrescimo_ou_Desconto:='D';
Str_Tipo_do_Acrescimo_Desconto:='$';
Str_Valor_do_Acrescimo_Desconto:='0,01';

Int_Retorno =: Daruma_FI_IniciaFechamentoCupom( pchar( Str_Acrescimo_ou_Desconto ), pchar( Str_Tipo_do_Acrescimo_Desconto ), pchar( Str_Valor_do_Acrescimo_Desconto ) );


Daruma_FI_EfetuaFormaPagamento(Índice 1008)

Método: Daruma_FI_EfetuaFormaPagamento [Índice 1008]
Previous Top Next

· Definição do Método:
Imprime a(s) forma(s) de pagamento e o(s) valor(es) pago(s) nessa forma.

· Parâmetros do Método:
1. Forma Pagamento: String com a forma de pagamento com no máximo 16 carácteres.
2. Valor Forma Pagamento: String com o valor da forma de pagamento com até 14 dígitos.

· Retornos do Método:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- O fechamento do cupom com formas de pagamento deve ter sido iniciado.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Descricao_da_Forma_Pagamento As String
Dim Str_Valor_da_Forma_Pagamento As String

Str_Descriçca_da_Forma_Pagamento = "Dinheiro"
Str_Valor_da_Forma_Pagamento = "0,50"
Int_Retorno = Daruma_FI_EfetuaFormaPagamento(Str_Descricao_da_Forma_Pagamento, _
Str_Valor_da_Forma_Pagamento)

· Exemplo em Delphi 7.0:
var
Str_Descricao_da_Forma_Pagamento: String;
Str_Valor_da_Forma_Pagamento: String;
begin
Str_Descricao_da_Forma_Pagamento := 'Dinheiro';
Str_Valor_da_Forma_Pagamento := '0,50';
Int_Retorno := Daruma_FI_EfetuaFormaPagamento( pchar( Str_Descricao_da_Forma_Pagamento ), pchar( Str_Valor_da_Forma_Pagamento ) );


Daruma_FI_EfetuaFormaPagamentoDescricaoForma(Índice 1009)

Método: Daruma_FI_EfetuaFormaPagamentoDescricaoForma [Índice 1009]

Previous Top Next

· Definição do Método:
Imprime a(s) forma(s) de pagamento e o(s) valor(es) pago(s). Permite a impressão de comentários na(s) forma(s) de pagamento.

· Parâmetros do Método:
1. Forma Pagamento: String com a forma de pagamento com no máximo 16 carácteres.
2. Valor Forma Pagamento: String com o valor da forma de pagamento com até 14 dígitos.
3. Descrição Forma Pagamento: String com a descrição da forma de pagamento com no máximo 80 carácteres.

· Retornos do Método:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- O fechamento do cupom com formas de pagamento deve ter sido iniciado.
- O texto livre será impresso uma linha após a forma de pagamento.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Descricao_da_Forma_Pagamento As String
Dim Str_Valor_da_Forma_Pagamento As String
Dim Str_Texto_Livre As String

Str_Descricao_da_Forma_Pagamento = "Dinheiro"
Str_Valor_da_Forma_Pagamento = "0,50"
Str_Texto_Livre = "Texto Livre com ate 48 caracteres!!!"
Int_Retorno = Daruma_FI_EfetuaFormaPagamentoDescricaoForma _
(Str_Descricao_da_Forma_Pagamento, Str_Valor_da_Forma_Pagamento, Str_Texto_Livre)

· Exemplo em Delphi 7.0:
var
Str_Descricao_da_Forma_Pagamento: String;
Str_Valor_da_Forma_Pagamento: String;
Str_Texto_Livre: String;
begin
Str_Descricao_da_Forma_Pagamento := 'Dinheiro';
Str_Valor_da_Forma_Pagamento := '0,50';
Str_Texto_Livre := 'Texto Livre com ate 48 caracteres!!!';

Int_Retorno := Daruma_FI_EfetuaFormaPagamentoDescricaoForma( pchar( Str_Descricao_da_Forma_Pagamento ), pchar( Str_Valor_da_Forma_Pagamento ), pchar( Str_Texto_Livre ) );


Daruma_FI_FechaCupomResumido(Índice 1012)

Método: Daruma_FI_FechaCupomResumido [Índice 1012]
Previous Top Next

· Definição do Método:
Permite fechar o cupom de forma resumida, ou seja, sem acréscimo ou desconto no cupom e com apenas uma forma de pagamento. Esso Método lê o subtotal do cupom para fechá-lo.

· Parâmetros do Método:
1. Forma Pagamento: String com a forma de pagamento com no máximo 16 carácteres.
2. Mensagem Promocional: String com a mensagem promocional com até 384 carácteres (8 linhas X 48 colunas).

· Retornos do Método:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- O cupom deve estar aberto.
- Pelo menos 1 (um) item deve ter sido vendido e não pode ter sido cancelado.
- A utilização desse Método elimina a obrigatoriedade de uso das Método Daruma_FI_IniciaFechamentoCupom, Daruma_FI_EfetuaFormaPagamento e Daruma_FI_TerminaFechamentoCupom, que estão implementadas internamente no Método.
- Se a forma de pagamento não estiver cadastrada na impressora, o Método retorna erro.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Descricao_da_Forma_de_Pagamento As String
Dim Str_Mensagem_Promocional As String

Str_Descricao_da_Forma_Pagamento = "Dinheiro"
Str_Mensagem_Promocional = "Obrigado Volte Sempre!!!"
Int_Retorno = Daruma_FI_FechaCupomResumido(Str_Descricao_da_Forma_Pagamento, Str_Mensagem_Promocional)

· Exemplo em Delphi 7.0:
var
Str_Descricao_da_Forma_de_Pagamento: String;
Str_Mensagem_Promocional: String;
begin
Str_Descricao_da_Forma_de_Pagamento := 'Dinheiro';
Str_Mensagem_Promocional:= 'Obrigado Volte Sempre';

Int_Retorno:=Daruma_FI_FechaCupomResumido( pchar( Str_Descricao_da_Forma_Pagamento ), pchar( Str_Mensagem_Promocional ) );


Daruma_FI_FechaCupom(Índice 1011)

Método: Daruma_FI_FechaCupom [Índice 1011]
Previous Top Next

· Definição do Método:
Fecha o cupom fiscal com a impressão da mensagem promocional.
IMPORTANTE! Com este Método você não poderá informar com mais de um meio de pagamento.

· Parâmetros do Método:
1. Forma Pagamento: String com o nome da forma de pagamento com no máximo 16 carácteres.
2. Acréscimo Desconto: Indica se haverá acréscimo ou desconto no cupom. 'A' para acréscimo e 'D' para desconto.
3. Tipo Acréscimo Desconto: Indica se o acréscimo ou desconto é por valor ou por percentual. '$' para desconto por valor e '%' para percentual.
4. Valor Acréscimo Desconto: String com no máximo 14 dígitos para acréscimo ou desconto por valor e 4 dígitos para acréscimo ou desconto por percentual.
5. Valor Pago: String com o valor pago com no máximo 14 dígitos.
6. Mensagem Promocional: String com a mensagem promocional com até 384 carácteres (8 linhas X 48 colunas).

· Retornos do Método:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.
- O valor do acréscimo ou desconto nunca poderá ser igual ou maior do que o valor do ítem.

· Observações:
- O cupom deve estar aberto.
- Pelo menos 1 (um) item deve ter sido vendido e não pode ter sido cancelado.
- A utilização desse Método elimina a obrigatoriedade de uso das Método Daruma_FI_IniciaFechamentoCupom, Daruma_FI_EfetuaFormaPagamento e Daruma_FI_TerminaFechamentoCupom, que estão implementadas internamente no Método.

Exemplos:
· Exemplo em Visual Basic 6.0:
Dim Str_Descricao_da_Forma_Pagamento As String
Dim Str_Acrescimo_ou_Desconto As String
Dim Str_Tipo_Acrescimo_ou_Desconto As String
Dim Str_Valor_Acrescimo_ou_Desconto As String
Dim Str_Valor_Pago As String
Dim Str_Mensagem_Promocional As String

Str_Descricao_da_Forma_Pagamento = "Dinheiro"
Str_Acrescimo_ou_Desconto = "D"
Str_Tipo_Acrescimo_ou_Desconto = "$"
Str_Valor_Acrescimo_ou_Desconto = "0,01"
Str_Valor_Pago = "0,50"
Str_Mensagem_Promocional = "Obrigado Volte Sempre!!!"
Int_Retorno = Daruma_FI_FechaCupom(Str_Descricao_da_Forma_Pagamento, _
Str_Acrescimo_ou_Desconto, Str_Tipo_Acrescimo_ou_Desconto, _
Str_Valor_Acrescimo_ou_Desconto, Str_Valor_Pago, Str_Mensagem_Promocional)

· Exemplo em Delphi 7.0:
var
Str_Descricao_da_Forma_Pagamento: String;
Str_Acrescimo_ou_Desconto: String;
Str_Tipo_Acrescimo_ou_Desconto: String;
Str_Valor_Acrescimo_ou_Desconto: String;
Str_Valor_Pago: String;
Str_Mensagem_Promocional: String;
begin
Str_Descricao_da_Forma_Pagamento: = 'Descricao';
Str_Acrescimo_ou_Desconto := 'D';
Str_Tipo_Acrescimo_ou_Desconto := '$';
Str_Valor_Acrescimo_ou_Desconto := '0,01';
Str_Valor_Pago := '0,50';
Str_Mensagem_Promocional := 'Obrigado Volte Sempre!!!';

Int_Retorno := Daruma_FI_FechaCupom( pchar( Str_Descricao_da_Forma_Pagamento ), pchar( Str_AcrescimoDesconto ), pchar( Str_Tipo_Acrescimo_ou_Desconto ), pchar( Str_Valor_Acrescimo_ou_Desconto ), pchar( Str_Valor_Pago ), pchar( Str_Mensagem_Promocional ) );


Daruma_FI_TerminaFechamentoCupom(Índice 1010)

Método: Daruma_FI_TerminaFechamentoCupom [Índice 1010]
Previous Top Next

· Definição do Método:
Termina o fechamento do cupom com mensagem promocional.

· Parâmetros do Método:
Mensagem Promocional: String com a mensagem promocional com até 384 carácteres (8 linhas X 48 colunas).

· Retornos do Método:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- A forma de pagamento deve ter sido efetuada.
- Na impressora fiscal Daruma, serão impressas 8 linhas de texto.

Exemplos:
· Exemplo em Visual Basic 6.0:
Dim Str_Mensagem_Promocional As String

Str_Mensagem_Promocional = "Obrigado Volte Sempre!!!"
Int_Retorno = Daruma_FI_TerminaFechamentoCupom(Str_Mensagem_Promocional)

· Exemplo em Delphi 7.0:
var
Str_Mensagem_Promocional: String;
begin
Str_Mensagem_Promocional := 'Obrigado Volte Sempre!!!';

Int_Retorno := Daruma_FI_TerminaFechamentoCupom( pchar( Str_Mensagem_Promocional ) );


Daruma_FI_EstornoFormasPagamento(Índice 1017)

Método: Daruma_FI_EstornoFormasPagamento [Índice 1017]
Previous Top Next

· Definição do Método:
Permite Estornar valores de uma forma de pagamento e inserir em outra.

· Parâmetros do Método:
1. Forma Pagamento Origem: String com a forma de pagamento de onde o valor será Estornado, com até 16 carácteres.
2. Forma Pagamento Destino: String com a forma de pagamento onde o valor será inserido, com até 16 carácteres.
3. Valor Forma Pagamento: String com o valor a ser Estornado com até 14 dígitos. Não pode ser maior que o total da forma de pagamento de origem.

· Retornos do Método:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método não é compatível com a Improssora de Duas Estações FS2000.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Forma_de_Origem As String
Dim Str_Nova_Forma As String
Dim Str_Valor_Total_Pago As String

Str_Forma_de_Origem = "Dinheiro"
Str_Nova_Forma = "Cheque"
Str_Valor_Total_Pago = "0,50"
Int_Retorno = Daruma_FI_EstornoFormasPagamento _
(Str_Forma_de_Origem, Str_Nova_Forma, Str_Valor_Total_Pago)

· Exemplo em Delphi 7.0:
var
Str_Forma_de_Origem: String;
Str_Nova_Forma: String;
Str_Valor_Total_Pago: String;
begin
Str_Forma_de_Origem:= 'Dinheiro';
Str_Nova_Forma:= 'Cheque';
Str_Valor_Total_Pago:= '0,50';

Int_Retorno := Daruma_FI_EstornoFormasPagamento( pchar( Str_Forma_de_Origem ), pchar( Str_Nova_Forma ), pchar( Str_Valor_Total_Pago ) );


Daruma_FI_IdentificaConsumidor(Índice 1013)

Método: Daruma_FI_IdentificaConsumidor [Índice 1013]

Previous Top Next

· Definição do Método:
Imprime a Identificação do Consumidor, este método deve ser enviado Imediatamente Antes do método de TerminaFechamentoCupom, onde será impresso a mensagem Promocional.

· Parâmetros do Método:
1. Nome: Nome do Consumidor com até 80 carácteres.
2. Endereço: Endereço do Consumidor com até 80 carácteres
3. CNPJ ou CPF: Até 42 carácteres.

· Retornos do Método:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Estes Campos são Formatados automaticamente pelo ECF que imprimirá antes da Mensagem Promocional o seguinte:

· Exemplo:
-------------------------------------------------------
Nome: Daruma Automção S.A.
Endereço: Av. Independencia 3.500 Tatuapé
Nº Doc: NNNNNNNN
--------------------------------------------------------

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Nome_do_Consumidor As String
Dim Str_Endereco As String
Dim Str_CPF_ou_CNPJ As String

Str_Nome_do_Consumidor = "Daruma Automação S.A."
Str_Endereco = "Av. Independencia 3.500 Tatuapé"
Str_CPF_ou_CNPJ = "NNN.NNN.NNN-NN"
Int_Retorno = Daruma_FI_IdentificaConsumidor(Str_Nome_do_Consumidor, _
Str_Endereco, Str_CPF_ou_CNPJ)

· Exemplo em Delphi 7.0:
var
Str_Nome_do_Consumidor: String;
Str_Endereco: String;
Str_CPF_ou_CNPJ: String;
begin
Str_Consumidor := 'Daruma Automação S.A.';
Str_Endereco := 'Av. Independencia 3.500 Tatuapé';
Str_CPF_ou_CNPJ := 'NNN.NNN.NNN-NN';

Int_Retorno:=Daruma_FI_IdentificaConsumidor( pchar( Str_Nome_Consumidor ), pchar( Str_Endereco ), pchar( Str_CPF_ou_CNPJ ) );


Daruma_FI_EmitirCupomAdicional(Índice 1018)

Método: Daruma_FI_EmitirCupomAdicional [Índice 1018]
Previous Top Next

· Definição do Método:
Emite um resumo do Cupom Fiscal Realizado Anteriormente, com Número do cupom, Valor e Data.
Este resumo pode ser utilizado para Controle interno.

· Parâmetros do Método:
Não Há.

· Retornos do Método:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Para utilização deste Método, você deverá necessáriamente chamar o Método Daruma_FI_CfgCupomAdicional antes.
- Este Método enibe a pré_impressão automática do cliche do próximo cupom, implicando diretamente e um gasto Maior - tanto de Bobina Quanto de Tempo na emissão do cupom fincal.
- Este Método não é compatível com a Imprssora de Duas Estações FS2000.

Exemplos:
· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_EmitirCupomAdicional()

· Exemplo em Delphi 7.0:
begin
Int_Retorno:=Daruma_FI_EmitirCupomAdicional();


Daruma_FI_UsaUnidadeMedida(Índice 1016)

Método: Daruma_FI_UsaUnidadeMedida [Índice 1016]
Previous Top Next

· Definição do Método:
Imprime a unidade de medida após a quantidade do produto na venda de item.

· Parâmetros do Método:
Tipo Unidade Medida: String com a unidade de medida até 2 carácteres.

· Retornos do Método:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método deve ser usado antes do envio do Método Daruma_FI_VendeItem.
- Este Método tem validade, somente para a impressão de um ítem, voltando ao default que é a impressão de 2 (dois) espaços em branco após a quantidade do ítem vendido.
- Este Método é incompatível com a FS345 versao 1.11.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Unidade_de_Medida As String

Str_Unidade_de_Medida = "UN"
Int_Retorno = Daruma_FI_UsaUnidadeMedida(Str_Unidade_de_Medida)

· Exemplo em Delphi 7.0:
var
Str_UnidadeMedida: String;
begin
Str_Unidade_de_Medida := 'UN';

Int_Retorno := Daruma_FI_UsaUnidadeMedida( pchar( Str_Unidade_de_Medida ) );


Daruma_FI_AumentaDescricaoItem(Índice 1015)

Método: Daruma_FI_AumentaDescriçãoItem [Índice 1015]
Previous Top Next

· Definição do Método:
Este Método permite aumentar a descrição do item até 200 carácteres.

· Parâmetros do Método:
Descrição: String com a descrição do item com até 200 carácteres.

· Retornos do Método:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método deve ser usada antes do Método Daruma_FI_VendeItem, pois assim, o item será impresso com a nova descrição.
- Ela tem validade somente para a impressão de um item, voltando ao default que é de 29 carácteres na Descrição do item.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Descricao_Extendida As String

Str_Descricao_Extendida ="Protetor de carter, para Audi A3 - compativel apenas com o modelo Turbo, fabricado a partir de 2004."
Int_Retorno = Daruma_FI_AumentaDescricaoItem(Str_Descricao_Extendida)

· Exemplo em Delphi 7.0:
var
Str_Descricao: String;='Protetor de carter, para Audi A3 - compativel apenas com o modelo Turbo, fabricado a partir de 2004.';
begin
Str_Descricao := '';

Int_Retorno := Daruma_FI_AumentaDescricaoItem( pchar( Str_Descricao_Extendida ) );


Daruma_FI_AbreComprovanteNaoFiscalVinculado(Índice 1203)

Método: Daruma_FI_AbreComprovanteNaoFiscalVinculado [Índice 1203]
Previous Top Next

· Definição do Método:
Abre o comprovante não fiscal vinculado.

· Parâmetros do Método:
1. Forma Pagamento: Forma de pagamento com até 16 carácteres.
2. Valor: Valor pago na forma de pagamento com até 14 dígitos (2 casas decimais).
3. Número Cupom: Número do cupom a que se refere o comprovante com até 6 dígitos.

· Retornos do Método:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- A forma de pagamento deve ter sido utilizada no cupom, mesmo sendo a forma de Pagamento "Dinheiro".
- Só pode ser emitido um comprovante não fiscal por forma de pagamento.
- Os parâmetros "Valor" e "Numero do Cupom" tornam-se obrigatórios se o comprovante emitido não for referente a Última Forma de Pagamento do Cupom Fsical. Ou seja, se voce teve "Dinheiro" e "Cheque" no último Cupom Fiscal, então para abrir um vinculado em Dinheiro terá de passar o Valor da primeira forma de pagamento.

Exemplos:
· Exemplo em Visual Basic 6.0:
Dim Str_Forma_de_Pagamento As String
Dim Str_Valor_Pago As String
Dim Str_Numero_do_Cupom As String

Str_Forma_de_Pagamento ="Dinheiro "
Str_Valor_Pago = ""
Str_Numero_do_Cupom = ""
Int_Retorno = Daruma_FI_AbreComprovanteNaoFiscalVinculado _
(Str_Forma_de_Pagamento, Str_Valor_Pago, Str_Numero_do_Cupom)

· Exemplo em Delphi 7.0:
var
Str_Forma_de_Pagamento: String;
Str_Valor_Pago: String;
Str_Numero_do_Cupom: String;
begin
Str_Forma_de_Pagamento := 'Dinheiro';
Str_Valor_Pago := '';
Str_Numero_do_Cupom := '';

Int_Retorno := Daruma_FI_AbreComprovanteNaoFiscalVinculado( pchar( Str_Forma_de_Pagamento ), pchar( Str_Valor_Pago ), pchar( Str_Numero_do_Cupom ) );


Daruma_FI_UsaComprovanteNaoFiscalVinculado(Índice 1204)

Método: Daruma_FI_UsaComprovanteNaoFiscalVinculado [Índice 1204]
Previous Top Next

· Definição do Método:
Imprime o comprovante não fiscal vinculado.

· Parâmetros do Método:
Texto: String com o Texto a ser impresso no comprovante não fiscal vinculado com até 618 carácteres.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Na impressora fiscal Daruma, só pode ser usado durante 2 (dois) minutos após a abertura do comprovante não fiscal vinculado. Se esse tempo for ultrapassado o comprovante é fechado automaticamente.

Exemplos:
· Exemplo em Visual Basic 6.0:
Dim Str_Texto_Livre As String

Str_Texto_Livre = "Texto Livre com até 600 carácteres"
Int_Retorno = Daruma_FI_UsaComprovanteNaoFiscalVinculado(Str_Texto_Livre)

· Exemplo em Delphi 7.0:
var
Str_Texto_Livre: String;
begin
Str_Texto_Livre := 'Texto Livre com até 600 carácteres';

Int_Retorno := Daruma_FI_UsaComprovanteNaoFiscalVinculado( pchar( Str_Texto_Livre ) );
end;


Daruma_FI_FechaComprovanteNaoFiscalVinculado(Índice 1205)

Método: Daruma_FI_FechaComprovanteNaoFiscalVinculado [Índice 1205]
Previous Top Next

· Definição do Método:
Encerrar o comprovante não fiscal vinculado.

· Parâmetros do Método:
Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- O comprovante não fiscal vinculado deve ter sido aberto.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_FechaComprovanteNaoFiscalVinculado()

· Exemplo em Delphi 7.0:
Int_Retorno := Daruma_FI_FechaComprovanteNaoFiscalVinculado();


Daruma_FI_AbreRelatorioGerencial(Índice 1208)

Método: Daruma_FI_AbreRelatorioGerencial [Índice 1208]
Previous Top Next

· Definicao do Método:
Abre o Relatório Gerencial.

· Parâmetros do Método:
Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método apenas Abre o Relatório Gerencial, deixando-o pronto para que seja utilizado o Método Daruma_FI_RelatorioGerencial ou a Método Daruma_FI_EnviaTextoCNF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_AbreRelatorioGerencial()

· Exemplo em Delphi 7.0:
Int_Retorno := Daruma_FI_AbreRelatorioGerencial();


Daruma_FI_EnviarTextoCNF(Índice 1209)

Método: Daruma_FI_EnviarTextoCNF [Índice 1209]
Previous Top Next

· Definição do Método:
Imprime um Texto Livre Seja em Modo Não Fiscal Vinculado ou em modo Relatório Gerencial, este metodo permite que independente de onde voce estiver na operação do ECF você possa Efetuar a Impressão de Um texto Livre sem a necessidade de Identificar em que Modo o ECF está, em Modo Não Fiscal Vinculado ou em modo Relatório Gerencial.

· Parâmetros do Método:
Texto: String com o Texto a ser impresso até 600 carácteres.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- No Modo Não Fiscal Vinculado você tem Dois Minutos para Realizar a Impressão do Texto e no modo Relatório Gerencial Você tem 10(dez) Minutos para Realizar a Impressão do Texto.
- Este Método pode ser aplicado tambem para espaçar as 2 vias do TEF.
Exemplos:
· Exemplo em Visual Basic 6.0:
Dim Str_Texto_Livre As String

Str_Texto_Livre = "Texto Livre com até 600 carácteres"
Int_Retorno = Daruma_FI_EnviarTextoCNF(Str_Texto_Livre)

· Exemplo em Delphi 7.0:
var
Str_Texto_Livre: String;
begin
Str_Texto_Livre := 'Texto Livre com até 600 carácteres';

Int_Retorno := Daruma_FI_EnviarTextoCNF( pchar( Str_Texto_Livre ) );


Daruma_FI_FechaRelatorioGerencial(Índice 1201)

Método: Daruma_FI_FechaRelatorioGerencial [Índice 1201]
Previous Top Next

· Definição do Método:
Encerra o Relatório Gerencial.

· Parâmetros do Método:
Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- O relatório gerencial deve estar aberto.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_FechaRelatorioGerencial()

· Exemplo em Delphi 7.0:
Int_Retorno := Daruma_FI_FechaRelatorioGerencial();


Daruma_FI_AbreRecebimentoNaoFiscal(Índice 1210)

Método: Daruma_FI_AbreRecebimentoNaoFiscal [Índice 1210]

Previous Top Next

· Definição do Método:
Abre o recebimento não fiscal.

· Parâmetros do Método:
1. Índice do Totalizador Não Fiscal: Neste parâmetro você deve passar o índice do totalizador com 2 dígitos.
2. Acréscimo Desconto: Indica se haverá acréscimo ou desconto no cupom. 'A' para acréscimo e 'D' para desconto.
3. Tipo Acréscimo Desconto: Indica se o acréscimo ou desconto é por valor ou por percentual. '$' para desconto por valor e '%' para percentual.
4. Valor Acréscimo Desconto: String com no máximo 14 dígitos para acréscimo ou desconto por valor e 4 dígitos para acréscimo ou desconto por percentual.
5. Valor do Recebimento: String com o valor da forma de pagamento com até 14 dígitos.

6. Texto Livre. String com até 48 carácteres.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método abre o recebimento não fiscal que permanece aberto até que seja chamado o Método Daruma_FI_EfetuaFormaPagamentoNaoFiscal.
- Este Método deverá ser usado sempre que for preciso informar mais de uma forma de pagamento, no Recebimento.
- Não existe método para fechamento deste Método, o mesmo se fechará automaticamente, quando o total do recebimento for pago.
- Caso seja passado no parâmetro Índice do Totalizador Suprimento ou Sangria, o Método será executado, porém o cupom será fechado automaticamente.
- No caso de uma Impressora FS2000 Impressora de Cheques, quando passado o índice referente a Suprimento o mesmo permanecerá aberto, ate que se chame o Método Daruma_FI_EfetuaFormaPagamentoNaoFiscal.
Exemplos:
· Exemplo em Visual Basic 6.0:
Dim Str_Indice_do_Totalizador As String
Dim Str_Acrescimo_ou_Desconto As String
Dim Str_Tipo_Acrescimo_ou_Deconto As String
Dim Str_Valor_do_Acrescimo_ou_Desconto As String
Dim Str_Valor_do_Recebimento As String
Dim Str_Texto_Livre As String

Str_Indice_do_Totalizador = TX_Indice_do_Totalizador.Text
Str_Acrescimo_ou_Desconto = TX_Acrescimo_ou_Desconto.Text
Str_Tipo_Acrescimo_ou_Deconto = TX_Tipo_do_Acrescimo_ou_Desconto.Text
Str_Valor_Acrescimo_ou_Desconto = TX_Valor_Acrescimo_ou_Desconto.Text
Str_Valor_do_Recebimento = TX_Valor_do_Recebimento.Text
Str_Texto_Livre = TX_Texto_Livre.Text
Int_Retorno = Daruma_FI_AbreRecebimentoNaoFiscal(Str_Indice_do_Totalizador, Str_Acrescimo_ou_Desconto, Str_Tipo_Acrescimo_ou_Deconto, Str_Valor_Acrescimo_ou_Desconto, Str_Valor_do_Recebimento, Str_Texto_Livre)
·
· Exemplo em Delphi 7.0:
var
Str_Indice_do_Totalizador: String;
Str_Acrescimo_ou_Desconto: String;
Str_Tipo_Acrescimo_ou_Desconto: String;
Str_Valor_Acrescimo_ou_Desconto: String;
Str_Valor_do_Recebimento: String;
Str_Texto_Livre: String;
begin
Str_Indice_do_Totalizador := '02';
Str_Acrescimo_ou_Desconto := 'D';
Str_Tipo_Acrescimo_ou_Desconto := '$';
Str_Valor_Acrescimo_ou_Desconto := '0,01';
Str_Valor_do_Recebimento := '0,09';
Str_Texto_Livre := 'Referente ao pagamento da 1 primeira parcela.';

Int_Retorno := Daruma_FI_AbreRecebimentoNaoFiscal( pchar( Str_Indice_do_Totalizador ), pchar( Str_Acrescimo_ou_Desconto ), pchar( Str_Tipo_Acrescimo_ou_Desconto ), pchar( Str_Valor_Acrescimo_ou_Desconto ), pchar( Str_Valor_do_Recebimento ), pchar( Str_Texto_Livre ) );


Daruma_FI_EfetuaFormaPagamentoNaoFiscal(Índice 1211)

Método: Daruma_FI_EfetuaPagamentoNaoFiscal [Índice 1211]
Previous Top Next

· Definição do Método:
Imprime a(s) forma(s) de pagamento e o(s) valor(es) pago(s) nessa forma.

· Parâmetros do Método:
1. Forma Pagamento: String com a forma de pagamento com no máximo 16 carácteres.
2. Valor Forma Pagamento: String com o valor da forma de pagamento com até 14 dígitos.
3. Observação Livre: String com até 40 carácteres.

· Retornos do Método:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- O fechamento do comprovante não fiscal acontecerá automaticamente assim que o total do comprovante não fiscal seja atingido.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Forma_de_Pagamento As String
Dim Str_Valor_da_Forma_Pagamento As String
Dim Str_Texto_Livre As String

Str_Forma_de_Pagamento = "Dinheiro"
Str_Valor_da_Forma_Pagamento = "0,09"
Str_Texto_Livre = "Parcela paga em 28/12/2004"
Int_Retorno = Daruma_FI_EfetuaFormaPagamentoNaoFiscal(Str_Forma_de_Pagamento, _
Str_Valor_da_Forma_Pagamento, Str_Texto_Livre)

· Exemplo em Delphi 7.0:
var
Str_Forma_de_Pagamento: String;
Str_Valor_da_Forma_Pagamento: String;
Str_Texto_Livre: String;
begin
Str_Forma_de_Pagamento := 'Dinheiro';
Str_Valor_da_Forma_Pagamento := '0,09';
Str_Texto_Livre := '28/12/2004';

Int_Retorno := Daruma_FI_EfetuaFormaPagamentoNaoFiscal( pchar( Str_Forma_de_Pagamento ), pchar( Str_Valor_da_Forma_Pagamento ), pchar( Str_Texto_Livre ) );


Daruma_FI_FundoCaixa(Índice 1212)

Método: Daruma_FI_FundoCaixa [Índice 1212]
Previous Top Next

· Definição do Método:
Faz um suprimento na impressora (entrada de dinheiro).

· Parâmetros do Método:
1. Valor: String com o Valor do suprimento com até 14 dígitos (2 casas decimais).
2. Forma Pagamento: String com a Forma de pagamento com até 16 carácteres. Se não for informada, o suprimento será feito em Dinheiro.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Valor_do_Fundo_Caixa As String
Dim Str_Forma_de_Pagamento As String

Str_Valor_Fundo_Caixa = "0,10"
Str_Forma_de_Pagamento = "Dinheiro"
Int_Retorno = Daruma_FI_FundoCaixa(Str_Valor_do_Fundo_Caixa, Str_Forma_de_Pagamento)

· Exemplo em Delphi 7.0:
var
Str_Valor_do_Fundo_Caixa: String;
Str_Forma_de_Pagamento: String;
begin
Str_Valor_do_Fundo_Caixa := '0,10';
Str_Forma_de_Pagamento := 'Dinheiro';

Int_Retorno := Daruma_FI_FundoCaixa( pchar( Str_Valor_do_Fundo_Caixa ), pchar( Forma_de_Pagamento ) );


Daruma_FI_LeituraMemoriaFiscalData(Índice 1102)

Método: Daruma_FI_LeituraMemoriaFiscalData [Índice 1102]
Previous Top Next

· Definição do Método:
Emite a leitura da memória fiscal da impressora por intervalo de datas.

· Parâmetros do Método:
1. Data Inicial: String com a Data inicial no formato ddmmaa, dd/mm/aa, ddmmaaaa ou dd/mm/aaaa.
2. Data Final: String com a Data final no formato ddmmaa, dd/mm/aa, ddmmaaaa ou dd/mm/aaaa.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- O cupom fiscal deve estar fechado.
Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Data_Inicial As String
Dim Str_Data_Final As String

Str_Data_Inicial = "28/12/2004"
Str_Data_Final = "28/12/2004"
Int_Retorno = Daruma_FI_LeituraMemoriaFiscalData(Str_Data_Inicial, Str_Data_Final)

· Exemplo em Delphi 7.0:
var
Str_Data_Inicial: String;
Str_Data_Final: String;
begin
Str_Data_Inicial := '28/12/2004';
Str_Data_Final := '28/12/2004';

Int_Retorno := Daruma_FI_LeituraMemoriaFiscalData( pchar( Str_Data_Inicial ), pchar( Str_Data_Final ) );


Daruma_FI_LeituraMemoriaFiscalReducao(Índice 1103)

Método: Daruma_FI_LeituraMemoriaFiscalReducao [Índice 1103]
Previous Top Next

· Definição do Método:
Emite a leitura da memória fiscal da impressora por intervalo de reduções.

· Parâmetros do Método:
1. Redução Inicial: String com o Número da redução inicial com até 4 dígitos.
2. Redução Final: String com o Número da redução final com até 4 dígitos.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- O cupom fiscal deve estar fechado.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Reducao_Inicial As String
Dim Str_Reducao_Final As String

Str_Reducao_Inicial = "01"
Str_Reducao_Final = "02"

Int_Retorno = Daruma_FI_LeituraMemoriaFiscalReducao _
(Str_Reducao_Inicial, Str_Reducao_Final)

· Exemplo em Delphi 7.0:
var
Str_Reducao_Inicial: String;
Str_Reducao_Final: String;
begin
Str_Reducao_Inicial := '01';
Str_Reducao_Final := '02';

Int_Retorno := Daruma_FI_LeituraMemoriaFiscalReducao( pchar( Str_Reducao_Inicial ), pchar( Str_Reducao_Final ) );


Daruma_FI_LeituraMemoriaFiscalSerialData(Índice 1104)

Método: Daruma_FI_LeituraMemoriaFiscalSerialData [Índice 1104]
Previous Top Next

· Definição do Método:
Recebe os dados da memória fiscal por intervalo de datas pela serial e grava em arquivo texto.

· Parâmetros do Método:
1. Data Inicial: String com a Data inicial no formato ddmmaa, dd/mm/aa, ddmmaaaa ou dd/mm/aaaa.
2. Data Final: String com a Data final no formato ddmmaa, dd/mm/aa, ddmmaaaa ou dd/mm/aaaa.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- O cupom fiscal deve estar fechado.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Data_Inicial As String
Dim Str_Data_Final As String

Str_Data_Inicial = "28/12/2004"
Str_Data_Final = "28/12/2004"

Int_Retorno = Daruma_FI_LeituraMemoriaFiscalSerialData _
(Str_Data_Inicial, Str_Data_Final)

Shell "notepad C:\retorno.txt", vbMaximizedFocus

· Exemplo em Delphi 7.0:
var
Str_Data_Inicial: String;
Str_Data_Final: String;
begin
Str_Data_Inicial := '28/12/2004';
Str_Data_Final := '28/12/2004';

Int_Retorno := Daruma_FI_LeituraMemoriaFiscalSerialData( pchar( Str_Data_Inicial ), pchar( Str_Data_Final ) );


Daruma_FI_LeituraMemoriaFiscalSerialReducao(Índice 1105)

Método:Daruma_FI_LeituraMemoriaFiscalSerialReducao [Índice 1105]
Previous Top Next

· Definição do Método:
Recebe os dados da leitura da memória fiscal, por intervalo de reduções, pela serial e grava em arquivo texto.

· Parâmetros do Método:
1. Redução Inicial: String com o Número da reducao inicial com até 4 dígitos.
2. Redução Final: String com o Número da reducao final com até 4 dígitos.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- O cupom fiscal deve estar fechado.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Reducao_Inicial As String
Dim Str_Redcucao_Final As String

Str_Rd_Inicial = "01"
Str_Rd_Final = "02"

Int_Retorno = Daruma_FI_LeituraMemoriaFiscalSerialReducao _
(Str_Reducao_Inicial, Str_Reducao_Final)

Shell "notepad C:\retorno.txt", vbMaximizedFocus

· Exemplo em Delphi 7.0:
var
Str_Reducao_Inicial: String;
Str_Reducao_Final: String;
begin
Str_Reducao_Inicial := '01';
Str_Reducao_Final := '02';

Int_Retorno := Daruma_FI_LeituraMemoriaFiscalSerialReducao( pchar( Str_Reducao_Inicial ), pchar( Str_Reducao_Final ) );


Daruma_FI_LeituraX(Índice 1101)

Método:Daruma_FI_LeituraX [Índice 1101]
Previous Top Next

· Definição:
Emite a Leitura X na impressora.

· Parâmetros do Método:
Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Observações:
- O cupom fiscal deve estar fechado.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_LeituraX()

· Exemplo em Delphi 7.0:
Int_Retorno := Daruma_FI_LeituraX();


Daruma_FI_RecebimentoNaoFiscal(Índice 1202)

Método: Daruma_FI_RecebimentoNaoFiscal [Índice 1202]
Previous Top Next

· Definição do Método:
Imprime o comprovante não fiscal não vinculado.

· Parâmetros do Método:
1. Índice Totalizador: String com o Índice do totalizador para recebimento parcial com até 2 dígitos.
2. Valor Recebimento: String com o Valor do recebimento com até 14 dígitos (duas casas decimais).
3. Forma Pagamento: String com a Forma de pagamento com até 16 carácteres.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método é único, ou seja você não precisará chamar outro método para encerrá-lo.
- Caso você necessite informar mais de uma forma de pagamento então deve-se usar o Método Daruma_FI_AbreRecebimentoNaoFiscal.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Indice_do_Totalizador As String
Dim Str_Valor_do_Recebimento As String
Dim Str_Forma_de_Pagamento As String

Str_Indice_do_Totalizador = "02"
Str_Valor_do_Recebimento = "0,10"
Str_Forma_de_Pagamento = "Dinheiro"

Int_Retorno = Daruma_FI_RecebimentoNaoFiscal(Str_Indice_do_Totalizador, Str_Valor_do_Recebimento, Str_Forma_de_Pagamento)

· Exemplo em Delphi 7.0:
var
Str_Indice_do_Totalizador: String;
Str_Valor_do_Recebimento: String;
Str_Forma_de_Pagamento: String;
begin
Str_Indice_do_Totalizador := '02';
Str_Valor_do_Recebimento := '0,10';
Str_Forma_de_Pagamento := 'Dinheiro';

Int_Retorno := Daruma_FI_RecebimentoNaoFiscal( pchar( Str_Indice_do_Totalizador ), pchar( Str_Valor_do_Recebimento ), pchar( Str_Forma_de_Pagamento ) );


Daruma_FI_ReducaoZ(Índice 1100)

Método:Daruma_FI_ReducaoZ [Índice 1100]
Previous Top Next

· Definição do Método:
Emite a Redução Z na impressora.

· Parâmetros do Método:
1. Data: String com a Data atual da impressora no formato ddmmaa ou dd/mm/aa, dd/mm/aaaa ou dd/mm/aa. Opcional
2. Hora: String com a Hora a ser alterada no formato hhmmss ou hh:mm:ss. Opcional

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Importante!!!: Caso ja tenha sido efetuada uma ReducaoZ no dia, caso seja afetuada outra, isso fará com que a Impressora fique Inoperante, ate as 0:00. Horário este controlado pelo relógio interno da propria Impressora.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Confirma As String
Str_Confirma = MsgBox("Tem Certeza que Deseja Efetuar a ReducaoZ?", _
vbQuestion + vbYesNo, "Daruma Framework")
If Str_Confirma = vbYes Then
Int_Retorno = Daruma_FI_ReducaoZ(" ", " ")

· Exemplo em Delphi 7.0:
Int_Retorno := Daruma_FI_ReducaoZ('','');


Daruma_FI_ReducaoZAjustaDataHora(Índice 11006)

Método:Daruma_FI_ReducaoZAjustaDataHora [Índice 1106]
Previous Top Next

· Definição do Método:
Emite a Redução Z na impressora. Permite ajustar o relógio interno da impressora em até 5 minutos.

· Parâmetros do Método:
1. Data: String com a Data atual da impressora no formato ddmmaa ou dd/mm/aa, dd/mm/aaaa ou dd/mm/aa. Opcional.
2. Hora: String com a Hora a ser alterada no formato hhmmss ou hh:mm:ss. Opcional

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Somente será aceito um ajuste de +/- 5 minutos. Se os valores estiverem fora dessa faixa serão limitados a 5 minutos.
- O cupom fiscal deve estar fechado.

Exemplos:
· Exemplo em Visual Basic 6.0:
Dim Str_Data As String
Dim Str_Hora As String

Str_Data = " "
Str_Hora = " "
Int_Retorno = Daruma_FI_ReducaoZAjustaDataHora(Str_Data, Str_Hora)

· Exemplo em Delphi 7.0:
var
Str_Data: String;
Str_Hora: String;
begin
Str_Data := ' ';
Str_Hora := ' ';

Int_Retorno := Daruma_FI_ReducaoZAjustaDataHora( pchar( Str_Data ), pchar( Str_Hora ) );


Daruma_FI_RelatorioGerencial(Índice 1200)

Método: Daruma_FI_RelatorioGerencial [Índice 1200]

Previous Top Next

· Definição do Método:
Abre e Imprime Imprime o Relatório Gerencial.

· Parâmetros do Método:
Texto: String com o Texto a ser impresso no relatório com até 600 carácteres.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Se o Relatorio Gerencial estiver aberto este Método imprime o texto que voce deseja, e se desejar continuar imprimindo mais texto, continue Chamando este Método, que uma vez aberto o Gerencial, o mesmo não será Aberto novamente até que seja chamada a Método.
- Para fechar o Relatório, chame o Método:Daruma_FI_FechaRelatorioGerencial.
- Se qualquer Método diferente da Daruma_FI_RelatorioGerencial for chamado com o relatorio aberto, efetuará seu fechamento automaticamente.
- Uma vez aberto o Relatório Gerencial, você terá 10 minutos para a impressão de Texto Livre.
- Caso você se esqueça de fechar o Relatório Gerencial o mesmo será fechado automaticamente após 10 minutos contando a partir de sua abertura.
Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Texto_Livre As String

Str_Texto_Livre = "Texto Livre com até 600 carácteres"

Int_Retorno = Daruma_FI_RelatorioGerencial(Str_Texto_Livre)

· Exemplo em Delphi 7.0:
var
Str_Texto_Livre: String;
begin
Str_Texto_Livre := 'Texto Livre com até 600 carácteres';

Int_Retorno := Daruma_FI_RelatorioGerencial( pchar( Str_Texto_Livre ) );


Daruma_FI_Sangria(Índice 1206)

Método: Daruma_FI_Sangria [Índice 1206]
Previous Top Next

· Definição do método:
Faz uma sangria na impressora (retirada de dinheiro).

· Parâmetros do Método:
Valor: String com o Valor da sangria com até 14 dígitos (2 casas decimais).

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Não será possível informar mais de uma forma de pagamento no casa de uma Sangria.
Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Valor_da_Sangria As String

Str_Valor_da_Sangria = "0,10"

Int_Retorno = Daruma_FI_Sangria(Str_Valor_da_Sangria)

· Exemplo em Delphi 7.0:
var Str_Valor_da_Sangria: String;
begin
Str_Valor_da_Sangria := '0,10';

Int_Retorno := Daruma_FI_Sangria( pchar( Str_Valor_da_Sangria ) );


Daruma_FI_Suprimento(Índice 1207)

DarumaFramework
Método: Daruma_FI_Suprimento [Índice 1207]
Previous Top Next

· Definição do Método:
Faz um suprimento na impressora (entrada de dinheiro).

· Parâmetros do Método:
1. Valor: String com o Valor do suprimento com até 14 dígitos (2 casas decimais).
2. Forma Pagamento: String com a Forma de pagamento com até 16 carácteres. Se não for informada, o suprimento será feito em Dinheiro.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Caso queira fazer um Suprimento com mais de uma forma de pagamento deve-se chamar o Método Daruma_FI_AbreRecebimentoNaoFiscal, passando no parâmetro Índice o índice do Suprimento.
Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Valor_do_Suprimento As String
Dim Str_Forma_de_Pagamento As String

Str_Valor_do_Suprimento = "0,10"
Str_Forma_de_Pagamento = "Dinheiro"

Int_Retorno = Daruma_FI_Suprimento(Str_Valor_do_Suprimento, Str_Forma_de_Pagamento)

· Exemplo em Delphi 7.0:
var
Str_Valor_do_Suprimento: String;
Str_Forma_de_Pagamento: String;
begin
Str_Valor_do_Suprimento := '0,10';
Str_Forma_de_Pagamento := 'Dinheiro';

Int_Retorno := Daruma_FI_Suprimento( pchar( Str_Valor_do_Suprimento ), pchar( Str_Forma_de_Pagamento ) );


Daruma_FI_VerificaDocAutenticacao(Índice 1301)

Método: Daruma_FI_VerificaDocAutenticacao [Índice 1301]
Previous Top Next

· Definição do Método:
Verifica se existe documento para ser Autenticado, esta Método pode ser util antes do envio da autenticação, ou seja, você apenas envia o método para a Autenticação quando tiver a certeza que o documento esta presente.

· Uma pratica interessante a ser aplicada é a seguinte:
1) Chamar a Funcao Daruma_FI_VerificaDocAutenticação.
2) Retornou igual a 1 (um)?.
3) Se sim, chamar a funcao Daruma_FI_Autentica.
4) Caso contrário Voltar ao passo 1.

Com isso você garante que o método de Autenticação somente será chamado quando o documento estiver presente.

· Parâmetros do Método:
Não há.

Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:
· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_VerificaDocAutenticacao()
If Int_Retorno = 1 Then
MsgBox "1 = Documento Posicionado"
Else
MsgBox "0 = Documento Ausente"
End If

· Exemplo em Delphi 7.0:
begin
Int_Retorno := Daruma_FI_VerificaDocAutenticacao();
if Int_Retorno = 1 Then
begin
Application.MessageBox('1 = Documento Posicionado!', 'Daruma Framework', mb_ok);
end
else
begin
Application.MessageBox('0 = Documento Não Posicionado!', 'Daruma Framework', mb_ok);
end;


Daruma_FI_Autenticacao(Índice 1300)

Método: Daruma_FI_Autenticacao [Índice 1300]

Previous Top Next

· Definição do Método:
Permite a autenticação de documentos com a adição de uma String de até 13 carácteres.

· Parâmetros do Método:
Não Há.

Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método permite ao usuário entrar com até 13 carácteres onde poderá utilizar para texto livre, observações ou até mesmo uma criptografia.
- Deverá ser executada imediatamente após um recebimento não fiscal ou o término de um cupom fiscal.
- Poderá ser repetido até 4 vezes para cada recebimento, após isso o método será ignorado.
- Na impressora fiscal Daruma, serão aguardados 5 segundos para o posicionamento do documento e autenticará no documento a data, hora, número da loja, número do caixa e o número do último cupom fiscal. Se decorrido os 5 segundos sem o posicionamento do documento.

Exemplos:
· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_Autenticacao(Str_Autenticacao)

· Exemplo em Delphi 7.0:
Int_Retorno := Daruma_FI_Autenticacao( pchar( Str_Autenticacao) );


Daruma_FI_AutenticacaoStr(Índice 1302)

Método: Daruma_FI_AutenticacaoStr [Índice 1302]
Previous Top Next

· Definição do Método:
Permite a autenticação de documentos com a adição de uma String de até 13 carácteres.

· Parâmetros do Método:
String: de até 13 carácteres.

Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método permite ao usuário entrar com até 13 carácteres onde poderá utilizar para texto livre, observações ou até mesmo uma criptografia.
- Deverá ser executada imediatamente após um recebimento não fiscal ou o término de um cupom fiscal.
- Poderá ser repetido até 4 vezes para cada recebimento, após isso o método será ignorado.
- Na impressora fiscal Daruma, serão aguardados 5 segundos para o posicionamento do documento e autenticará no documento a data, hora, número da loja, número do caixa e o número do último cupom fiscal. Se decorrido os 5 segundos sem o posicionamento do documento.

Exemplos:
· Exemplo em Visual Basic 6.0:
Dim Str_AutenticacaoStr As String

Str_AutenticacaoStr = "Framework"
Int_Retorno = Daruma_FI_AutenticacaoStr(Str_AutenticacaoStr)

· Exemplo em Delphi 7.0:
var Str_Autenticacao_Str: String;
begin
Str_AutenticacaoStr := AutenticacaoStr.Text;

Int_Retorno := Daruma_FI_AutenticacaoStr( pchar( Str_AutenticacaoStr ) );


Daruma_FI_VerificaEstadoGaveta(Índice 1311)

Método: Daruma_FI_VerificaEstadoGaveta [Índice 1311]
Previous Top Next

· Definição do Método:
Retorna se a gaveta está fechada ou aberta.

· Parâmetros da Método:
Estado: INTEIRO com a Variável para receber o estado da gaveta, onde:

Estado = 0 sensor em nível 0 (aberta)
Estado = 1 sensor em nível 1 (fechada)

Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Int_Estado_Gaveta As Integer

Int_Estado_Gaveta = 0

Int_Retorno = Daruma_FI_VerificaEstadoGaveta(Int_Estado_Gaveta)
If Int_Estado_Gaveta = 1 Then
MsgBox "1 = Gaveta Aberta"
Else
MsgBox "0 = Gaveta Fechada"
End If

· Exemplo em Delphi 7.0:
var Str_Estado_Gaveta: String;
begin
SetLength (Str_Estado_Gaveta,1);

Int_Retorno := Daruma_FI_VerificaEstadoGavetaStr( Str_Estado_Gaveta );
if Str_Estado_Gaveta = '1' Then
begin
Application.MessageBox('1 = Gaveta Aberta!', 'Daruma Framework', mb_ok);


Daruma_FI_VerificaEstadoGavetaStr(Índice 1312)

Método: Daruma_FI_VerificaEstadoGavetaStr [Índice 1312]
Previous Top Next

· Definição do Método:
Retorna se a gaveta está fechada ou aberta.

· Parâmetros da Método:
Estado: INTEIRO com a Variável para receber o estado da gaveta, onde:
1. Estado = 1 sensor em nível 1 (fechada)
2. Estado = 0 sensor em nível 0 (aberta)

Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Estado_Gaveta As String

Str_Estado_Gaveta = Space(1)

Int_Retorno = Daruma_FI_VerificaEstadoGavetaStr(Str_Estado_Gaveta)
If Str_Estado_Gaveta = 1 Then
MsgBox "1 = Gaveta Aberta!"
Else
MsgBox "0 = Gaveta Fechada!"
End If

· Exemplo em Delphi 7.0:
var Str_Estado_Gaveta: String;
begin
SetLength (Str_Estado_Gaveta,1);

Int_Retorno := Daruma_FI_VerificaEstadoGavetaStr( Str_Estado_Gaveta );
if Str_Estado_Gaveta = '1' Then
begin
Application.MessageBox('1 = Gaveta Aberta!', 'Daruma Framework', mb_ok);


Daruma_FI_AcionaGaveta(Índice 1310)

Método: Daruma_FI_AcionaGaveta [ndice 1310]
Previous Top Next

· Definição do Método:
Abre a gaveta de dinheiro.

· Parâmetros do Método:
Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:
· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_AcionaGaveta()

· Exemplo em Delphi 7.0:
begin
Int_Retorno := Daruma_FI_AcionaGaveta();


Daruma_FI_AbrePortaSerial(Índice 600)

Método: Daruma_FI_AbrePortaSerial [Índice 600]
Previous Top Next

· Definição do Método:
Abre a porta serial para comunicação com a impressora.

· Parâmetros da Método:
Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- A Método lê o nome da porta a ser aberta no Na Chave do Registry Se o parâmetro "porta" estiver configurado com a palavra "Default" a Método localiza onde a impressora está conectada e configurado no Registry.

- Por Default a Daruma32.dll faz o gerenciamento de fluxo de dados, evitando dessa maneira de ter que abrir a porta serial.

Exemplos:
· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_AbrePortaSerial()

· Exemplo em Delphi 7.0:
begin
Int_Retorno := Daruma_FI_AbrePortaSerial();


Daruma_FI_FechaPortaSerial(Índice 601)

Método: Daruma_FI_FechaPortaSerial [Índice 601]
Previous Top Next

· Definição do Método:
Fecha a porta serial.

· Parâmetros da Método:
Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Por Default a Daruma32.dll faz o gerenciamento de fluxo de dados.

Exemplos:
· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_FechaPortaSerial()

· Exemplo em Delphi 7.0:
begin
Int_Retorno := Daruma_FI_FechaPortaSerial();


Daruma_FI_AberturaDoDia(Índice 604)

Método: Daruma_FI_AberturaDoDia [Índice 604]
Previous Top Next

· Definição do Método:
Faz a abertura do caixa emitindo um suprimento e uma LeituraX. Obs.: Na FS600 (MFD), não será emitida a LeituraX.

· Parâmetros da Método:
1. Valor: String com o Valor do suprimento com até 14 dígitos (2 casas decimais). Informe o valor "0" para não fazer suprimento.
2. Forma Pagamento: String com a Forma de pagamento com até 16 carácteres. Se não for informado, o suprimento será feito em Dinheiro.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
No caso de ter sido emitida uma LeituraX, no dia entao será feito apenas um suprimento.

Exemplos:
· Exemplo em Visual Basic 6.0:
Dim Str_Valor_do_Suprimento As String
Dim Str_Forma_de_Pagamento As String

Str_Valor_do_Suprimento = "0,10"
Str_Forma_de_Pagamento = "Dinheiro"
Int_Retorno = Daruma_FI_AberturaDoDia(Str_Valor_do_Suprimento, Str_Forma_de_Pagamento)

· Exemplo em Delphi 7.0:
var
Str_Valor_do_Suprimento: String;
Str_Forma_de_Pagamento: String;
begin
Str_Valor_do_Suprimento := '0,10';
Str_Forma_de_Pagamento := 'Dinheiro';

Int_Retorno := Daruma_FI_AberturaDoDia( pchar( Str_Valor_do_Suprimento ), pchar( Str_Forma_de_Pagamento ) );


Daruma_FI_FechamentoDoDia(Índice 605)

Método: Daruma_FI_FechamentoDoDia [Índice 605]
Previous Top Next

· Definição do Método:
Faz o fechamento do dia. Esse Método grava o COO final e o Grande Total final que serão usados na Método Daruma_FI_RelatorioTipo60Mestre.

· Parâmetros da Método:
Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método deverá ser aplicado sempre antes do encerramento do dia fiscal.
- Nunca emita nenhum relatório, antes de executar este Método.

Exemplos:
· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_FechamentoDoDia()

· Exemplo em Delphi 7.0:
begin
Int_Retorno := Daruma_FI_FechamentoDoDia();


Daruma_FI_ImprimeConfiguracoesImpressora(Índice 607)

Método: Daruma_FI_ImprimeConfiguracoesImpressora [Índice 607]
Previous Top Next

· Definição do Método:
Imprime configurações da impressora fiscal em um relatório gerencial. Será emitida uma leitura X antes. Veja abaixo em "Observações" as informações que serão impressas.

· Parâmetros da Método:
Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
Serão impressas as seguintes configurações:

Data da impressora 27/06/2001
Hora da impressora 11:38:37
Versão do firmware 120
Versão da dll 1.9
log da dll Desabilitado
Lin. Imp. após pouco papel 0000
Tipo Impressora fiscal + gaveta+autenticação
GravaStatus NÃO
Grava Retorno NÃO
Status Método NÃO
Controle Porta NÃO
Modo gaveta 0
Modo Emulador NÃO

Exemplos:
· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_ImprimeConfiguracoesImpressora()

· Exemplo em Delphi 7.0:
begin
Int_Retorno := Daruma_FI_ImprimeConfiguracoesImpressora();


Métodos Pogramação e Configuração

Método: Daruma_FI_ImprimeConfiguracoes [Índice 607]
Previous Top Next

· Definição do Método:
Imprime configurações da impressora fiscal em um relatório gerencial. Será emitida uma leitura X antes. Veja abaixo em "Observações" as informações que serão impressas.

· Parâmetros da Método:
Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
Serão impressas as seguintes configurações:

Data da impressora 27/06/2001
Hora da impressora 11:38:37
Versão do firmware 120
Versão da dll 1.9
log da dll Desabilitado
Lin. Imp. após pouco papel 0000
Tipo Impressora fiscal + gaveta+autenticação
GravaStatus NÃO
Grava Retorno NÃO
Status Método NÃO
Controle Porta NÃO
Modo gaveta 0
Modo Emulador NÃO

Exemplos:
Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_ImprimeConfiguracoesImpressora()


Daruma_FI_ProgramaAliquota(Índice 302)

Método: Daruma_FI_ProgramaAliquota [Índice 302]
Previous Top Next

· Definição do Método:
Programa alíquota tributária na Impressora Fiscal.

· Parâmetros do Método:
1. Alíquota: String com o valor da alíquota a ser programada.
2. Vínculo: INTEIRO com o valor 0 (zero) para vincular a alíquota ao ICMS e 1 (um) para vincular ao ISS.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Para que este Método funcione e preciso que seja enviado Emediatamente apos uma ReducaoZ.
- Nas Impressoras Daruma, você "não precisa" carregar diariamente as Alíquotas.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Valor_da_Aliquota As String
Dim Int_Tipo_da_Aliquota As Integer

Str_Valor_da_Aliquota = "1800"
Int_Tipo_da_Aliquota = "0"
Int_Tipo_da_Aliquota = CInt(TX_Tipo_da_Aliquota.Text)
Int_Retorno = Daruma_FI_ProgramaAliquota(Str_Valor_da_Aliquota, _
Int_Tipo_da_Aliquota)

· Exemplo em Delphi 7.0:
var
Str_Valor_da_Aliquota: String;
Int_Tipo_da_Aliquota: Integer;
begin
Str_Valor_da_Aliquota := '1800';
Int_Tipo_da_Aliquota :='0'
Int_Tipo_da_Aliquota := StrToInt(Trim(Tipo_da_Aliquota.Text));

Int_Retorno := Daruma_FI_ProgramaAliquota( pchar( Str_Valor_da_Aliquota ), Int_Tipo_da_Aliquota );


Daruma_FI_NomeiaTotalizadorNaoSujeitoIcms(Índice 304)

Método: Daruma_FI_NomeiaTotalizadorNaoSujeitoIcms [Índice 304]
Previous Top Next

· Definição do Método:
Programa Totalizador Não Sujeito ao ICMS. Equivale a por exemplo Conta de Luz, Água, Telefone, etc.

· Parâmetros do Método:
1. Indice: INTEIRO com a posição em que o totalizador será programado.
2. Totalizador: String até 21 carácteres com o nome do totalizador.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- O cupom fiscal deve estar fechado.
- Não pode haver outro totalizador cadastrado com o mesmo índice.
- Será executada somente após uma Redução Z.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Int_Indice_do_Totalizador As Integer
Dim Str_Nome_do_Totalizador As String

Int_Indice_do_Totalizador = "00"
Int_Indice_do_Totalizador = CInt(TX_Indice_do_Totalizador.Text)
Str_Nome_do_Totalizador = "Conta de Luz"
Int_Retorno = Daruma_FI_NomeiaTotalizadorNaoSujeitoIcms _
(Int_Indice_do_Totalizador, Str_Nome_do_Totalizador)

· Exemplo em Delphi 7.0:
var
Int_Indice_do_Totalizador: Integer;
Str_Nome_do_Totalizador: String;
begin
Int_Indice_do_Totalizador :='00'
Int_Indice_do_Totalizador := StrToInt(Trim(Indice_do_Totalizador.Text));
Str_Nome_do_Totalizador := 'Conta de Luz';

Int_Retorno := Daruma_FI_NomeiaTotalizadorNaoSujeitoIcms( Int_Indice_do_Totalizador, pchar( Str_Nome_do_Totalizador ) );


Daruma_FI_ProgramaFormasPagamento(Índice 301)

Método:Daruma_FI_ProgramaFormasPagamento [Índice 301]
Previous Top Next

· Definição do Método:
Realiza o casdastro das formas de pagamento na impressora fiscal, este Método deve ser enviado somente após a realização de uma ReduçãoZ que é efetuado pela DLL de forma Automática dependendo de como estiver a Chave do Registry Daruma_Registry_ZAutomatica.

· Parâmetros do Método:
Moeda: String contendo as formas de Pagamento desejadas, separadas por PONTO-E-VIRGULA, cada forma de pagamento deve ter o tamanho de até 16 carácteres.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- O cupom fiscal deve estar fechado.
- Será executado somente após uma Redução Z.
- Na FS600 MFD a forma de pagamento não será vinculável. Para tornar a forma de pagamento vinculável na FS600 é preciso que seja feita uma Intervenção Técnica.
-
Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Descricao_das_Formas_Pagamento As String

Str_Descricao_das_Formas_Pagamento = "Cartao;Cheque;Redecard;"
Int_Retorno = Daruma_FI_ProgramaFormasPagamento(Str_Descricao_das_Formas_Pagamentto)

· Exemplo em Delphi 7.0:
var
Str_Descricao_das_Formas_Pagamento: String;
begin
Str_Descricao_das_Formas_Pagamento := 'Cartao;Cheque;Redecard;';

Int_Retorno := Daruma_FI_ProgramaFormasPagamento( pchar( Str_Descricao_das_Formas_Pagamento ) );


Daruma_FI_ProgramaOperador(Índice 310)

Método: Daruma_FI_ProgramaOperador [Índice 310]
Previous Top Next

· Definição do Método:
Programa o Operador no ECF, essa programação pode ser seita a qualquer momento do dia.

· Parâmetros do Método:
Operador: String com até 20 carácteres.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método poderá ser chamado a qualquer momento do dia.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Nome_do_Operador As String

Str_Nome_do_Operador = "Operador 01"
Int_Retorno = Daruma_FI_ProgramaOperador(Str_Nome_do_Operador)

· Exemplo em Delphi 7.0:
var
Str_Nome_do_Operador: String;
begin
Str_Nome_do_Operador := 'Operador 01';

Int_Retorno := Daruma_FI_ProgramaOperador( pchar( Str_Nome_do_Operador ) );


Daruma_FI_ProgramaArredondamento(Índice 305)

Método:Daruma_FI_ProgramaArredondamento [Índice 305]
Previous Top Next

· Definição do Método:
Programa o modo arrendondamento na impressora.

· Parâmetros do Método:
Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- O cupom fiscal deve estar fechado.
- Será executada somente após uma Redução Z.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_ProgramaArredondamento()

· Exemplo em Delphi 7.0:
Int_Retorno := Daruma_FI_ProgramaArredondamento();


Daruma_FI_ProgramaTruncamento(Índice 306)

Método: Daruma_FI_ProgramaTruncamento [Índice 306]
Previous Top Next

· Definição do Método:
Programa o modo truncamento na impressora.

· Parâmetros do Método:
Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- O cupom fiscal deve estar fechado
- Será executada somente após uma Redução Z.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_ProgramaTruncamento()

· Exemplo em Delphi 7.0:
Int_Retorno := Daruma_FI_ProgramaTruncamento();


Daruma_FI_LinhasEntreCupons(Índice 307)

Método: Daruma_FI_LinhasEntreCupons [Índice 307]
Previous Top Next

· Definição do Método:
Programa o espaçamento de linhas entre os cupons.

· Parâmetros do Método:
Linhas: INTEIRO entre 0 e 15 indicando o número de linhas.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- O espaçamento ideal entre os cupons é de 7 linhas.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Int_Linhas_Entre_Cupons As Integer

Int_Linhas_Entre_Cupons = "15"
Int_Linhas_Entre_Cupons = CInt(TX_Linhas_Entre_Cupons.Text)
Int_Retorno = Daruma_FI_LinhasEntreCupons(Int_Linhas_Entre_Cupons)

· Exemplo em Delphi 7.0:
var
Int_Linhas_Entre_Cupons: Integer;
begin
Int_Linhas_Entre_Cupons :='15'
Int_Linhas_Entre_Cupons := StrToInt(Trim(Linhas_Entre_Cupons.Text));
Int_Retorno := Daruma_FI_LinhasEntreCupons( Int_Linhas_Entre_Cupons );


Daruma_FI_EspacoEntreLinhas(Índice 308)

Método: Daruma_FI_EspacoEntreLinhas [Índice 308]
Previous Top Next

· Definição do Método:
Programa o espaçamento entre as linhas impressas no cupom.

· Parâmetros do Método:
Dots: INTEIRO entre 0 e 255 indicando o espaço (dots) entre as linhas.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- O espaçamento ideal entre linhas é de 15 (dots).

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Int_Espaco_Entre_linhas As Integer

Int_Espaco_Entre_linhas = "15"
Int_Espaco_Entre_Linhas = CInt(TX_Espaco_Entre_Linhas.Text)
Int_Retorno = Daruma_FI_EspacoEntreLinhas(Int_Espaco_Entre_linhas)

· Exemplo em Delphi 7.0:
var
Int_Espaco_Entre_Linhas: Integer;
begin
Int_Espaco_Entre_Linhas :='15'
Int_Espaco_Entre_Linhas := StrToInt(Trim(Espaco_Entre_Linhas.Text));
Int_Retorno := Daruma_FI_EspacoEntreLinhas( Int_Espaco_Entre_Linhas );


Daruma_FI_ProgramaHorarioVerao(Índice 303)

Método: Daruma_FI_ProgramaHorarioVerao [Índice 303]
Previous Top Next

· Definição do Método:
Programa e desprograma o horário de verão. Se a impressora já estiver no horário de verão o mesmo será desprogramado atrasando o relógio em 1 (uma) hora, caso contrário será adiantado 1 (uma) hora.

· Parâmetros do Método:
Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- A programação do horário de verão será realizada somente após uma Redução Z. Para desprogramar, o Método somente será aceito, 1 (uma) hora após a Redução Z e não pode ter havido movimento na impressora nesse período.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_ProgramaHorarioVerao()

· Exemplo em Delphi 7.0:
Int_Retorno := Daruma_FI_ProgramaHorarioVerao();


Daruma_FI_EqualizaFormasPgto(Índice 311)

Daruma_FI_EqualizaFormasPgto [Índice 311]
Previous Top Next

· Definição do Método:
Equaliza as formas de pagamento.

· Parâmetros do Método:
Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- O cupom fiscal deve estar fechado.

· Exemplo de aplicação do Método:
- Imagine que você tenha uma forma de pagamento com a descrição vCartao, porém não tem o par dela nos vinculados. E néssa hora que este Método torna-se indispensável, pelo fato de que quando executado ele criará o Vinculado que estava faltando, para fazer par com a forma de pagamento que havia sido programada. Sendo assim passariamos a ter nos meios de pagamento vCartao e agora tabem nos vinculados Cartao e so assim poderia-se fazer um Comprovante nâo Fiscal Vinculado a partir da forma de pagamento vCartao.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_EqualizaFormasPgto()

· Exemplo em Delphi 7.0:
Int_Retorno := Daruma_FI_EqualizaFormasPgto();


Daruma_FI_ProgramaVinculados(Índice 312)

Método: Daruma_FI_ProgramaVinculados [Índice 312]

Previous Top Next

· Definição do Método:
Programa comprovante vinculado.

· Parâmetros do Método:
String: Com a descrição do vinculado com até 16 carácteres.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método só será aceito após uma ReduçãoZ e antes de uma LeituraX.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Descricao_do_Vinculado As String

Str_Descricao_do_Vinculado = "TEF"
Int_Retorno = Daruma_FI_ProgramaVinculados(Str_Descricao_do_Vinculado)

· Exemplo em Delphi 7.0:
var Str_Descricao_do_Vinculado: String;
begin
Str_Descricao_do_Vinculado := 'TEF';

Int_Retorno := Daruma_FI_ProgramaVinculados( pchar( Str_Descricao_do_Vinculado ) );


Daruma_FI_ProgramaFormasPgtoSemVincular(Índice 313)

Método: Daruma_FI_ProgramaPgtoSemVincular [Índice 313]
Previous Top Next

· Definição do Método:
Programa forma de pagamento sem vincular.

· Parâmetros do Método:
String: Com a descrição da forma de pagamento com até 16 carácteres.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método só será aceito após uma ReduçãoZ e antes de uma LeituraX.
- Este Método deverá ser aplicado sempre que a impressora já tiver o comprante vinculado e não tiver a forma de pagamento com a mesma descrição. Sendo assim você necessita criar uma forma de pagamento com a mesma descrição, deixando-a em concomitância com o vinculado, para que você possa gerar um CNFV, a partir da forma de pagamento.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Descricao_da_Forma_Pagamento As String

Str_Descricao_da_Forma_Pagamento = "Redecard"
Int_Retorno = Daruma_FI_ProgFormasPagtoSemVincular(Str_Descricao_da_Forma_Pagamento)

· Exemplo em Delphi 7.0:
var Str_Descricao_da_Forma_Pagamento: String;
begin
Str_Descricao_da_Forma_Pagamento := 'Redecard';

Int_Retorno := Daruma_FI_ProgFormasPagtoSemVincular( pchar( Str_Descricao_da_Forma_Pagamento ) );


Daruma_FI_CfgFechaAutomaticoCupom(Índice 400)

Método:Daruma_FI_CfgFechaAutomaticoCupom [Índice 400]
Previous Top Next

· Definição do Método:
Permite que você configure o ECF para que quando tenha um Cupom Fiscal Aberto, ao Ligar e Desligar a mesma possa fechar o cupom automaticamente sem a intervenção do Software Aplicativo, permitindo eliminar situações de travamento.

· Parâmetros do Método:
1 - Não fecha o Cupom Fiscal Automacamente, isso fica a cargo do aplicativo.
2 - Fecha o Cupom Fiscal Automaticamente ao Ligar e Desligar o ECF.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método irá configurar diretamente a impressora.
- O Default da dll irá setar pra 0 este recurso. Para habilitá-lo, você deverá chamar este método no strat-up de sua aplicação.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_CfgFechaAutomaticoCupom("1")

· Exemplo em Delphi 7.0:
Int_Retorno := Daruma_FI_CfgFechaAutomaticoCupom('1');


Daruma_FI_CfgRedZAutomatico(Índice 401)

Método: Daruma_FI_CfgRedZAutomatico [Índice 401]

Previous Top Next

· Definição do Método:
Permite que você configure o ECF para que Realize a Redução Z Automaticamente.

· Parâmetros do Método:
0 - O ECf Não Realiza a Z Automaticamente
1 - Realiza a Z Automaticamente.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Atenção! este Método anula completamente os valores da dll de ZAutomatica, ou seja, se você chama a Método Daruma_Registry_ZAutomatica e passar os Valores a 1(um) para a dll Fazer Automaticamente, e se você chamar esta Método para que nao faça a Redução Z Automatica de nada adiantará, ou seja, para que o ECF nem a DLL realiza a Z Automaticamente e sim que seja comandada por seu aplicativo você deverá chamar esta Método com o Valor 0(Zero) e a Método Daruma_Registry_ZAutomatica com o Valor também 0(zero) com isso nem a dll nem o ECF irá Efetuar a ReduçãoZ Automaticamente deixando esta Método totalmente a cargo de seu aplicativo.
- Este Método irá configurar diretamente a impressora.
- O Default da dll irá setar pra 0 este recurso. Para habilitá-lo, você deverá chamar este método no strat-up de sua aplicação.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_CfgRedZAutomatico("1")

· Exemplo em Delphi 7.0:
Int_Retorno := Daruma_FI_CfgRedZAutomaticoCupom('1');


Daruma_FI_CfgImpEstGavVendas(Índice 411)

Método: Daruma_FI_CfgImpEstGavVendas [Índice 411]
Previous Top Next

· Definição do Método:
Imprime na X e na Z quantas vezes a Gaveta foi Aberta

· Parâmetros do Método:
0 - Não Imprime na X e na Z quantas Vezes a Gaveta foi Aberta.
1 - Imprime na X e na Z quantas Vezes a Gaveta foi Aberta.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método irá configurar diretamente a impressora.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_CfgImpEstGavVendas("1")

· Exemplo em Delphi 7.0:
Int_Retorno := Daruma_FI_CfgImpEstGavVendas('1');


Daruma_FI_CfgLeituraXAuto(Índice 402)

Método: Daruma_FI_CfgLeituraXAuto [Índice 402]
Previous Top Next

· Definição do Método:
Permite que você configure o ECF seja realizado a Leitura X automaticamente para a Abertura do Dia.

· Parâmetros do Método:
1 - Abre o Dia, ou realiza a X, automaticamente.
0 - Não Abre o Dia, ou Não realiza a X, automaticamente.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método irá configurar diretamente a impressora.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_CfgLeituraXAuto("1")

· Exemplo em Delphi 7.0:
Int_Retorno = Daruma_FI_CfgImpEstGavVendas('1');


Daruma_FI_CfgCalcArredondamento(Índice 403)

Método: Daruma_FI_CfgCalcArredondamento [Índice 403]
Previous Top Next

· Definição do Método:
Configura o ECF para Calcular valores com a Regra de Arredondamento, ou seja, caso o valor calculado resulte de 5(incluindo o 5) pra cima será arredondado a ultima casa para o valor superior. Exemplos R$1,347 será R$1,35

· Parâmetros do Método:
0 - Não realiza os Calculos Por arredondamento e sim por truncamento
1 - Realiza os Calculos por Arredondamento.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método irá configurar diretamente a impressora.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_CfgCalcArredondamento("1")

· Exemplo em Delphi 7.0:
Int_Retorno = Daruma_FI_CalcArredondamento('1');


Daruma_FI_CfgHorarioVerao(Índice 404)

Método: Daruma_FI_CfgHorarioVerao [Índice 404]
Previous Top Next

· Definição do Método:
Configura o ECF para trabalhar com Horario de Verão.

· Parâmetros do Método:
1 - Comanda o ECF para entrar em Horario de Verão, ou seja, Automaticamente será Adiantado 1(uma) hora no Relógio da Impressora
0 - Comanda o ECF para SAIR do horario de Verão, ou seja atrasa o Relogio em 1(uma) hora.

· Observações:
Este Método só serão executados caso não tenha uma Venda no Dia, ou seja, Entre um a Redução Z (fechamento de Dia) e uma X (abertura de Dia). Para SAIR do horario de verao você deve realizar uma Redução Z e ESPERAR 1(uma) hora antes de enviar o método, isso se deve pelo fato que um avez que a Z foi Executada, o Horario em que a Z foi executada ficou gravado na Memoria Fiscal que não Permitirá que o Relogio do ECF volte 1(uma) hora atras da hora que já foi gravada na Memória Fiscal, por isso a necessidade de se esperar 1(uma) hora para SAIR do Horario de Verão.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método irá configurar diretamente a impressora.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_CfgHorarioVerao("1")

· Exemplo em Delphi 7.0:
Int_Retorno = Daruma_FI_CfgHorarioVerao('1');


Daruma_FI_CfgSensorAut(Índice 405)

Método: Daruma_FI_CfgSensorAut [Índice 405]
Previous Top Next

· Definição do Método:
Permite que você configure o ECF para ter o Sensor de Autenticação Habilitado ou não, permitindo que você utilize a Método Daruma_FI_VerificaDocAutenticacao para verificar se o Documento está presente ou não para ser Autenticado.

Parâmetros do Método:
0 - Sensor de Autenticação Desabilitado.
1- Sensor de Autenticação Habilitado.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método irá configurar diretamente a impressora.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_CfgSensorAut("1")

· Exemplo em Delphi 7.0:
Int_Retorno = Daruma_FI_CfgSensorAut('1')


Daruma_FI_CfgCupomAdicional(Índice 412)

Método: Daruma_FI_CfgCupomAdicional [Índice 412]
Previous Top Next

· Definição do Método:
Permite que você configure o ECF para a Emissão de um Cupom Adicional a cada Cupom Fiscal Emitido.

· Parâmetros do Método:
0 - Emissão do Cupom Adicional Desablitado.
1 - Emissão do Cupom Adicional Hablitado.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método irá configurar diretamente a impressora.
- O Default da dll irá setar pra 0 este recurso. Para habilitá-lo, você deverá chamar este método no start-up de sua aplicação.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_CfgCupomAdicional("1")

· Exemplo em Delphi 7.0:
Int_Retorno = Daruma_FI_CfgCupomAdicional('1')


Daruma_FI_CfgEspacamentoCupons(Índice 407)

Método: Daruma_FI_CfgEspacamentoCupons [Índice 407]
Previous Top Next

· Definição do Método:
Configura o Número de Linhas entre cupons, isso permite uma economia de Bobina e um controle do avanço entre os documentos.

· Parâmetros do Método:
2(Dois) dígitos com o número de linhas que você deseja avançar após a emissão de qualquer Documento.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
-Este Método irá configurar diretamente a impressora.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Valor As String

Str_Valor = InputBox("Entre com o número de linhas", "Daruma_Framework", "15")
Int_Retorno = Daruma_FI_CfgEspacamentoCupons(Str_Valor)

· Exemplo em Delphi 7.0:


Daruma_FI_CfgHoraMinReducaoZ(Índice 408)

Método: Daruma_FI_CfgHoraMinReducaoZ [Índice 408]
Previous Top Next

· Definição do Método:
Permite configurar até que horas o ECF irá esperar para Realizar a Redução Z Automática (Caso esteja Configurado para Fazer isso, ver Método Daruma_FI_CfgRedZAutomatico) ou para que o ECF passe a Rejeitar novos métodos e imprime sempre "Redução Z Pendente" até que a Redução Z seja Comandada por Software.

· Parâmetros do Método:
Valor com 2(dois) Dígitos que contéma Hora da Redução Z. Exemplos: "02" ou "08".

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método irá configurar diretamente a impressora.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Hora_Min_para_ReducaoZ As String

Int_Valor = InputBox("Entre com o Horario para recucaoZ:", "Daruma Framework", "08")
If Str_Hora_Min_para_ReducaoZ = "" Then
Exit Sub
End If
Int_Retorno = Daruma_FI_CfgHoraMinReducaoZ(Str_Hora_Min_para_ReducaoZ)

· Exemplo em Delphi 7.0:
var
Str_Valor: String;
begin
Str_Valor := InputBox('Entre com o horário para RecuçãoZ:', 'Daruma Framework', '08');
if Str_Valor = '' Then
Exit;

Int_Retorno := Daruma_FI_CfgHoraMinReducaoZ(Str_Valor);


Daruma_FI_CfgLimiarNearEnd(Índice 409)

Método: Daruma_FI_CfgLimiarNearEnd [Índice 409]
Previous Top Next

· Definição do Método:
Permite Configurar quantas linhas você deseja atrasar o sensor de Pouco Papel, ou seja, você pode indicar que o sensor de pouco papel só começe a sinalizar pouco papel quando a bobina estiver bem proxima do final, por Exemplos, em bobina de 22MM o valor de 0450 indica que o ECF irá sinalizar pouco papel quanto realmente estiver bem próximo do final da bobina. Isso economiza mais Papel através de um Aproveitamento melhor do Sinal de "Pouco Papel"

· Parâmetros do Método:
String com 4(quatro) dígitos que indica quantas linhas o sinal de pouco papel deve ser Atrasado, o Valor 0000 indica que o sinal fica desabilitado.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método irá configurar diretamente a impressora.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Numero_Linhas As String

Str_Numero_Linhas = InputBox("Entre com o número de linhas para o aviso de Pouco Papel:", "Daruma Framework", "0450")
Int_Retorno = Daruma_FI_CfgLimiarNearEnd(Str_Numero_Linhas)

· Exemplo em Delphi 7.0:
var
Str_Numero_Linhas: String;
begin
Str_Numero_Linhas := InputBox('Entre com o número de linhas para o aviso de Pouco Papel:', 'Daruma Framework', '0450');
if Str_Numero_Linhas = '' Then
Exit;

Int_Retorno := Daruma_FI_CfgLimiarNearEnd(Str_Numero_Linhas);


Daruma_FI_CfgPermMensPromCNF(Índice 410)

Método: Daruma_FI_CfgPermMensPromoCNF [Índice 410]
Previous Top Next

· Definição do Método:
Permite o Uso da Mensagem Promocional no Comprovante Não Fiscal Não Vinculado.

· Parâmetros do Método:
0 - Não exibe a Mensagem Promocional.
1 - Exide a Mensagem Promocional.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método irá configurar diretamente a impressora.
- O Default da dll irá setar pra 0 este recurso. Para habilitá-lo, você deverá chamar este método no strat-up de sua aplicação.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_CfgPermMensPromCNF("1")

· Exemplo em Delphi 7.0:
Int_Retorno := Daruma_FI_CfgPermMensPromCNF('1');


Regra de Configuração do Registry

Regra de Configuração do Registry - Daruma Registry

Métodos de Configuração do Registry, Regra Geral:
Todas os Métodos Referentes a Configuração do Registry da Impressora sempre recebem como parâmetro uma String, que pode ser (0 zero, indicando desligado) ou (1 um, Indicando Ligado) ou em algumas Método haverá a necessidade que você passe uma String como por Exemplos Porta que pode ser "Default" ou a Porta Serial Desejada, por Exemplos "COM1!!.

Todas os Métodos sempre devolvem um inteiro:
1 - OK
-4 - Não OK, Chave não Encontrada.

Se em algum Método de configuração do Registry da dll você passar a variável com valor NULO ou VAZIA a dll se encarrega de gravar no Registry o Valor Default correspondente a Chave que você está trabalhando.

Estes São os Valores DEFAULT do Registry:

[HKEY_LOCAL_MACHINE\SOFTWARE\DARUMA]
[HKEY_LOCAL_MACHINE\SOFTWARE\DARUMA\ECF]
Porta= DEFAULT
Path= C:\
Status= 0
StatusFuncao= 0
Retorno= 0
ControlePorta= 1
ModoGaveta= 0
ConfigRede= 0
Log= 0
NomeLog= C:\Daruma32.log
Emulador= 0
Separador= ,
SeparaMsgPromo= 1
Vende1Linha = 1
XAutomatica = 0
ZAutomatica = 1
AbrirDiaFiscal =1
ErroExtendidoOk=000
IgnorarPoucoPapel=1


Valores do Registry para o ECF

· Definições:
Estas são as Chaves e os Valores Adotados para a Configuração do Registry para Se trabalhar com o ECF:

[HKEY_LOCAL_MACHINE\SOFTWARE\DARUMA]
[HKEY_LOCAL_MACHINE\SOFTWARE\DARUMA\ECF]
Porta= DEFAULT
Path= C:\
Status= 0
StatusFuncao= 0
Retorno= 0
ControlePorta= 1
ModoGaveta= 0
ConfigRede= 0
Log= 0
NomeLog= C:\Daruma32.log
Separador= ,
SeparaMsgPromo= 1
Vende1Linha = 1
XAutomatica = 0
ZAutomatica = 1
AbrirDiaFiscal =1
ErroExtendidoOk=000
IgnorarPoucoPapel=1

· CHAVE:
DARUMA\ECF - Nesta Chave Você encontrará as configurações para que a dll trabalhe com nosso ECF.

VALUES:

Porta: Indica a porta serial de comunicação entre a impressora e o micro. Se o valor for igual a "DEFAULT", a DLL buscará a porta onde estiver a impressora, automaticamente.

Path: Configura o diretório onde será criado o arquivo "STATUS.TXT", "RETORNO.TXT" e "Daruma32.LOG". O path default é o diretório raiz na unidade C:\

Separador: Permite que você configure o caráctere separador dos dados que serão retornados, como formas de Pagamento, etc.. permitindo maior flexibilidade do software de frente de caixa obter os dados sem que tenha que obedecer uma formatação especifica da dll, com tamanhos fixos pois ao configurar o separador você programara a busca e separação dos dados pelo separador e não mais pelo tamanho fixo definido pela dll. O Default é "," (Virgula).

Status: Se essa opção estiver com o valor 1, os Métodos da DLL irão gravar o status da impressora (ACK, ST1 e ST2) no arquivo chamado "STATUS.TXT". O valor default dessa opção é 0, com o status da impressora sendo retornado através da Método Daruma_FI_RetornoImpressora.

Retorno: Se essa opção estiver com o valor 1, os Métodoa de Informações da dll como Daruma_FI_NumeroCupom( cNumCupom) da DLL irão gravar o retorno no arquivo chamado "RETORNO.TXT ". O valor default dessa opção é 0, com as informações sendo retornadas através das variáveis passadas como parâmetro nos Métodos.

StatusFuncao: Esta chave configura a DLL para retornar o valor –27 nas Método, quando o status da impressora (ACK, ST1, ST2) for diferente de 6,0,0. Com essa configuração a Método Daruma_FI_RetornoImpressora poderá ser executada somente quando o retorno for –27. O valor um "1" habilita e o valor zero "0" desabilita essa configuração. O valor default é zero "0".

ControlePorta: Se estiver com o valor 0, a abertura e o fechamento da porta serão controlados pelo programador. Se estiver com o valor 1, serão controlados pela DLL. A DLL irá abrir e fechar a porta automaticamente em cada Método. É recomendável que o controle da porta seja realizado pelo programador e que a mesma seja aberta no início da execução do programa e fechada somente no término da execução do mesmo.

ModoGaveta: Em alguns modelos de gaveta, este sinal poderá vir invertido, ou seja, o sinal que corresponde a "gaveta aberta", pode ser o sinal para "gaveta fechada". Neste caso habilite esta chave, substituindo o valor 0 (zero) para (1) um. Veja a Método Daruma_FI_VerificaEstadoGaveta para maiores informações.

Log: Se essa opção estiver com o valor 1, a DLL irá criar um arquivo de log chamado "Daruma32.LOG" com todas as Método executadas, seus parâmetros e valores de retorno.

NomeLog: Nome do Arquivo de Log que você deseja Criar, possibilitando que o Arquivo de Log seja Personalizado de acordo com seu aplicativo. Este arquivo será gravado no path indicado no value Path e somente será válido que o value Log for igual a 1(um)

SeparaMsgPromo: Por questões de layout do cupom, adicionamos antes da mensagem promocional uma linha separatoria deixando mais clara o que é mensagem promoicional e o que é Total do Cupom, caso você necessite utilizar o buffer de 620 bytes da mensagem promiocional e nao deseja que apareça esta linha separatoria, configure esta chave para "0" (zero), seu Default é "1"(um)

Vende1Linha: Permite que a Método Daruma_FI_VendeItem tente imprimir a venda item em uma linha apenas, com isso você terá uma economia no cupom fiscal de até 40%, ou seja, com esta chave a 1(um) esta "inteligência" é ativada, caso contrario todos os itens serão vendidos em duas linhas. O Valor default desta Chave é 1(um).

XAutomatica: A Dll irá efetuar uma LeituraX automaticamente ao perceber que existe esta necessidade, porque? porque no ECF Daruma existe o conceito da Abertura de DIA, ou seja, o DIA na Impressora é aberto com uma LeituraX, e ao enviar o primeiro método para o ECF, e o ECF tiver uma Redução Z Pendente e esta chave estiver a 1(um) então a dll irá efetuar a X automaticamente.

ZAutomatica: O Mesmo que acontece com a LeituraZ, a Impressora Daruma trabalha com o Conceito de não permitir que a Redução Z aconteça automaticamente, por isso voec deve "setar" esta chave para 1(um) caso você deseje que a Redução Z passe a ser executada de forma automatica.

AbrirDiaFiscal: A Impressora Daruma, necessita que seja efetuado uma LeituraX para a emissao do primeiro Cupom Fiscal, por isso foi criado esta chave para que você possa configurar o que deseja, se a dll faz a LeituraX automaticamente ou não, você poderá escolher a opção desejada apenas colocando 0(nao) ou 1(um) nesta chave. Com a Chave a 1(um) ao solicitar uma Venda, através das Método Daruma_FI_AbreCupom ou Daruma_FI_VendeItem

ErroExtendidoOk: A Método Daruma_FI_RetornaErroExtendido, devolve para o aplicativo o erro sinalizado pelo ECF, com esta chave você poderá configurar qual o valor que você deseja retornar caso o ECF retorne OK, o default desta chave é "000" para Tudo OK com o Ecf na chamada da Método Daruma_FI_RetornaErroExtendido.

IgnorarPoucoPapel: Esta Chave tem por Default o Valor 1(um) ou seja, nao trata o pouco papel, sendo assim quando o ECF indicar Pouco Papel a dll nao ira retonar o -27 (caso seja programado para isso na Funcao Daruma_Registry_StatusFuncao) e tampouco retornará 64 no Byte de Status 2, conforme tabela de decodificação de Erro.


Daruma_Registry_AlteraRegistry (Índice 17)

Método: Daruma_Registry_AlteraRegistry [Índice 17]
Previous Top Next

· Definição do Método:
Permite a Alteração das chaves do registry sem a necessidade de utilizar as Método anteriores e especificas para cada Chave, com Este Método você podera alterar qualquer umas das chaves do registry do ECF Daruma sem a necessidade de chamar uma Método para cada chave.

· Parâmetros da Método:
1. String com o nome da Chave que deseja Alterar.
2. String com o Valor da Chave que deseja Alterar.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Nome_da_Chave As String
Dim Str_Valor_da_Chave As String

Str_Nome_da_Chave = InputBox("Entre com o nome da Chave que você deseja Alterar:", "Daruma Framework", "Porta")
Str_Valor_da_Chave = InputBox("Entre com um novo Valor para Chave:", "Daruma Framework", "Default")
If Str_Nome_da_Chave = "" Or Str_Valor_da_Chave = "" Then
Exit Sub
End If

Int_Retorno = Daruma_Registry_AlteraRegistry(Str_Nome_da_Chave, Str_Valor_da_Chave)

· Exemplo em Delphi 7.0:
Int_Retorno := Daruma_Registry_AlteraRegistry(Str_Nome_da_Chave, Str_Valor_da_Chave);


Daruma_Registry_Porta(Índice 1)

Método: Daruma_Registry_Porta [Índice 1]
Previous Top Next

· Definição do Método:
Este Método permite Configurar a porta serial da impressora, ou simplesmente indicar para a dll que busque para você onde a impressora está conectada, a dll buscará da COM1 até a COM15.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
Valor Defult da Chave = "DEFAULT".

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Porta As String

Str_Porta = InputBox("Entre com o Nome da Porta onde está a Impressora:", "Daruma Framework", "Default")
If Str_Porta = "" Then
Exit Sub
End If

Int_Retorno = Daruma_Registry_Porta(Str_Porta)

· Exemplo em Delphi 7.0:
var
Str_Porta: String;
begin
Str_Porta := InputBox('Entre com o nome da Porta onde está a Impressora:', 'Daruma Framework', 'Default');
if Str_Porta = '' Then
Exit;

Int_Int_Retorno := Daruma_Registry_Porta( pchar(Str_Porta) );


Daruma_Registry_Path(Índice 2)

Método: Daruma_Registry_Path [Índice 2]
Previous Top Next

· Definição do Método:
Configura o Path onde será criado os arquivos de retorno, resposta, relatorios Tipo 60, Log da dll, sempre e quando a dll tiver como dispositivo de "OutPut" um arquivo texto este será criado no path em que está configurado nesta chave.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
Valor Defult da Chave = "C:\".

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Path As String

Str_Path = InputBox("Entre com o Path:", "Daruma Framework", "C:\")

If Str_Path = "" Then
Exit Sub
End If

Int_Retorno = Daruma_Registry_Path(Str_Path)

· Exemplo em Delphi 7.0:
var
Str_Path: String;
begin
Str_Path := InputBox('Entre com o Path:', 'Daruma Framework', 'C:\');
if Str_Path = '' Then
Exit;

Int_Retorno := Daruma_Registry_Path( pchar(Str_Path) );


Daruma_Registry_Status(Índice 3)

Método: Daruma_Registry_Status [Índice 3]
Previous Top Next

· Definição do Método:
Configura se o status da Impressora será retornado na Variável (por referência) ou em arquivo Texto (STATUS.txt).

· Parâmetros do Método:
0 - Não Retornará em Arquivo Texto.
1 - Retorna em Arquivo Texto.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
Valor Defult da Chave = "0".

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_Registry_Status("1")

· Exemplo em Delphi 7.0:
Int_Retorno := Daruma_Registry_Status('1')


Daruma_Registry_StatusFuncao(Índice 4)

Método: Daruma_Registry_StatusFuncao [Índice 4]
Previous Top Next

· Definição do Método:
0 - A Método terá sua tabela de Retorno normal.
1 - A Método retornará -27 caso o ECF sinalize valores de status diferentes de OK.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Caso o Método envie o método para o ECF e seja detectado um Erro na execução do método sinalizado pelo ECF ou um Warning sinalizado pelo ECF (Pouco Papel, por Exemplos), isso será sinalizado no retorno da propria Método, com o valor de -27
- Valor Defult da Chave = "0".

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_Registry_StatusFuncao("1")

· Exemplo em Delphi 7.0:
Int_Retorno := Daruma_Registry_StatusFuncao('1');


Daruma_Registry_Retorno(Índice 5)

Método: Daruma_Registry_Retorno [Índice 5]
Previous Top Next

· Definição do Método:
Permite configurar como será o retorno de informações da impressora, por Exemplos, número de série do ECF poderá vir na Variável por Referência ou em arquivo texto, RETORNO.TXT.

· Parâmetros do Método:
0 - Retorna as informações na Variável.
1 - Não retorna as informações na Variável passada e sim no arquivo Texto RETORNO.TXT.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
Valor Defult da Chave = "0".

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_Registry_Retorno("1")

· Exemplo em Delphi 7.0:
Int_Retorno := Daruma_Registry_Retorno('1');


Daruma_Registry_ControlePorta(Índice 6)

Método: Daruma_Registry_ControlePorta [Índice 6]
Previous Top Next

· Definição do Método:
Permite configurar como será realizado o controle da Porta Serial, pelo Aplicativo ou pela Dll é aconselhado que seja sempre pela dll pois isso possibilita trabalhar sem problemas em tempo de DEBUG do software.

· Parâmetros do Método:
0 - O Aplicativo Controla a porta Serial e deve chamar as Método de Abertura e Fechamento de porta.
1 - Todo este controle fica a cargo da dll de comunicacao Daruma32.dll.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
Valor Defult da Chave = "1".

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_Registry_ControlePorta("1")

· Exemplo em Delphi 7.0:
Int__Retorno := Daruma_Registry_ControlePorta('1');


Daruma_Registry_ModoGaveta(Índice 7)

Método: Daruma_Registry_ModoGaveta [Índice 7]
Previous Top Next

· Definição do Método:
Permite inverter o sinal da Gaveta com a logica Negativa, se a gaveta estiver devolvendo o sinal de Aberta mesmo que ela estaja fechada, inverta o valor desta chave para obter o resultado correto, isso foi implementado devido o fato de muitas gavetas estarem saindo com problemas no sinal lógico.

· Parâmetros do Método:
0 - Lógica Invertida.
1 - Lógica Invertida.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
Valor Defult da Chave = "0".
Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_Registry_ModoGaveta("1")

· Exemplo em Delphi 7.0:
Int_Retorno := Daruma_Registry_ModoGaveta('1');


Daruma_Registry_ConfigRede(Índice 8)

Método: Daruma_Registry_ConfigRede [Índice 8]
Previous Top Next

Ainda Nao Utilizado!


Daruma_Registry_Log(Índice 9)

Método: Daruma_Registry_Log [Índice 9]
Previous Top Next

· Definição do Método:
Configura se deseja que a dll faça log de todas as ações, parâmetros e retornos. Será criado o Arquivo Daruma32.log no Path que esta configurado como valor da Chave Path.

· Parâmetros do Método:
0 - Não Cria o Log.
1 - Cria Log com todas as ações.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Observações:
- Valor Defult da Chave = "0".
Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_Registry_Log("1")

· Exemplo em Delphi 7.0:
Int_Retorno := Daruma_Registry_Log('1');


Daruma_Registry_NomeLog(Índice 10)

Método: Daruma_Registry_NomeLog [Índice 10]
Previous Top Next

· Definiçã do Método:
Configurar o Nome do Arquivo Log que será Criado.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Valor Defult da Chave = "Daruma32.Log".

Exemplos:
Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Nome_Log As String

Str_Nome_Log = InputBox("Entre com um Nome para o Log:", "Daruma Framework", "Daruma32.log")

If Str_Nome_Log = "" Then
Exit Sub
End If

Int_Retorno = Daruma_Registry_NomeLog(Str_Nome_Log)

· Exemplo em Delphi 7.0:
var
Str_Nome_Log: String;
begin
Str_Nome_Log := InputBox('Entre com um Nome para o Log:', 'Daruma Framework', 'Daruma32.log');
if Str_Nome_Log = '' Then
Exit;

Int_Retorno := Daruma_Registry_NomeLog( pchar(Str_Nome_Log) );


Daruma_Registry_Separador(Índice 11)

Método: Daruma_Registry_Separador [Índice 11]
Previous Top Next

· Definição do Método:
Indica qual será o caráctere de Separação que você utilizará para o retorno de dados que seja necessario a sepraração por este caráctere facilitando que o software possa utilizar e separar a informação, por Exemplos: Retorno de Formas de Pagamento irá retornar "Dinheiro, Cheque,Cartao", com estes dados separado por Vírgula você terá uma maior facilidade de separar e utilizar os dados sem a necessidade de estar amarrado a um tamanho fixo dos dados.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
O Valor Default é = "," ( Vírgula )

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Separador As String

Str_Separador = InputBox("Entre com o Tipo de Separador:", "Daruma Framework", ",")

If Str_Separador = "" Then
Exit Sub
End If

Int_Retorno = Daruma_Registry_Separador(Str_Separador)

· Exemplo em Delphi 7.0:
Str_Separador: String;
begin
Str_Separador := InputBox('Entre com o Tipo de Separador:', 'Daruma Framework', ',');
if Str_Separador = '' Then
Exit;

Int_Retorno := Daruma_Registry_Separador( pchar(Str_Separador) );


Daruma_Registry_SeparaMsgPromo(Índice 12)

Método: Daruma_Registry_SeparaMsgPromo [Índice 12]
Previous Top Next

· Definição do Método:
Indica se você deseja que antes da mensagem promocional seja traçado uma linha separadora, para deixar mais claro no cupom fiscal o que é mensagem promocional e o que é subtotal.

· Parâmetros do Método:
0 - Não inclui a linha Separadora na Mensagem Promocional.
1 - Inclui a linha Separadora na Mensagem Promocional.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
O Valor Default desta chave é 1(um).
Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_Registry_SeparaMsgPromo("1")

· Exemplo em Delphi 7.0:
Int_Retorno := Daruma_Registry_SeparaMsgPromo('1');


Daruma_Registry_Vende1Linha(Índice 13)

Método: Daruma_Registry_Vende1Linha [Índice 13]
Previous Top Next

· Definição do Método:
Permite que a Método Daruma_FI_VendeItem tente imprimir a venda do item em uma linha apenas, com isso você terá uma economia no cupom fiscal de até 40%, ou seja, com esta chave a 1(um) esta "inteligência" é ativada, caso contrario todos os itens serão vendidos em duas linhas. O Valor default desta Chave é 1(um).

· Parâmetros da Método:
0 - Não tentar Imprimir a venda do Item em uma Linha, neste caso sempre será em duas linhas.
1 - irá tentar vender e imprimir a venda do item em uma linha, sempre que possivel.

· Observações:
O Valor Default desta chave é 1(um).

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_Registry_VendeItemUmaLinha("1")

· Exemplo em Delphi 7.0:
Int_Retorno := Daruma_Registry_VendeItemUmaLinha('1');


Daruma_Registry_XAutomatica(Índice 14)

Método: Daruma_Registry_XAutomatica [Índice 14]
Previous Top Next

· Definição do Método:
A Dll irá efetuar uma LeituraX automaticamente ao perceber que existe esta necessidade, porque? porque no ECF Daruma existe o conceito da Abertura de DIA, ou seja, o DIA na Impressora é aberto com uma LeituraX, e ao enviar o primeiro método para o ECF, e o ECF tiver uma Redução Z Pendente e esta chave estiver a 1(um) então a dll irá efetuar a X automaticamente.

· Parâmetros da Método:
0 - Não efetua a Leitura X Automaticamente, deixa isso a cargo da aplicação.
1 - Irá efetuar a Leitura X Automaticamente ao perceber que existe uma LeituraX Pendente para Abrir o Dia.

· Observações:
O Valor Default desta chave é 1(um).

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_Registry_XAutomatica("1")

· Exemplo em Delphi 7.0:
Int_Retorno := Daruma_Registry_XAutomatica('1');


Daruma_Registry_ZAutomatica(Índice 15)

Método: Daruma_Registry_ZAutomatica [Índice 15]
Previous Top Next

· Definição do Método:
O Mesmo que acontece com a LeituraZ, a Impressora Daruma trabalha com o Conceito de não permitir que a Redução Z aconteça automaticamente, por isso voec deve "setar" esta chave para 1(um) caso você deseje que a Redução Z passe a ser executada de forma automatica.

· Parâmetros da Método:
0 - Não efetua a Redução Z Automaticamente, deixa isso a cargo da aplicação.
1 - Irá efetuar a Redução Z Automaticamente ao perceber que existe uma LeituraX Pendente para Abrir o Dia.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- O Valor Default desta chave é 1(UM).
Atenção que Este Método anula completamente os valores da dll de ZAutomatica, ou seja, se você chama a Método Daruma_FI_CfgRedZAutomatico e passar os Valores a 1(um) para a dll Fazer Automaticamente, e se você chamar Este Método para que nao faça a Redução Z Automatica de nada adiantará, ou seja, para que o ECF nem a DLL realiza a Z Automaticamente e sim que seja comandada por seu aplicativo você deverá chamar Este Método com o Valor 0(Zero) e a Método Daruma_FI_CfgRedZAutomatico com o Valor também 0(zero) com isso nem a dll nem o ECF irá Efetuar a Redução Z Automaticamente deixando Este Método totalmente a cargo de seu aplicativo.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_Registry_ZAutomatica("1")

· Exemplo em Delphi 7.0:
Int_Retorno := Daruma_Registry_ZAutomatica('1');


Daruma_Registry_TerminalServer(Índice 21)

Método: Daruma_Registry_TerminalServer [Índice 21]
Previous Top Next

· Definição do Método:
Esta Chave indica para a Dll que deverá trabalhar através de Endereço IP e não através de Porta Serial.

· Parâmetros da Método:
0 - Trabalha com Porta Serial Local.
1 - Trabalha com Terminal Server - Através do Endereço IP do Servidor.

· Observações:
- O Valor Default desta chave é 0(Zero).
- Esta Chave só deve ser alterada quando utilizada a DLL Versão SERVER, que deverá ser Copiada no Servidor. Para Mais informação em como utilizar o ECF com Terminal Sever verifique o topido específico neste Help.
- Caso esta Chave esteja "setada" para 1(um) e você não estiver utilizando-se da Arquitetura Terminal Server, então a - Comunicação não poderá ser efetuada com o ECF devolvendo (ZERO) nas Método que você chamar, ou seja, Erro de Comunicação.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_Registry_TerminalServer("1")

· Exemplo em Delphi 7.0:
Int_Retorno := Daruma_Registry_TerminalServer('1');


Daruma_Registry_AbrirDiaFiscal(Índice 23)

Método: Daruma_Registry_AbrirDiaFiscal [Índice 23]
Previous Top Next

· Definição do Método:
A Impressora Daruma, necessita que seja efetuado uma LeituraX para a emissão do primeiro Cupom Fiscal, por isso foi criada esta chave, para que você possa configurar o que deseja, se a dll faz a LeituraX automaticamente ou não, você poderá escolher a opção desejada apenas colocando 0(não) ou 1(um) nesta chave. Com a Chave a 1(um) ao solicitar uma Venda, através das Método Daruma_FI_AbreCupom ou Daruma_FI_VendeItem

· Parâmetros da Método:
0 - Não efetua a Leitura X Automaticamente, deixa isso a cargo da aplicação.
1 - Irá efetuar a Leitura X Automaticamente ao perceber que existe uma LeituraX Pendente para Abrir o Dia.

· Observações:
- O Valor Default desta chave é 1(um).

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_Registry_AbrirDiaFiscal("1")

· Exemplo em Delphi 7.0:
Int_Retorno := Daruma_Registry_AbrirDiaFiscal('1');


Daruma_Registry_IgnorarPoucoPapel(Índice 24)

Método: Daruma_Registry_IgnorarPoucoPapel [Índice 24]
Previous Top Next

· Definição do Método:
Esta Chave tem por Default o Valor 1(um) ou seja, não trata o pouco papel, sendo assim quando o ECF indicar Pouco Papel a dll nao ira retonar o -27 (caso seja programado para isso na Funcao Daruma_Registry_StatusFuncao) e tampouco retornará 64 no Byte de Status 2, conforme tabela de decodificação de Erro.

· Parâmetros da Método:
0 - Passa a considerar o Sinal de Pouco Papel, devolvendo -27 na Funcao ou 64 no Bit de Status.
1 - Passa a Não considerar o sinal de pouco papel, devolvendo sempre 1(um) na Método quando o ECF sinalizar POUCO PAPEL.

· Observações:
- O Valor Default desta chave é 1(UM).

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

1: OK, Sucesso ao Configurar o Registry.
-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_Registry_IgnorarPoucoPapel("1")

· Exemplo em Delphi 7.0:
Int_Retorno := Daruma_Registry_IgnorarPoucoPapel('1');


Daruma_Registry_ImprimeRegistry(Índice 18)

Método: Daruma_Registry_ImprimeRegistry [Índice 18]
Previous Top Next

· Definição do Método:
Imprime a Configuração Atual do Registry, passe o produto como Referencia que será impressor no Relatório Gerencial as configurações do Registry do produto passado como parâmetro..

· Parâmetros da Método:
String com o Nome do Produto que podem ser as seguintes Strings:
ECF - Refere-se a Impressora Fiscal.
DUAL - Refere-se a Impressora Não Fiscal, Miniimpressora.
ECFR - Refere-se a Impressora Fiscal para Restaurantes.
ECFB - Refere-se a Impressora Fiscal para Bilhete de Passagem Rodoviaria
TA1000 - Refere-se ao MicroTerminal TA1000

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Produto As String
Str_Produto = InputBox("Entre com o nome do Produto a ser impresso:", "Daruma Framework", "ECF")
If Str_Produto = "" Then
Exit Sub
End If
Int_Retorno = Daruma_Registry_ImprimeRegistry(Str_Produto)

· Exemplo em Delphi 7.0:
var
Str_Produto: String;
begin
Str_Produto := InputBox('Entre com o nome do Produto a ser impresso:', 'Daruma Framework', 'ECF' );
if Str_Produto = '' Then
Exit;

Int_Retorno := Daruma_Registry_ImprimeRegistry( pchar(Str_Produto) );


Daruma_Registry_RetornaValor(Índice 19)

Método: Daruma_Registry_RetornaValor [Índice 19]
Previous Top Next

· Definição do Método:
Retorna o Valor de uma Chave do Registry da DARUMA32.dll.

· Parâmetros da Método:
String com o Nome do produto que podem ser:
ECF - Refere-se a Impressora Fiscal.
DUAL - Refere-se a Impressora Não Fiscal, Miniimpressora.
ECFR - Refere-se a Impressora Fiscal para Restaurantes.
ECFB - Refere-se a Impressora Fiscal para Bilhete de Passagem Rodoviaria
TA1000 - Refere-se ao MicroTerminal TA1000

1. String com o Nome da Chave do produto
2. String por Referencia com 50 espaços alocados para que possa retornar na variável o valor da Chave que você deseja.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Nome_do_Produto As String
Dim Str_Chave As String
Dim Str_Retorno As String

Str_Retorno = Space(50)
Str_Nome_do_Produto = InputBox("Entre com o Nome do Produto:", "Daruma Framework", "ECF")
Str_Chave = InputBox("Entre com o Nome da Chave para Saber o seu Valor:", "Daruma Framework", "Log")

If Str_Nome_do_Produto = "" Or Str_Chave = "" Then
Exit Sub
End If

Int_Retorno = Daruma_Registry_RetornaValor(Str_Nome_do_Produto, Str_Chave, Str_Retorno)
MsgBox Str_Nome_do_Produto + " \ " + Str_Chave + " = " + Str_Retorno, vbInformation, "Daruma Framwork"

· Exemplo em Delphi 7.0:
var
Str_Nome_do_Produto: String;
Str_Chave: String;
Str_Retorno: String;
begin
Str_Retorno := StringOFChar(#0,50);
Str_Nome_do_Produto := InputBox('Entre com o Nome do Produto:', 'Daruma Framework', 'ECF');
Str_Chave := InputBox('Entre com o Nome da Chave para Saber o seu Valor:', 'Daruma Framework', 'Log');
if (Str_Nome_do_Produto = '')or(Str_Chave = '') Then
Exit;

Int_Retorno := Daruma_Registry_RetornaValor(Str_Nome_do_Produto, Str_Chave, Str_Retorno);
Application.MessageBox(pchar(Str_Nome_do_Produto + ' \ ' + Str_Chave + ' = ' + Str_Retorno), 'Daruma Framework', mb_ok + 32);


Daruma_Registry_Default(Índice 20)

Método: Daruma_Registry_Default [Índice 20]
Previous Top Next

· Definição do Método:
Zera as Configurações realizadas no Registry deixando o Registry com seus Valores Default.

· Parâmetros da Método:
Não Há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_Registry_Default()

· Exemplo em Delphi 7.0:
int_Retorno := Daruma_Registry_Default();


Daruma_Registry_ErroExtendidoOk(Índice 22)

Método: Daruma_Registry_ErroExtendidoOk [Índice 22]
Previous Top Next

· Definição do Método:
O Método Daruma_FI_RetornaErroExtendido, devolve para o aplicativo o erro sinalizado pelo ECF, com esta chave você poderá configurar qual o valor que você deseja retornar caso o ECF retorne OK, o default desta chave é "000" para Tudo OK com o Ecf na chamada dO Método Daruma_FI_RetornaErroExtendido.

· Parâmetros do Método:
Código com três dígitos que você deseja que seja retornado, por Exemplo, se você deseja que seja retornando "000" quando o ECF retornar OK, você deve passar "000" no parâmetro dEste Método.

· Observações:
O Valor Default desta chave é "000".

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Valor_do_ErroExt As String

Str_Valor_do_ErroExt = InputBox("Entre com um Valor para o Erro Extendido:", "Daruma Framework", "000")

If Str_Valor_do_ErroExt = "" Then
Exit Sub
End If

Int_Retorno = Daruma_Registry_ErroExtendidoOk(Str_Valor_do_ErroExt)

· Exemplo em Delphi 7.0:
var
Str_Valor_do_ErroExt: String;
begin
Str_Valor_do_ErroExt := InputBox('Entre com um Valor para o Erro Extendido:', 'Daruma Framework', '000');
if Str_Valor_do_ErroExt = '' Then
Exit;

Int_Retorno := Daruma_Registry_ErroExtendidoOk( pchar(Str_Valor_do_ErroExt) );


Daruma_Registry_Velocidade(Índice 28)

Método: Daruma_Registry_Velocidade [Índice 28]
Previous Top Next

· Definição do Método:
Este Método permite a você configurar a velocidade da porta serial de 9600 ou 38400 na FS600.

· Parâmetros do Método:

· Observações:
O Valor Default desta chave é "9600".

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Valor_do_ErroExt As String

Str_Valor_do_ErroExt = InputBox("Entre com um Valor para o Erro Extendido:", "Daruma Framework", "000")

If Str_Valor_do_ErroExt = "" Then
Exit Sub
End If

Int_Retorno = Daruma_Registry_ErroExtendidoOk(Str_Valor_do_ErroExt)

· Exemplo em Delphi 7.0:
var
Str_Valor_do_ErroExt: String;
begin
Str_Valor_do_ErroExt := InputBox('Entre com um Valor para o Erro Extendido:', 'Daruma Framework', '000');
if Str_Valor_do_ErroExt = '' Then
Exit;

Int_Retorno := Daruma_Registry_ErroExtendidoOk( pchar(Str_Valor_do_ErroExt) );


Daruma_Registry_AplMensagem1(Índice 36)

Método: Daruma_Registry_AplMensagem1 [Índice 36]
Previous Top Next

· Definição do Método:
Este Método possibilita a programacao da mensagem do software aplicativo.

· Parâmetros do Método:
Mensagem do aplicativo com 42 bytes.
· Observações:
O Valor Default desta chave é "000".

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_AplMensagem_1 As String
Str_AplMensagem_1 = InputBox("Entre com a Mensagem de seu Aplicativo:", "Daruma Framework", "DARUMA32 FrameWork Mensagem Não Programada")
If Str_AplMensagem_1 = "" Then
Exit Sub
End If
Int_Retorno = Daruma_Registry_AplMensagem1(Str_AplMensagem_1)

· Exemplo em Delphi 7.0:
var
Str_AplMensagem_1: String;
begin
Str_AplMensagem_1:= InputBox('Entre com a Mensagem de seu Aplicativo:', 'Daruma Framework', 'DARUMA32 FrameWork Mensagem Não Programada');
If Str_AplMensagem_1 = '' Then
Exit;
Int_Retorno := Daruma_Registry_AplMensagem1(pchar(Str_AplMensagem_1));


Daruma_Registry_AplMensagem2(Índice 37)

Método: Daruma_Registry_AplMensagem2 [Índice 37]
Previous Top Next

· Definição do Método:
Este Método possibilita a programacao da mensagem do software aplicativo.

· Parâmetros do Método:
Mensagem do aplicativo com 42 bytes.
· Observações:
O Valor Default desta chave é "000".

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Private Sub MN_Daruma_Registry_AplMensagem_2_Click()
Dim Str_AplMensagem_2 As String
Str_AplMensagem_2 = InputBox("Entre com a Mensagem de seu Aplicativo:", "Daruma Framework", "DARUMA32 FrameWork Mensagem Não Programada")
If Str_AplMensagem_2 = "" Then
Exit Sub
End If
Int_Retorno = Daruma_Registry_AplMensagem2(Str_AplMensagem_2)

· Exemplo em Delphi 7.0:
var
Str_AplMensagem_1: String;
begin
Str_AplMensagem_1:= InputBox('Entre com a Mensagem de seu Aplicativo:', 'Daruma Framework', 'DARUMA32 FrameWork Mensagem Não Programada');
If Str_AplMensagem_1 = '' Then
Exit;
Int_Retorno := Daruma_Registry_AplMensagem1(pchar(Str_AplMensagem_1));


Daruma FrameworkTabela de Retornos ST1 e ST2

Tabela de Retornos - ST1 e ST2

· Definição do Método:
Todos os métodos, executadas na impressora, possuem bytes de retorno, que significam o estado atual após o envio. Cada byte é tratado da seguinte maneira:

tabela de erros

Lógica de Tratamento

Cada byte é composto de 8 bits. Cada bit, dentro do byte, tem um valor, conforme a tabela acima:

O valor recebido da impressora para ST1(status 1) e/ou ST2(status 2) deve ser comparado com cada bit.

As linhas abaixo são uma forma de você desenvolver um pedaço de código para saber quais bits estão "setados":

Codificando o ST1

If St1 >= 128 Then // bit 7
St1 = St1 - 128
sMsg = "O papel acabou"
End If
If St1 >= 64 Then // bit 6
St1 = St1 - 64
sMsg = "O papel esta acabando"
End If
If St1 >= 32 Then // bit 5
St1 = St1 - 32
sMsg = "Erro no relógio da impressora"
End If
If St1 >= 16 Then // bit 4
St1 = St1 - 16
sMsg = "Impressora em erro"
End If
If St1 >= 8 Then // bit 3
St1 = St1 - 8
sMsg = "Primeiro dado do método não foi ESC"
End If
If St1 >= 4 Then // bit 2
St1 = St1 - 4
sMsg = "Método inexistente"
End If
If St1 >= 2 Then // bit 1
St1 = St1 - 2
sMsg = "Cupom fiscal aberto"
End If
If St1 >= 1 Then // bit 0
St1 = St1 - 1
sMsg = "Número de parâmetro(s) inválido(s)"
End If

Codificando o ST2

If St2 >= 128 Then // bit 7
St2 = St2 - 128
sMsg = "Tipo de parâmetro do método inválido"
End If
If St2 >= 64 Then // bit 6
St2 = St2 - 64
sMsg = "Memória fiscal cheia"
End If
If St2 >= 32 Then // bit 5
St2 = St2 - 32
sMsg = "Erro na memória RAM"
End If
If St2 >= 16 Then // bit 4
St2 = St2 - 16
sMsg = "Alíquota não definida"
End If
If St2 >= 8 Then // bit 3
St2 = St2 - 8
sMsg = "Capacidade de alíquotas esgotada"
End If
If St2 >= 4 Then // bit 2
St2 = St2 - 4
sMsg = "Este cancelamento não é permitido"
End If
If St2 >= 2 Then // bit 1
St2 = St2 - 2
sMsg = "CNPJ/IE do Proprietário não definidos"
End If
If St2 >= 1 Then // bit 0
St2 = St2 - 1
sMsg = "Método não executado"
End If

Teste o exemplo acima com ST1 = 66, e repare que você terá dois erros, o papel está acabando (64) e cupom aberto (2).


Daruma_FI_StatusCupomFiscal(Índice 1404)

Método: Daruma_FI_StatusCupomFiscal [Índice 1404]
Previous Top Next

· Definição do Método:
Retorna o status Cupom Fiscal, se o mesmo esta Aberto ou Fechado.

· Parâmetros do Método:
String com DOIS espaços alocados para escrita do Status.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Devolverá 0(zero) para Cupom Fechado e 1(um) para Cupom Aberto

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(2)
Int_Retorno = Daruma_FI_StatusCupomFiscal(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,2);

Int_Retorno := Daruma_FI_StatusCupomFiscal( pchar( Str_Informacao ) );


Daruma_FI_StatusRelatorioGerencial(Índice 1405)

Método: Daruma_FI_StatusRelatorioGerencial [Índice 1405]
Previous Top Next

· Definição do Método:
Retorna o status do Relatório Gerencial, se o mesmo esta Aberto ou Fechado.

· Parâmetros do Método:
String com DOIS espaços alocados para escrita do Status.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Devolverá 0(zero) para Relatório Fechado e 1(um) para Relatório Aberto

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(2)
Int_Retorno = Daruma_FI_StatusRelatorioGerencial(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,2);
Int_Retorno := Daruma_FI_StatusRelatorioGerencial( pchar(Str_Informacao) );


Daruma_FI_StatusComprovanteNaoFiscalVinculado(Índice 1403)

Método: Daruma_FI_StatusComprovanteNaoFiscalVinculado [Índice 1403]
Previous Top Next

· Definição do Método:
Retorna o status do Comprovante Não Fiscal Vinculado, se o mesmo esta Aberto ou Fechado.

· Parâmetros do Método:
String com DOIS espaços alocados para escrita do Status.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Devolverá 0(zero) para Relatório Fechado e 1(um) para Relatório Aberto

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(2)
Int_Retorno = Daruma_FI_StatusComprovanteNaoFiscalVinculado(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,2);
Int_Retorno := Daruma_FI_StatusComprovanteNaoFiscalVinculado( pchar(Str_Informacao) );


Daruma_FI_VerificaImpressoraLigada(Índice 1400]

Método: Daruma_FI_VerificaImpressoraLigada [Índice 1400]
Previous Top Next

· Definição do Método:
Verifica se a impressora está ligada ou conectada no computador.

· Parâmetros do Método:
Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_VerificaImpressoraLigada()
If Int_Retorno = 1 Then
TX_Retorno.Text = " 1 - Impressora Ligada !!!"
Else
TX_Retorno.Text = " 0 - Impressora Desligada !!!"
End If

· Exemplo em Delphi 7.0:
begin
Int_Retorno := Daruma_FI_VerificaImpressoraLigada();
If Int_Retorno = 1 Then
Edit1.Lines.Text:= (' 1 - Impressora Ligada !!')
else
Edit1.Lines.Text:= (' 0 - Impressora Desligada !!');


Daruma_FI_VerificaModeloECF(Índice 1469)

Método: Daruma_FI_VerificaModeloECF [Índice 1469]
Previous Top Next

· Definição do Método:
Retorna 1 (um) Inteiro com Modelo do ECF.

· Valores Retornados no Int_Retorno:
1 - FS345 - Impressora de varejo.
2 - FS318 - Impressora para restaurantes.
3 - FS2000 - Impressora de duas estações.

· Parâmetros do Método:
Não Há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_VerificaModeloECF()
TX_Retorno.Text = Int_Retorno
Int_MostrarRetorno

· Exemplo em Delphi 7.0:
var Int_Informacao: Integer;
begin
Int_Retorno := Daruma_FI_VerificaModeloEcf();
Edit1.Lines.Text := IntToStr(Int_Informacao);


Daruma_FI_VerificaHorarioVerao(Índice 1494)

Método: Daruma_FI_VerificaHorarioVerao [Índice 1494]
Previous Top Next

· Definição do Método:
Retorna se o relógio da impressora está em horário de verão.
0 - Relógio da Impressora não programado para horário de verão.
1 - Relógio da Impressora programado para horário de verão.

· Parâmetros do Método:
String com DOIS espaços alocados para escrita do Status.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(2)
Int_Retorno = Daruma_FI_VerificaHorarioVerao(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,2);
Int_Retorno := Daruma_FI_VerificaHorarioVerao(Str_Informacao);
Edit1.Text := (Str_Informacao);


Daruma_FI_VerificaZPendente(Índice 1488)

Método: Daruma_FI_VerificaZPendente [Índice 1488]
Previous Top Next

· Definição do Método:
Retorna se a ReduçãoZ está pendente.
1(um) para ReduçãoZ Pendente e 0(zero) para ReduçãoZ já executada.
· Parâmetros do Método:
String com DOIS espaços alocados para escrita do Status.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(2)
Int_Retorno = Daruma_FI_VerificaZPendente(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,2);
Int_Retorno := Daruma_FI_VerificaZPendente( pchar(Str_Informacao) );
Edit1.Text := (Str_Informacao);


Daruma_FI_VerificaXPendente(Índice 1489)

Método: Daruma_FI_VerificaXPendente [Índice 1489]
Previous Top Next

· Definição do Método:
Retorna se a LeituraX está pendente.
1(um) para LeituraX Pendente e 0(zero) para LeituraX já executada.

· Parâmetros do Método:
String com DOIS espaços alocados para escrita do Status.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(2)
Int_Retorno = Daruma_FI_VerificaXPendente(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,2);
Int_Retorno := Daruma_FI_VerificaXPendente(Str_Informacao);
Edit1.Text := (Str_Informacao);


Daruma_FI_VerificaDiaAberto(Índice 1487)

Método: Daruma_FI_VerificaDiaAberto [Índice 1487]
Previous Top Next

· Definição do Método:
Retorna se a o dia está aberto.
1(um) Se o dia estiver Aberto e 0(zero) Se o dia estiver Fechado.

· Parâmetros do Método:
String com DOIS espaços alocados para escrita do Status.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(2)
Int_Retorno = Daruma_FI_VerificaDiaAberto(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,2);
Int_Retorno := Daruma_FI_VerificaDiaAberto(Str_Informacao);
Edit1.Text := (Str_Informacao);


Daruma_FI_VerificaTipoImpressora(Índice 1444)

Método: Daruma_FI_VerificaTipoImpressora [Índice 1444]
Previous Top Next

· Definição do Método:
Retorna o tipo de impressora.

· Parâmetros do Método:
Tipo Impressora: Variável inteira para receber o tipo da impressora (veja abaixo em "Observações" os valores retornados).

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Observações:
- O valor do tipo de impressora pode ser:

1 - Impressora fiscal, gaveta, autenticaçao.
2 - Impressora fiscal, gaveta, cutter.
3 - Impressora fiscal, presenter, autenticaçao.
4 - Impressora fiscal, presenter, cutter.
5 - Impressora bilhete de passagem, gaveta, autenticaçao.
6 - Impressora bilhete de passagem, gaveta, cutter.
7 - Impressora bilhete de passagem, presenter, autenticaçao.
8 - Impressora bilhete de passagem, presenter, cutter.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Informacao = 0
Int_Retorno = Daruma_FI_VerificaTipoImpressora(Int_Informacao)
TX_Retorno.Text = Int_Informacao

· Exemplo em Delphi 7.0:
var Int_Informacao: Integer;
begin
Int_Informacao := 0;
Int_Retorno := Daruma_FI_VerificaTipoImpressora( Int_Informacao );
Edit1.Text := (Str_Informacao);


Daruma_FI_VerificaDescricaoFormasPagamento(Índice 1449)

Método: Daruma_FI_VerificaDescricaoFormasPagamento[Índice 1449]
Previous Top Next

· Definição do Método:
Retorna Apenas a Descrição das Formas de Pagamento que Estão Programadas no ECF.

· Parâmetros do Método:
Formas Pagamento: Variável String com 275 posições para receber as formas programadas.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método retorna as informações das formas de pagamento na seguinte ordem:

Descrição da forma de pagamento.....................: 16 bytes
+ 1 caráctere Separador, conforme configurado no Registry com o Método Daruma_Registry_Separador.

- São retornadas 16 formas de pagamento :

Ticket ,Dinheiro ,Cartao ,A vista ,TEF ,Teste1 ,Teste2 ,Pagamento Tipo H,Pagamento Tipo I,Pagamento Tipo J,Pagamento Tipo K,Pagamento Tipo L,Pagamento Tipo M,Pagamento Tipo N,Pagamento Tipo O,Pagamento Tipo P,

- A impressora permite programar até 16 formas de pagamento, as formas que não estiverem programadas estarão com os valores zerados e a descrição em branco (veja Exemplos acima).

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(275)
Int_Retorno = Daruma_FI_VerificaDescricaoFormasPagamento(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,275);
Int_Retorno := Daruma_FI_VerificaDescricaoFormasPagamento(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_VerificaFormasPagamento(Índice 1442)

Método: Daruma_FI_VerificaFormasPagamento [Índice 1442]
Previous Top Next

Atenção!!!
Este método está descontinuado, favor utilizar Daruma_FI_VerificaFormasPagamentoEx (indice1486)


Daruma_FI_VerificaFormasPagamentoEx(Índice 1448)

Método: Daruma_FI_VerificaFormasPagamentoEx [Índice 1448]
Previous Top Next

· Definição do Método:
Retorna as formas de pagamento e seus valores acumulados.

· Parâmetros do Método:
Formas Pagamento: Variável String com 1027 posições para receber as formas programadas.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método retorna as informações das formas de pagamento na seguinte ordem:

Descrição da forma de pagamento.....................: 16 bytes
Valor acumulado (2 casas decimais)..................: 20 bytes
Valor recebido no último cupom (2 casas decimais)...: 20 bytes
Valor indicando se a forma foi usada para a emissão
+ 1 caráctere Separador, conforme configurado no Registry com o Método Daruma_Registry_Separador.

- São retornadas16 formas de pagamento mais a forma "Valor Recebido" e "Troco" obedecendo a ordem descrita anteriormente. As formas de pagamento são separadas por vírgula. Veja Exemplos a seguir:

Ticket 0000000000000000000000000000000000000000,
Dinheiro 0000000000000002000000000000000000010000,
Cartao 0000000000000000000000000000000000000000,
A vista 0000000000000000000000000000000000000000,
TEF 0000000000000000000000000000000000000000,
Teste1 0000000000000000000000000000000000000000,
Teste2 0000000000000000000000000000000000000000, 0000000000000000000000000000000000000000,
0000000000000000000000000000000000000000,
0000000000000000000000000000000000000000,
0000000000000000000000000000000000000000,
0000000000000000000000000000000000000000,
0000000000000000000000000000000000000000,
0000000000000000000000000000000000000000,
0000000000000000000000000000000000000000,
0000000000000000000000000000000000000000,
Valor Recebido 0000000000000002000000000000000000010000,
Troco 0000000000000001945000000000000000009725,
- A impressora permite programar até 16 formas de pagamento, as formas que não estiverem programadas estarão com os valores zerados e a descrição em branco (veja Exemplos acima).

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(1000)
Int_Retorno = Daruma_FI_VerificaFormasPagamentoEx(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,1027);
Int_Retorno := Daruma_FI_VerificaFormasPagamentoEx(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_VerificaEstadoImpressora(Índice 1401)

Método: Daruma_FI_VerificaEstadoImpressora [Índice 1401]
Previous Top Next

· Definição do Método:
Retorna o estado da impressora.

Parâmetros do Método:
1. ACK: Variável inteira para receber o primeiro byte.
2. ST1: Variável inteira para receber o segundo byte.
3. ST2: Variável inteira para receber o terceiro byte.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método devolve o status da impressora (Retorno da Impressora).

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Int_Estado_Ack As Integer
Dim Int_Estado_St1 As Integer
Dim Int_Estado_St2 As Integer
Int_Estado_Ack = 0
Int_Estado_St1 = 0
Int_Estado_St2 = 0
Int_Retorno = Daruma_FI_VerificaEstadoImpressora(Int_Estado_Ack, Int_Estado_St1, Int_Estado_St2)
TX_Retorno.Text = " Ack=" + CStr(Int_Estado_Ack) + " St1=" + CStr(Int_Estado_St1) + " St2=" + CStr(Int_Estado_St2)

· Exemplo em Delphi 7.0:
var
Int_Daruma_ACK: Integer;
Int_Daruma_ST1: Integer;
Int_Daruma_ST2: Integer;
begin
Int_Daruma_ACK := 0;
Int_Daruma_ST1 := 0;
Int_Daruma_ST2 := 0;
Int_Retorno:= Daruma_FI_VerificaEstadoImpressora( Int_Daruma_ACK, Int_Daruma_ST1, Int_Daruma_ST2 );
Edit1.Lines.Text := (' ACK=' + IntToStr(Int_Daruma_ACK) + ' ST1=' + IntToStr(Int_Daruma_ST1) + ' ST2=' + InttoStr(Int_Daruma_ST2));


Daruma_FI_VerificaAliquotasIss(Índice 1440)

Método: Daruma_FI_VerificaAliquotasIss [Índice 1440]
Previous Top Next

· Definição do Método:
Retorna as alíquotas de vinculação ao ISS.

· Parâmetros do Método:
Aliquotas Iss: Variável String com 79 posições para receber as alíquotas vinculadas ao Iss.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- As alíquotas retornadas estarão separadas por vírgula. Ex.: 1800,1200,1500
- Para isento utilize II
- Para não tributado NN
- Para substituição FF
Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(79)
Int_Retorno = Daruma_FI_VerificaAliquotasIss(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,79);
Int_Retorno := Daruma_FI_VerificaAliquotasIss(Str_Informacao);


Daruma_FI_VerificaIndiceAliquotasIss(Índice 1445)

Método: Daruma_FI_VerificaIndiceAliquotasIss [Índice 1445]
Previous Top Next

· Definição:
Retorna os índices das alíquotas de ISS.

· Parâmetros do Método:
Índice Alíquotas: Variável String com o tamanho de 48 posições para receber os índices das alíquotas de ISS.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Os índices retornados estarão separados por vírgula. Ex.: 02,03,04

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(48)
Int_Retorno = Daruma_FI_VerificaIndiceAliquotasIss(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,48);
Int_Retorno := Daruma_FI_VerificaIndiceAliquotasIss(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_VerificaTotalizadoresNaoFiscais(Índice 1436)

Método: Daruma_FI_VerificaTotalizadoresNaoFiscais [Índice 1436]
Previous Top Next

Atenção!!!
Este método está descontinuado, favor utilizar Daruma_FI_VerificaFormasPagamentoEx (indice1486)


Daruma_FI_VerificaTotalizadoresNaoFiscaisEx(Índice 1486)

Método: Daruma_FI_VerificaTotalizadoresNaoFiscaisEx [Índice 1486]
Previous Top Next

· Definição do Método:
Retorna a descrição dos totalizadores não fiscais programados na impressora com o Método
Daruma_FI_NomeiaTotalizadorNaoSujeitoIcms

· Parâmetros do Método:
Totalizadores: Variável String com 300 posições para receber a descrição dos totalizadores não fiscais programados.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Os totalizadores virão separados por vírgula.
- Este Método retorna somente os 16 primeiros cadastrados.
- Ex. Sangria,Suprimento,Conta de Luz, etc...

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(300)
Int_Retorno = Daruma_FI_VerificaTotalizadoresNaoFiscaisEx(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,300);
Int_Retorno := Daruma_FI_VerificaTotalizadoresNaoFiscaisEx(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_VerificaEpromConectada(Índice 1432)

Método: Daruma_FI_VerificaEpromConectada [Índice 1432]
Previous Top Next

· Definição do Método:
Verifica se a Eprom está conectada.

· Parâmetros do Método:
FlagEprom: Variável String com 2 posições para receber o flag de Eprom conectada. Onde:
1 - Eprom conectada.
0 - Eprom desconectada.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(2)
Int_Retorno = Daruma_FI_VerificaEpromConectada(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,2);
Int_Retorno := Daruma_FI_VerificaEpromConectada(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_VerificaRecebimentosNaoFiscal(Índice 1443)

Método: Daruma_FI_VerificaRecebimentoNaoFiscal [ndice 1443]
Previous Top Next

· Definição do Método:
Retorna os recebimentos não fiscais não vinculados programados na impressora.

· Parâmetros do Método:
Recebimentos: Variável String com 2200 posições para receber as informações.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:

- Este Método retorna as informações para os 50 totalizadores não fiscais não vinculados na seguinte ordem:

Valor indicando quantas vezes cada recebimento foi utilizado: 4 bytes
Valor acumulado para cada recebimento (2 casas decimais)....: 20 bytes

000100000000000000001000Conta de Luz ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000

- A impressora permite programar até 50 totalizadores não fiscais não vinculados, os totalizadores que não estiverem programados estarão com os valores zerados e a descrição em branco (veja Exemplos acima).

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(2200)
Int_Retorno = Daruma_FI_VerificaRecebimentoNaoFiscal(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,2200);
Int_Retorno := Daruma_FI_VerificaRecebimentoNaoFiscal(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_VerificaTruncamento(Índice 1439)

Método: Daruma_FI_VerificaTruncamento [Índice 1439]
Previous Top Next

· Definição do Método:
Retorna 1 se a impressora estiver no modo truncamento e 0 se estiver no modo arredondamento.

· Parâmetros do Método:
Truncamento: Variável String com 2 posições para receber o retorno. Onde:
1 - Impressora programada para Truncar.
2 - Impressora programada para Arredondar.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(2)
Int_Retorno = Daruma_FI_VerificaTruncamento(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,2);
Int_Retorno := Daruma_FI_VerificaTruncamento(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_VerificaModoOperacao(Índice 1431)

Método: Daruma_FI_VerificaModoOperacao [Índice 1431]
Previous Top Next

· Definição do Método:
Verifica se a impressora está em modo normal ou em intervenção técnica.

· Parâmetros do Método:
Modo Operação: Variável String com 2 posições para receber o modo de operação da impressora. Onde:
1 - Modo normal
0 - Intervenção técnica.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(2)
Int_Retorno = Daruma_FI_VerificaModoOperacao(Str_Informacao)
If Str_Informacao = 1 Then
TX_Retorno.Text = " 1 - Impressora em Modo Operacional !!!"
Else
TX_Retorno.Text = " 0 - Impressora em Modo de Intervenção Técnica !!!"
End If

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,2);
Int_Retorno := Daruma_FI_VerificaModoOperacao(Str_Informacao);
if Str_Informacao = '1' Then
begin
Edit1.Lines.Text := (' 1 - Impressora em Modo Operacional !!');
end
else
begin
Edit1.Lines.Text := (' 0 - Impressora em Modo de Intervencao Tecnica !!');
end;


Daruma_FI_VerificaTotalizadoresParciais(Índice 1407)

Método: Daruma_FI_VerificaTotalizadoresParciais [Índice 1407]
Previous Top Next

· Definição do Método:
Retorna os totalizadores parciais cadastrados na impressora com as seguintes informações:

· Parâmetros do Método:
Totalizadores: Variável String com o tamanho de 445 posições para receber os totalizadores parciais cadastrados.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Observações:
- São retornadas as seguintes informações separadas por vírgulas:

Totalizadores parciais tributados..........: 224 bytes
Isenção....................................: 14 bytes
Não insidência.............................: 14 bytes
Substitução................................: 14 bytes
Totalizadores parciais não sujeitos ao ICMS: 126 bytes
Sangria....................................: 14 bytes
Suprimento.................................: 14 bytes
Grande Total...............................: 18 bytes
Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(445)
Int_Retorno = Daruma_FI_VerificaTotalizadoresParciais(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,2);
Int_Retorno := Daruma_FI_VerificaModoOperacao(Str_Informacao);
if Str_Informacao = '1' Then
begin
Edit1.Lines.Text := (' 1 - Impressora em Modo Operacional !!');
end
else
begin
Edit1.Lines.Text := (' 0 - Impressora em Modo de Intervencao Tecnica !!');
end;


Daruma_FI_ClicheProprietario(Índice 1424)

Método: Daruma_FI_ClicheProprietario [Índice 1424]
Previous Top Next

este comado está descontinuado na dll, favor utilizar
Daruma_FI_ClicheProprietarioEx (Índice 1467)


Daruma_FI_ClicheProprietarioEx(Índice 1467)

Método: Daruma_FI_ClicheProprietarioEx [Índice 1467]
Previous Top Next

· Definição do Método:
Retorna o clichê do proprietário cadastrado na impressora.

· Parâmetros do Método:
ClicheProprietário: Variável String com 400 posições para receber clichê cadastrado.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(400)
Int_Retorno = Daruma_FI_ClicheProprietario(Str_Informacao)
TX_Retorno.Text = Str_Informacao
Daruma_MostrarRetorno

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,400);
Int_Retorno := Daruma_FI_ClicheProprietarioEx(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_NumeroCaixa(Índice 1425)

Método: Daruma_FI_NumeroCaixa [Índice 1425]
Previous Top Next

· Definição do Método:
Retorna o número do caixa cadastrado na impressora.

· Parâmetros do Método:
Número Caixa: Variável String com 4 posições para receber o número do caixa cadastrado na impressora.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(04)
Int_Retorno = Daruma_FI_NumeroCaixa(Str_Informacao)
TX_Retorno.Text = Str_Informacao
Daruma_MostrarRetorno

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,4);
Int_Retorno := Daruma_FI_NumeroCaixa(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_NumeroLoja(Índice 1426)

Método: Daruma_FI_NumeroLoja [Índice 1426]
Previous Top Next

· Definição do Método:
Retorna o número da loja cadastrado na impressora.

· Parâmetros do Método:
Número Loja: Variável String com 4 posições para receber o número da loja cadastrado na impressora.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(04)
Int_Retorno = Daruma_FI_NumeroLoja(Str_Informacao)
TX_Retorno.Text = Str_Informacao
Daruma_MostrarRetorno

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,4);
Int_Retorno := Daruma_FI_NumeroLoja(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_NumeroSerie(Índice 1411)

Método: Daruma_FI_NumeroSerie [Índice 1411]
Previous Top Next

· Definição do Método:
Retorna o número de série da impressora.

· Parâmetros do Método:
Número Série: Variável String com o tamanho de 15 posições para receber o número de série.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(15)
Int_Retorno = Daruma_FI_NumeroSerie(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,15);
Int_Retorno := Daruma_FI_NumeroSerie(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_VersaoFirmware(Índice 1412)

Método: Daruma_FI_VersaoFirmware [Índice 1412]
Previous Top Next

· Definição do Método:
Retorna a versão do firmware da impressora.

· Parâmetros do Método:
Versão Firmware: Variável String com o tamanho de 4 posições para receber a versão do firmware.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(4)
Int_Retorno = Daruma_FI_VersaoFirmware(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,4);
Int_Retorno := Daruma_FI_VersaoFirmware(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_CGC_IE(Índice 1413)

Método: Daruma_FI_CGC_IE [Índice 1413]
Previous Top Next

· Definição do Método:
Retorna o CGC e a Inscrição Estadual do cliente/proprietário cadastrado na impressora.

· Parâmetros do Método:
CGC: Variável String com 18 posições para receber o CGC.
IE: Variável String com 15 posições para receber a Inscrição Estadual.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_CGC As String
Dim Str_IE As String
Str_CGC = Space(18)
Str_IE = Space(15)
Int_Retorno = Daruma_FI_CGC_IE(Str_CGC, Str_IE)
TX_Retorno.Text = " CGC:" + Str_CGC + " IE:" + Str_IE

· Exemplo em Delphi 7.0:
var
Str_CGC: String;
Str_IE: String;
begin
SetLength (Str_CGC,18);
SetLength (Str_IE,15);
Int_Retorno := Daruma_FI_CGC_IE(Str_CGC, Str_IE);
Edit1.Lines.Text := Pchar(' CGC:' + Str_CGC + ' IE:' + Str_IE);


Daruma_FI_NumeroCupom(Índice 1417)

Método: Daruma_FI_NumeroCupom [Índice 1417]
Previous Top Next

· Definição do Método:
Retorna o número do cupom.

· Parâmetros do Método:
Número Cupom: Variável String com 6 posições para receber o número do último cupom.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Quando este médodo e execudado antes do cupom ser aberto, então o número retornado e o do próximo cupom.
- Quando este método e executado com o cupom aberto, então será retornado o número do cupom enm aberto.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(6)
Int_Retorno = Daruma_FI_NumeroCupom(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,6);
Int_Retorno := Daruma_FI_NumeroCupom(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_COO(Índice 1468)

Método: Daruma_FI_COO [Índice 1468]
Previous Top Next

· Definição do Método:
Retorna o número do cupom INICIAL e ATUAL do DIA em que não foi efetuando a Redução Za

· Parâmetros do Método:
1. Número Cupom INICIAL: Variável String com 6 posições para receber o número do Primeiro Cupom do DIA.
2. Número Cupom FINAL: Variável String com 6 posições para receber o número do último cupom Emitido.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_COO_Inicial As String
Dim Str_COO_Final As String
Str_COO_Inicial = Space(6)
Str_COO_Final = Space(6)
Int_Retorno = Daruma_FI_COO(Str_COO_Inicial, Str_COO_Final)
TX_Retorno.Text = " COO Inicial:" + Str_COO_Inicial + " COO Final:" + Str_COO_Final

· Exemplo em Delphi 7.0:
var
Str_COO_Inicial: String;
Str_COO_Final: String;
begin
SetLength (Str_COO_Inicial,6);
SetLength (Str_COO_Final,6);
Int_Retorno := Daruma_FI_COO (Str_COO_Inicial, Str_COO_Final);
Edit1.Lines.Text := pchar(' COO Inicial:' + Str_COO_Inicial + ' COO Final:' + Str_COO_Final);


Daruma_FI_MinutosImprimindo(Índice 1430)

Método: Daruma_FI_MinutosImprimindo [Índice 1430]
Previous Top Next

· Definição do Método:
Retorna o tempo em minutos que a impressora está ou esteve imprimindo.

· Parâmetros do Método:
Minutos Imprimindo: Variável String com 4 posições para receber os minutos em impressão.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(4)
Int_Retorno = Daruma_FI_MinutosImprimindo(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,4);
Int_Retorno := Daruma_FI_MinutosImprimindo(Str_Informacao);
Edit1.lines.Text := (Str_Informacao);


Daruma_FI_MinutosLigada(Índice 1429)

Método: Daruma_FI_MinutosLigada [Índice 1429]
Previous Top Next

· Definição do Método:
Retorna o tempo em minutos que a impressora está ligada.

· Parâmetros do Método:
Minutos Ligada: Variável String com 4 posições para receber os minutos em que a impressora está ligada.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Obsercação:
Este método retornará sempre zero, na FS600.
Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(4)
Int_Retorno = Daruma_FI_MinutosLigada(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,4);
Int_Retorno := Daruma_FI_MinutosLigada(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_NumeroSubstituicoesProprietario(Índice 1422)

Método: Daruma_FI_NumeroSubstituicoesProprietario [ndice 1422]
Previous Top Next

· Definição do Método:
Retorna o número de substituições de proprietário.

· Parâmetros do Método:
Substituições: Variável String com 4 posições para receber o número de substituições.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(4)
Int_Retorno = Daruma_FI_NumeroSubstituicoesProprietario(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,4);
Int_Retorno := Daruma_FI_NumeroSubstituicoesProprietario(Str_Informacao);
Edit1.lines.Text := (Str_Informacao);


Daruma_FI_NumeroIntervencoes(Índice 1421)

Método: Daruma_FI_NumeroIntervencoes [Índice 142]
Previous Top Next

· Definição do Método:
Retorna o número de intervenções técnicas realizadas na impressora.

· Parâmetros do Método:
Intervenções: Variável String com 4 posições para receber o número de intervenções.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(4)
Int_Retorno = Daruma_FI_NumeroIntervencoes(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,4);
Int_Retorno := Daruma_FI_NumeroIntervencoes(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_NumeroReducoes(Índice 1420)

Método: Daruma_FI_NumeroReducoes [Índice 1420]
Previous Top Next

· Definição do Método:
Retorna o número de reduções Z realizadas na impressora.

· Parâmetros do Método:
Reduções: Variável String com 4 posições para receber o número de Reduções Z.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(4)
Int_Retorno = Daruma_FI_NumeroReducoes(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,4);
Int_Retorno := Daruma_FI_NumeroReducoes(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_NumeroCuponsCancelados(Índice 1419)

Método: Daruma_FI_NumeroCuponsCancelados [Índice 1419]
Previous Top Next

· Definição do Método:
Retorna o número de cupons cancelados.

· Parâmetros do Método:
Cupons Cancelados: Variável String com o tamanho de 4 bytes para receber o número de cupons cancelados.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(4)
Int_Retorno = Daruma_FI_NumeroCuponsCancelados(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,4);
Int_Retorno := Daruma_FI_NumeroCuponsCancelados(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_NumeroOperacoesNaoFiscais(Índice 1418)

Método: Daruma_FI_NumeroOperacoesNaoFiscais [Índice 1418]
Previous Top Next

· Definição do Método:
Retorna o número de operações não fiscais executadas na impressora.

· Parâmetros do Método:
Operações: Variável String com 6 posições para receber o número de operações.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(6)
Int_Retorno = Daruma_FI_NumeroOperacoesNaoFiscais(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,6);
Int_Retorno := Daruma_FI_NumeroOperacoesNaoFiscais(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_DataHoraImpressora(Índice 1434)

Método: Daruma_FI_DataHoraImpressora [Índice 1434]
Previous Top Next

· Definição do Método:
Retorna a data e a hora atual da impressora.

· Parâmetros do Método:
1. Data: Variável String com 6 posições para receber a data atual da impressora no formato ddmmaa.
2. Hora: Variável String com 6 posições para receber a hora atual da impressora no formato hhmmss.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Data As String
Dim Str_Hora As String
Str_Data = Space(6)
Str_Hora = Space(6)
Int_Retorno = Daruma_FI_DataHoraImpressora(Str_Data, Str_Hora)
TX_Retorno.Text = " Data:" + Str_Data + " Hora:" + Str_Hora

· Exemplo em Delphi 7.0:
var
Str_Data: String;
Str_Hora: String;
begin
SetLength (Str_Data,6);
SetLength (Str_Hora,6);
Int_Retorno := Daruma_FI_DataHoraImpressora(Str_Data, Str_Hora );
Edit1.Lines.Text := Pchar(' Data: ' + Str_Data + ' Hora: ' + Str_Hora);


Daruma_FI_DataHoraReducao(Índice 1437)

Método: Daruma_FI_DataHoraReducao [Índice 1437]
Previous Top Next

· Definição do Método:
Retorna a data e a hora da última Redução Z.

· Parâmetros do Método:
1. Data Redução: Variável String com 6 posições para receber a data da última redução no formato ddmmaa.
2. Hora Redução: Variável String com 6 posições parar eceber a hora da última redução no formato hhmmss.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Data_Rdz As String
Dim Str_Hora_Rdz As String
Str_Data_Rdz = Space(6)
Str_Hora_Rdz = Space(6)
Int_Retorno = Daruma_FI_DataHoraReducao(Str_Data_Rdz, Str_Hora_Rdz)
TX_Retorno.Text = " Data:" + Str_Data_Rdz + " Hora:" + Str_Hora_Rdz

· Exemplo em Delphi 7.0:
var
Str_Data_Rdz: String;
Str_Hora_Rdz: String;
begin
SetLength (Str_Data_Rdz,6);
SetLength (Str_Hora_Rdz,6);
Int_Retorno := Daruma_FI_DataHoraReducao(Str_Data_Rdz, Str_Hora_Rdz );
Edit1.Lines.Text := pchar(' Data:' + Str_Data_Rdz + ' Hora:' + Str_Hora_Rdz);


Daruma_FI_DataMovimento(Índice 1438)

Método: Daruma_FI_DataMovimento [Índice 1438]
Previous Top Next

· Definição do Método:
Retorna a data do último movimento.

· Parâmetros do Método:
Data Movimento: Variável String com 6 posições para receber a data do movimento no formato ddmmaa.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Data_Mov As String
Str_Data_Mov = Space(6)
Int_Retorno = Daruma_FI_DataMovimento(Str_Data_Mov)
TX_Retorno.Text = " Data:" + Str_Data_Mov

· Exemplo em Delphi 7.0:
var
Str_Data_Mov: String;
begin
SetLength (Str_Data_Mov,6);
Int_Retorno := Daruma_FI_DataMovimento(Str_Data_Mov);
Edit1.Lines.Text := (' Data: ' + Str_Data_Mov);


Daruma_FI_ContadoresTotalizadoresNaoFiscais(Índice 1435)

Método: Daruma_FI_ContadoresTotalizadoresNaoFiscais [Índice 1435]
Previous Top Next

· Definição do Mátodo:
Retorna o número de vezes em que os totalizadores não sujeitos ao ICMS foram usados.

· Parâmetros do Método:
Contadores: Variável String com 44 posições para receber os contadores dos totalizadores.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- A impressora fiscal Daruma, permite a programação de até 50 totalizadores não fiscais, porém esse Método retorna somente os contadores dos 9 primeiros totalizadores cadastrados.
- O conteúdo da variável retornada será 36 dígitos separados de 4 em 4 por vírgura que representam os 9 primeiros totalizadores. Ex.: "0001,0003,0001,0005,0004,0002,0003,0004,0007"
- O primeiro valor corresponde ao número de vezes que o totalizador 01 foi usado, o segundo corresponde ao totalizador 02 e assim sucessivamente. A contagem Inicia-se do contador 03 em diante pois o 01 e 02 sempre sera Sangria e Suprimento.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(44)
Int_Retorno = Daruma_FI_ContadoresTotalizadoresNaoFiscais(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,44);
Int_Retorno := Daruma_FI_ContadoresTotalizadoresNaoFiscais(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_LerAliquotasComIndice(Índice 1483)

Método: Daruma_FI_LerAliquotasComIndice [Índice 1483]
Previous Top Next

· Definição do Método:
Retorna as alíquotas cadastradas na impressora com o Indice indicativo se a mesma esta cadastrada no ISS ou no ICMS.

· Parâmetros do Método:
Alíquotas: Variável String com o tamanho de 300 posições para receber as alíquotas.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Inicio com S significa que é ISS.
- Inicio com T significa que é ICMS.
- As alíquotas retornadas estarão separadas por vírgula.I Ex.: Sa1200, TB1700, TC0500, Sc1800.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(300)
Int_Retorno = Daruma_FI_LerAliquotasComIndice(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,300);
Int_Retorno := Daruma_FI_LerAliquotasComIndice(Str_Informacao);
Edit1.lines.Text := (Str_Informacao);


Daruma_FI_VendaBruta(Índice 1490)

Método: Daruma_FI_VendaBruta [Índice 1490]
Previous Top Next

· Definição do Método:
Retorna o valor do Grande Total da impressora.

· Parâmetros do Método:
Venda Bruta: Variável String com 18 posições para receber o valor do grande total com 2 casas decimais.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(18)
Int_Retorno = Daruma_FI_VendaBruta(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,18);
Int_Retorno := Daruma_FI_VendaBruta(Str_Informacao );
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_GrandeTotal(Índice 1414)

Método: Daruma_FI_GrandeTotal [Índice 1414]
Previous Top Next

· Definição do Método:
Retorna o valor do Grande Total da impressora.

· Parâmetros do Método:
Grande Total: Variável String com 18 posições para receber o valor do grande total com 2 casas decimais.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(18)
Int_Retorno = Daruma_FI_GrandeTotal(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,18);
Int_Retorno := Daruma_FI_GrandeTotal(Str_Informacao );
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_Descontos(Índice 1415)

Método: Daruma_FI_Descontos [Índice 1415]
Previous Top Next

· Definição do Método:
Retorna a valor acumulado dos descontos.

· Parâmetros do Método:
Descontos: Variável String com 14 posições para receber o valor dos descontos com 2 casas decimais.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(14)
Int_Retorno = Daruma_FI_Descontos(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,14);
Int_Retorno := Daruma_FI_Descontos(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_Acrescimos(Índice 1441)

Método: Daruma_FI_Acrescimos [Índice 1441]
Previous Top Next

Atenção!!!
Este método está descontinuado, favor utilizar!!!


Daruma_FI_Cancelamentos(Índice 1416)

Método: Daruma_FI_Cancelamentos [Índice 1416]
Previous Top Next

· Definição do Método:
Retorna o valor acumulado dos itens e dos cupons cancelados

· Parâmetros do Método:
Cancelamentos: Variável String com 14 posições para receber o valor dos cancelamentos com 2 casas decimais.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(14)
Int_Retorno = Daruma_FI_Cancelamentos(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,14);
Int_Retorno := Daruma_FI_Cancelamentos(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_DadosUltimaReducao(Índice 1410)

Método: Daruma_FI_DadosUltimaReducao [Índice 1410]
Previous Top Next

· Definição do Método:
Retorna os dados da impressora no momento da última Redução Z.

· Parâmetros do Método:
Dados Redução: Variável String com o tamanho de 631 posições para receber os dados da última redução.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- São retornados os valores das seguintes informações separados por vírgulas:

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(631)
Int_Retorno = Daruma_FI_DadosUltimaReducao(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,631);
Int_Retorno := Daruma_FI_DadosUltimaReducao(Str_Informacao);
Edit1.lines.Text := (Str_Informacao);


Daruma_FI_SubTotal(Índice 1408)

Método: Daruma_FI_SubTotal [Índice 1408]
Previous Top Next

· Definição do Método:
Retorna o valor do subtotal do cupom.

· Parâmetros do Método:
SubTotal: Variável String com o tamanho de 14 posições para receber o subtotal do cupom.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(14)
Int_Retorno = Daruma_FI_SubTotal(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,14);
Int_Retorno := Daruma_FI_Subtotal(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_RetornoAliquotas (Índice 1406)

Método: Daruma_FI_RetornoAliquotas [Índice 1406]
Previous Top Next

· Definição do Método:
Retorna as alíquotas cadastradas na impressora.

· Parâmetros do Método:
Alíquotas: Variável String com o tamanho de 79 posições para receber as alíquotas.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- As alíquotas retornadas estarão separadas por vírgula. Ex.: 1200, 1700, 0500, 1800

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(79)
Int_Retorno = Daruma_FI_RetornoAliquotas(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,79);
Int_Retorno := Daruma_FI_RetornoAliquotas(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_ValorPagoUltimoCupom (Índice 1433)

Método: Daruma_FI_ValorPagoUltimoCupom [Índice 1433]
Previous Top Next

· Definição do Método:
Retorna o valor pago no último cupom.

· Parâmetros do Método:
Valor: Variável String com 14 posições para receber o valor pago no último cupom.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:

- Valor pago no último cupom é diferente do valor total do cupom.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(14)
Int_Retorno = Daruma_FI_ValorPagoUltimoCupom(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,14);
Int_Retorno := Daruma_FI_ValorPagoUltimoCupom(Str_Informacao);
Edit1.lines.Text := (Str_Informacao);


Daruma_FI_UltimaFormaPagamento (Índice 1446) (copy)

Método: Daruma_FI_UltimaFormaPagamento [Índice 1446]
Previous Top Next

· Definição do Método:
Retorna a ultima forma de pagamento e também o valor que foi pago.

· Parâmetros do Método:
- Forma Pagamento: Variável String com 16 posições para a descrição da Forma de Pagamento.
- Valor: Variável String com 14 posições para receber o valor pago.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Descricao_Forma As String
Dim Str_Valor_Forma As String
Str_Descricao_Forma = Space(16)
Str_Valor_Forma = Space(14)

Int_Retorno = Daruma_FI_UltimaFormaPagamento(Str_Descricao_Forma, Str_Valor_Forma)
TX_Retorno.Text = Str_Descricao_Forma + " = " + Str_Valor_Forma

· Exemplo em Delphi 7.0:
var
Str_Descricao_da_Forma: String;
Str_Valor_da_Forma: String;
begin
SetLength (Str_Descricao_da_Forma,16);
SetLength (Str_Valor_da_Forma,14);
Int_Retorno := Daruma_FI_UltimaFormaPagamento(Str_Descricao_da_Forma, Str_Valor_da_Forma);
Edit1.Lines.Text := pchar(Str_Descricao_da_Forma + ' = ' + Str_Valor_da_Forma);


Daruma_FI_ValorFormaPagamento (Índice 1446)

Método: Daruma_FI_ValorFormaPagamento [Índice 1446]
Previous Top Next

· Definição do Método:
Retorna o valor acumulado em uma determinada forma de pagamento.

· Parâmetros do Método:
Forma Pagamento: Variável String com até 16 posições com a descrição da Forma de Pagamento que deseja retornar o seu valor.
- Valor: Variável String com 14 posições para receber o total acumulado.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Descricao_Forma As String
Dim Str_Valor_Forma As String
Str_Descricao_Forma = Space(16)
Str_Valor_Forma = Space(14)
Str_Descricao_Forma = InputBox("Entre com a Forma de Pagamento a ser consultada:", "Daruma Framework", "Dinheiro")
Int_Retorno = Daruma_FI_ValorFormaPagamento(Str_Descricao_Forma, Str_Valor_Forma)
TX_Retorno.Text = Str_Descricao_Forma + " = " + Str_Valor_Forma

· Exemplo em Delphi 7.0:
var
Str_Descricao_da_Forma: String;
Str_Valor_da_Forma: String;
begin
SetLength (Str_Descricao_da_Forma,16);
SetLength (Str_Valor_da_Forma,14);
Str_Descricao_da_Forma := InputBox('Entre com a Forma de Pagamento a ser consultada:', 'Daruma Framework', 'Dinheiro');
if Str_Descricao_da_Forma = '' Then
Exit;
Int_Retorno := Daruma_FI_ValorFormaPagamento((Str_Descricao_da_Forma),(Str_Valor_da_Forma)) ;
Edit1.Lines.Text := (pchar(Str_Descricao_da_Forma + ' = ' + Str_Valor_da_Forma));


Daruma_FI_ValorTotalizadorNaoFiscal (Índice 1447)

Método: Daruma_FI_ValorTotalizadorNaoFiscal [Índice 1447]
Previous Top Next

· Definição do Método:
Retorna o valor acumulado em um determinado totalizador não fiscal.

· Parâmetros do Método:
Totalizador: Variável String com até 19 posições com a descrição do Totalizador.
Valor: Variável String com 14 posições para receber a informação.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.
-25: Totalizador não programado.
Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Totalizador_Nao_Fiscal As String
Dim Str_Valor_Totalizador As String
Str_Totalizador_Nao_Fiscal = Space(19)
Str_Valor_Totalizador = Space(14)
Str_Totalizador_Nao_Fiscal = InputBox("Entre com a Descrição do Totalizador a ser consultado:", "Daruma Framework", "Conta de Luz")
Int_Retorno = Daruma_FI_ValorTotalizadorNaoFiscal(Str_Totalizador_Nao_Fiscal, Str_Valor_Totalizador)
TX_Retorno.Text = Str_Totalizador_Nao_Fiscal + " = " + Str_Valor_Totalizador

· Exemplo em Delphi 7.0:
var
Str_Totalizador_Nao_Fiscal: String;
Str_Valor_do_Totalizador: String;
begin
SetLength (Str_Totalizador_Nao_Fiscal,19);
SetLength (Str_Valor_do_Totalizador,14);
Str_Totalizador_Nao_Fiscal := InputBox('Entre com a Descricao do Totalizador a ser consultado:', 'Daruma Framework', 'Conta de Luz');
Int_Retorno := Daruma_FI_ValorTotalizadorNaoFiscal((Str_Totalizador_Nao_Fiscal),(Str_Valor_do_Totalizador) );
Edit1.Lines.Text := pchar(Str_Totalizador_Nao_Fiscal + ' = ' + Str_Valor_do_Totalizador);


Daruma_FI_UltimoItemVendido (Índice 1423)

Método: Daruma_FI_UltimoItemVendido [Índice 1423]
Previous Top Next

· Definição do Método:
Retorna o número do último item vendido.

· Parâmetros do Método:
Último Ítem: Variável String com 4 posições para receber o número do último item vendido.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(4)
Int_Retorno = Daruma_FI_UltimoItemVendido(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,4);
Int_Retorno := Daruma_FI_UltimoItemVendido(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_TipoUltimoDocumento (Índice 1493)

Método: Daruma_FI_TipoUltimoDocumento [Índice 1493]

Previous Top Next

· Definição do Método:
Retorna o tipo do último cupom emitido.

· Parâmetros do Método:
Último Ítem: Variável String com 3 posições para receber o número do último item vendido.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Exemplo:
Se o último documento emitido tiver sido uma ReduçãoZ então o retorno será este:LRZ

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(3)
Int_Retorno = Daruma_FI_TipoUltimoDocumento(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,4);
Int_Retorno := Daruma_FI_TipoUltimoDocumento(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_MapaResumo(Índice 602)

Método: Daruma_FI_MapaResumo [Índice 602]
Previous Top Next

· Definição do Método:
Gera o relatório "Mapa Resumo" referente ao movimento do dia. As informações serão geradas no arquivo RETORNO.TXT no diretório configurado no parâmetro "path" na chave do Registry. O diretório default configurado é o diretório raiz (C:\).

· Parâmetros da Função:
Não há

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- As informações contidas no mapa resumo podem variar de Estado para Estado. Essa função gera o relatório com as informações padrões que são usadas na maioria dos Estados. O relatório gerado terá o seguinte layout:

Contador de Redução Z..: 0480

COO....................: 000110

Venda Bruta............: 0,00

Venda Líquida..........: 0,00

Cancelamentos..........: 0,00

Acréscimos.............: 0,00

Descontos..............: 0,00

ISS....................: 0,00

Isenção................: 0,00 - II

Não Incidência.........: 0,00 - NN

Substituição Tributária: 0,00 - FF

1200...................: 0,00 - Aliquota

- Após a linha "Substituição Tributária" serão gravadas as informações de vendas referente as alíquotas de ICMS. Portanto, o número de linhas irá variar de acordo com o número de alíquotas de ICMS cadastradas na impressora.

- As informações contidas no mapa resumo serão referentes aos dados da última redução Z, portanto, para gerar o mapa resumo referente ao movimento do dia você deve executar essa função após a redução Z, caso contrário o mapa resumo será gerado com as informações referente ao movimento do dia anterior, para isso você mesmo podera efetuar a Redução ZDaruma_Registry_ZAutomatica configurando a Chave para o Valor 1(um).

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_MapaResumo()

Shell "notepad C:\retorno.txt", vbMaximizedFocus

· Exemplo em Delphi 7.0:
begin
Int_Retorno := Daruma_FI_MapaResumo();
WinExec('c:\windows\NOTEPAD.EXE C:\retorno.txt',SW_SHOWNORMAL);


Daruma_FI_RelatorioTipo60Analitico(Índice 605)

Método: Daruma_FI_RelatorioTipo60Analitico [Índice 605]
Previous Top Next

· Definição do Método:
Gera o relatório "Tipo 60 analítico" exigido pelo convênio de ICMS 85/2001. As informações serão geradas no arquivo RETORNO.TXT no diretório configurado no parâmetro "path" na Chave do Registry. O diretório default é o diretório raiz (C:\).

· Parâmetros da Função:
Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- O relatório gerado terá o seguinte layout:

Tipo do relatório.........: 60

Subtipo...................: A

Data de emissão...........: 09/09/05

Número de série...........: 000000000036861

Cancelamentos.............: 0,00

Descontos.................: 0,00

F.........................: 0,00

I.........................: 0,00

N.........................: 0,00

1200......................: 0,00

ISS.......................: 0,00

- Após a linha "N..." serão gravadas as informações de vendas referentes às alíquotas tributárias. Portanto, o número de linhas irá variar de acordo com o número de alíquotas cadastradas na impressora.

- As informações contidas no relatório Tipo 60 Analítico são referentes aos dados da última Redução Z. Portanto, para gerar o relatório referente ao movimento do dia você deve executar esse método após a Redução Z, caso contrário as informações geradas serão referentes ao movimento do dia anterior, para isso você mesmo podera efetuar a Redução Z configurando Daruma_Registry_ZAutomatica o a Chave para o Valor 1(um).

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_RelatorioTipo60Analitico()

Shell "notepad C:\retorno.txt", vbMaximizedFocus

· Exemplo em Delphi 7.0:
begin
Int_Retorno := Daruma_FI_RelatorioTipo60Analitico();
WinExec('c:\windows\NOTEPAD.EXE C:\retorno.txt',SW_SHOWNORMAL);


Daruma_FI_RelatorioTipo60Mestre(Índice 606)

Método: Daruma_FI_RelatorioTipo60Mestre [Índice 606]
Previous Top Next

· Definição do Método:
Gera o relatório "Tipo 60 Mestre" exigido pelo convênio de ICMS 85/2001. As informações serão geradas no arquivo RETORNO.TXT no diretório configurado no parâmetro "path" na chave do registry. O diretório default é o diretório raiz (C:\).

· Parâmetros da Função:
Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- O relatório gerado terá o seguinte layout:

Tipo do relatório.........: 60

Subtipo...................: M

Data de emissão...........: 09/09/05

Número de série...........: 000000000036861

Número do equipamento.....: 0013

Modelo do documento fiscal: 2D

COO inicial...............: 000111

COO final.................: 000125

Contador de reduções......: 0480

Reinicio de Operacao......: 0388

Venda Bruta...............: 0,00

Totalizador geral.........: 4.135.406,04

- As informações contidas no relatório Tipo 60 Mestre são alimentadas pelo Método Daruma_FI_AberturaDoDia e pelo outro Método Daruma_FI_FechamentoDoDia: e (veja esses métodos para maiores informações). O Método Daruma_FI_RelatorioTipo60Mestre deve ser executado após Daruma_FI_FechamentoDoDia() e o método ou após a Redução Z (caso a redução tenha sido executada automaticamente pela impressora).

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI_RelatorioTipo60Analitico()

Shell "notepad C:\retorno.txt", vbMaximizedFocus

· Exemplo em Delphi 7.0:
begin
Int_Retorno := Daruma_FI_RelatorioTipo60Analitico();
WinExec('c:\windows\NOTEPAD.EXE C:\retorno.txt',SW_SHOWNORMAL);


Daruma_FI_FlagsFiscais(Índice 1428)

Método: Daruma_FI_FlagsFiscais [Índice 1428]
Previous Top Next

· Definiçãdo do Método:
Retorna um número referente ao flag fiscal da impressora. Veja discriminação abaixo.

· Parâmetros do Método:
FlagFiscal: Variável inteira para receber um número representando o flag fiscal da impressora. Veja discriminação abaixo.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Discriminação dos valores para o flag fiscal:

Descrição Valor
Cupom fiscal aberto 1
Fechamento de formas de pgto iniciado 2
Horário de verão selecionado 4
Já houve redução Z no dia 8
Permite cancelar cupom fiscal 32
Memória fiscal sem espaço 128

- Os valores podem vir somados o que indica mais de um estado.
- Por Exemplos se o cupom estiver aberto e o horário de verão selecionado então o flag virá = 37.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Informacao = 0
Int_Retorno = Daruma_FI_FlagsFiscais(Int_Informacao)
TX_Retorno.Text = Int_Informacao

· Exemplo em Delphi 7.0:
var Int_Informacao: Integer;
begin
Int_Informacao:= 0;
Int_Retorno := Daruma_FI_FlagsFiscais( Int_Informacao );
Edit1.Lines.Text := IntToStr(Int_Informacao);


Daruma_FI_PalavraStatus(Índice 1481)

Método: Daruma_FI_PalavraStatus [Índice 1481]
Previous Top Next

· Definição do Método:
Retorna o Status do ECF em Bytes 12 Bytes)

· Parâmetros do Método:
String com 12 Posições Ex. A4C60C000000.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método retorna 12 Bytes no Seguinte Formato

Byte 1 (S1) - S1 Significa STATUS 1
Byte 2 (S2)
Byte 3 (S3)
Byte 4 (S4)
Byte 5 (S5)
Byte 6 (S6)
Byte 7 (S7)
Byte 8 (S8)
Byte 9 (S9)
Byte 10 (S10)
Byte 11 (S11)
Byte 12 (S12)

Para Analisar Cada Byte Siga a Seguinte Tabela Abaixo:

Bit Descrição de S1
b3 0 = Gaveta do caixa fechada
1 = Gaveta do caixa aberta
b2 0 = Impressora operacional
1 = Impressora em falha mecânica
b1 0 = Documento posicionado para autenticação
1 = Sem documento em posição de autenticação
b0 0 = Papel presente
1 = Fim da bobina de papel

Bit Descrição de S2
b3 0 = Impressora On Line
1 = Impressora Off Line
b2 0 = Periférico conectado na Interface Auxiliar
1 = Nenhum periférico conectado
b1 0 = Não há redução Z pendente
1 = Redução Z do período anterior ainda pendente
b0 0 = Near End não detectado
1 = Detectado proximidade de Fim de Papel

Bit Descrição de S3
b3 0 = Impressora em modo manutenção
1 = Impressora em modo operação
b2 0 = Sensor de autenticação desabilitado
1 = Sensor de autenticação ativo
b1 0 = Guilhotina desabilitada
1 = Guilhotina habilitada
b0 0 = Fechamento automático de C.F. desabilitado
1 = Fechamento automático de C.F. habilitado

Bit Descrição de S4
b3 0 = Relatório gerencial não aberto
1 = Relatório gerencial aberto
b2 0 = Cupom Fiscal não aberto
1 = Cupom Fiscal aberto
b1 0 = Buffer de comunicação não vazio
1 = Buffer de comunicação vazio
b0 0 = Impressão encerrada
1 = Impressão em andamento

Bit Descrição de S5
b3 0 = Jumper de operação instalado
1 = Jumper de operação removido (deslacrado)
b2 0 = Impressora operacional
1 = Impressora em Erro Fiscal (bloqueada)
b1 0 = MF presente
1 = MF ausente ou não inicializada
b0 0 = Modo normal
1 = Modo treinamento

Bit Descrição de S6
b3 0 = Configuração da IF habilitada
1 = Configuração da IF inibida até a próxima Redução Z
b2 0 = Leitura X do início do dia ainda não emitida
1 = Leitura X do início do dia já emitida
b1 0 = Impressora em operação
1 = Redução Z de hoje já emitido (IF travada até 0h)
b0 0 = Fita detalhe OK
1 = Fim do papel da fita detalhe

Bit Descrição de S7
b3 Sempre zero
b Sempre zero
b1 Sempre zero
b0 Sempre zero

Bit Descrição de S8
b3 Sempre zero
b2 Sempre zero
b1 0 = Não ocorreu queda de energia
1 = Ocorreu queda de energia
b0 0 = Impressão encerrada
1 = Impressão em andamento ou pendente

Bit Descrição de S9
b3 Sempre zero
b2 Sempre zero
b1 Sempre zero
b0 0 = Totalizadores Fiscais OK
1 = Erro nos totalizadores fiscais

Bit Descrição de S10
b3 0 = MF OK
1 = Erro na Leitura da MF ou MF substituída
b2 0 = Gravação da MF OK
1 = Erro na gravação da MF
b1 0 = Relógio interno OK
1 = Erro no relógio interno
b0 0 = Clichê do proprietário OK
1 = Clichê do proprietário danificado

Bit Descrição de S11
b3 Sempre zero
b Sempre zero
b1 Sempre zero
b0 Sempre zero

Valor Descrição de S12
0 Impressora OK
1 Falha no tacogerador
2 Falha no sensor de margem
4 Falha de guilhotina
5 Firmware inválido
Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(12)
Int_Retorno = Daruma_FI_PalavraStatus(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,12);
Int_Retorno := Daruma_FI_PalavraStatus(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_PalavraStatusBinario(Índice 1482)

Método: Daruma_FI_PalavraStatusBinario [Índice 1482]
Previous Top Next

· Definição do Método:
Retorna o Status do ECF com 12 Bytes de Status (Total de 45 Bits), não apenas o ACK, ST1 e ST2, mas 14 Bytes de Status que o ECF devolve de forma extendida em cada método.

· Parâmetros do Método:
String com 50 Posições onde devolverá 0(zero) e 1(um) indicando cada Status do ECF

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método devolverá 48 carácteres cada um indicando o status 0(zero) ou 1(um) de acordo com a Tabela Abaixo.
Éstas 48 Posições é resultado dos 12 Bytes de status que o ECF permite trabalhar, com 4 Bits cada Bytes (12*4) Totalizando 45 Bits ou carácteres que serão escritos na variável por refência que você passou neste Método.
São 45 Bits e Não 48 Bits porque o Byte 12 não é destrinchado em 4 Bits mas sim em um único Valor Inteiro.
- Este Método não é compatível com a aimpressora FS2000 (duas estações).

· Para Análise do Status escrito em sua variável siga a tabela abaixo:

Bit/ Posição | Se estiver Valendo 0(zero) significa: | Se Estiver Valendo 1(um) significa:
1 | Gaveta Fechada | Gaveta Aberta
2 | Impressora Operacional, OK | Impressora Com Falha Mecanica
3 | Doc Posicionado para Autenticar | Sem Doc Posicionado para Autenticar
4 | Impressora com Papel | Impressora Sem Papel
5 | Impressora On-Line | Impressora Off-Line
6 | Periferico Conectardo a Porta Auxiliar | Perifericio não Conectado a porta Auxiliar
7 | Não há Redução Z Pendente | Há Redução Z pendente
8 | Pouco Papel Não Detectado Imp. OK | Pouco Papel Detectado
9 | Impressora em Modo Intervenção Tec. | Impressora em Modo Normal
10 | Sensor de Autenticação Desabilitado | Sensor de Autenticação OK
11 | Guilhotina Desabilitada | Guilhotina OK
12 | Fechamento automatico do ECF Desab. | Fechamento Automatico do ECF Habilitado
13 | Relatorio Gerencial não Aberto | Relatorio Gerencial Aberto
14 | Cupom Fiscal Não Aberto | Cupom Fiscal Aberto
15 | Buffer de Comunicacao Com Dados | Buffer de Comunicação Vazio
16 | Impressão Encerrada | Impressão em Andamento
17 | Jumper de Modo Operação Presente | Jumper de Modo Operação removido
18 | Impressora Operacaonal | Impressora em Modo Fiscal
19 | Memoria Fiscal Presente | Memoria Fiscal Ausente, Não Inicializada.
20 | Modo Normal | Modo Treinamento
21 | Configuração do ECF Habilitado (Após uma Redução Z e antes de uma X) | Configuração do ECF Inibida até a Próxima Leitura X
22 | Leitura X de Abertura de Dia ainda não Emitida | Leitura X de começo de Dia já Emitida
23 | Impressora com Dia Fiscal Aberto | Impressora Com a Z de "Hoje" já emitida
24 | Fita Detalhe OK | Fim do Papel da Fita Detalhe
25 | SEMPRE ZERO
26 | SEMPRE ZERO
27 | SEMPRE ZERO
28 | SEMPRE ZERO
29 | SEMPRE ZERO
30 | SEMPRE ZERO
31 | SEMPRE ZERO
32 | Impressão Concluida | Impressão em Andamento
33 | SEMPRE ZERO
34 | SEMPRE ZERO
35 | MF Operacional | MF DEsconectada
36 | Totalizadores Fiscais OK | Totalizadores Fiscais Danificados
37 | MF OK | Erro na Leitura da MF
38 | Gravacao da MF OK | Erro na Gravacao da MF
39 | Relogio Interno OK | Erro no Relogio Interno
40 | Cliche do Proprietario OK | Cliche do Proprietario Danificado
41 | SEMPRE ZERO
42 | SEMPRE ZERO
43 | SEMPRE ZERO
44 | SEMPRE ZERO
45 | 0 = Impressora OK 1 = Falha no TacoGerador 2 = Falha no Sensor de Margem 4 = Falha de Guilhotina 8 = Firmware Invalido | Caso esta Posicao seja diferente de 0(zero) é porque tem problema Mecanico no ECF, sendo o mesmo indicado por um dos valores ao lado.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(50)
Int_Retorno = Daruma_FI_PalavraStatusBinario(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,50);
Int_Retorno := Daruma_FI_PalavraStatusBinario(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_SimboloMoeda(Índice 1427)

Método: Daruma_FI_SimboloMoeda [Índice 1427]
Previous Top Next

· Definição do Método:
Retorna o símbolo da moeda cadastrada na impressora.

· Parâmetros do Método:
Símbolo Moeda: Variável String com 2 posições para receber o símbolo da moeda.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(2)
Int_Retorno = Daruma_FI_SimboloMoeda(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,2);
Int_Retorno := Daruma_FI_SimboloMoeda(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_RetornoImpressora(Índice 1402)

Método: Daruma_FI_RetornoImpressora [Índice 1402]
Previous Top Next

· Definição do Método:
Lê o retorno da impressora referente ao último método enviado.

· Parâmetros do Método:
1. ACK: Variável INTEIRA para receber o primeiro byte.
2. ST1: Variável INTEIRA para receber o segundo byte.
3. ST2: Variável INTEIRA para receber o terceiro byte.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método deve ser usada após a execução de qualquer outro Método da DLL para ler o Retorno da Impressora referente o Método executada. Este Método devolve o status da impressora.

Exemplos:

· Exemplo em Visual Basic 6.0:
Global Int_Retorno As Integer
Global Int_Ack As Integer
Global Int_St1 As Integer
Global Int_St2 As Integer
Global Str_ErroExtendido As String

Public Function Daruma_MostrarRetorno()

Int_Ack = 0
Int_St1 = 0
Int_St2 = 0
Daruma_FI_RetornoImpressora Int_Ack, Int_St1, Int_St2

Str_ErroExtendido = Space(4)
Daruma_FI_RetornaErroExtendido Str_ErroExtendido

MsgBox "Retorno do Método = " + CStr(Int_Retorno) + Chr(13) + Chr(10) _
+ "Ack = " + CStr(Int_Ack) + Chr(13) + Chr(10) _
+ "St1 = " + CStr(Int_St1) + Chr(13) + Chr(10) _
+ "St2 = " + CStr(Int_St2) + Chr(13) + Chr(10) _
+ "Erro Extendido = " + Str_ErroExtendido, , "Daruma Framework Retorno do Método"

End Function

· Exemplo em Delphi 7.0:
Var Daruma_ACK,Daruma_ST1,Daruma_ST2:Integer;
begin
Daruma_Ack := 0;
Daruma_ST1 := 0;
Daruma_ST2 := 0;
Int_Retorno:= Daruma_FI_RetornoImpressora( Daruma_ACK, Daruma_ST1, Daruma_ST2 );


Daruma_FI_RetornaErroExtendido(Índice 1470 )

Método: Daruma_FI_RetornaErroExtendido [Índice 1470]
Previous Top Next

· Definição do Método:
Retorna o Erro Extendido do ECF, além do ST1 e ST2 retorna uma Tabela Completa de Erros.

· Parâmetros do Método:
String: Com 4 Posições que irá conter o Código de Erro Extendido que o ECF retorna.
Retorna 999 caso tenha a DLL retorne TIME-OUT.
Retorna a String original passada, com VAZIOS, caso NÃO HAJA ERRO.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Tabela de Erro Retornada:
======================================================================
00 IF em modo Manutenção. Foi ligada sem o Jumper de Operação
01 método disponível somente em modo Manutenção
02 Erro durante a gravação da Memória Fiscal
03 Memória Fiscal esgotada
04 Erro no relógio interno da IF
05 Falha mecânica na IF
06 Erro durante a leitura da Memória Fiscal
10 Documento sendo emitido
11 Documento não foi aberto
12 Não existe documento a cancelar
13 Dígito não numérico não esperado foi encontrado nos Parâmetros do Método:s
14 Não há mais memória disponível para esta operação
15 Item a cancelar não foi encontrado
16 Erro de sintaxe no método
17 "Estouro" de capacidade numérica (overflow)
18 Selecionado totalizador tributado com alíquota de imposto não definida
19 Memória Fiscal vazia
20 Não existem campos que requerem atualização
21 Detectado proximidade do final da bobina de papel
22 Cupom de Redução Z já foi emitido. IF inoperante até 0:00h do próximo dia
23 Redução Z do período anterior ainda pendente. IF inoperante
24 Valor de desconto ou acréscimo inválido (limitado a 100%)
25 caráctere inválido foi encontrado nos Parâmetros do Métodos
27 Nenhum periférico conectado a interface auxiliar
28 Foi encontrado um campo em zero
29 Documento anterior não foi Cupom Fiscal. Não pode emitir Cupom Adicional
30 Acumulador Não Fiscal selecionado não é válido ou não está disponível
31 Não pode autenticar. Excedeu 4 repetições ou não é permitida nesta fase
32 Cupom adicional inibido por configuração
35 Relógio Interno Inoperante
36 Versão do firmware gravada na Memória Fiscal não é a esperada
37 Alíquota de imposto informada já está carregada na memória
38 Forma de pagamento selecionada não é válida
39 Erro na seqüência de fechamento do Cupom Fiscal
40 IF em Jornada Fiscal. Alteração da configuração não é permitida
41 Data inválida. Data fornecida é inferior à última gravada na Memória Fiscal
42 Leitura X inicial ainda não foi emitida
43 Não pode emitir Comprovante Vinculado
44 Cupom de Orçamento não permitido para este estabelecimento
45 Campo obrigatório em branco
48 Não pode estornar
49 Forma de pagamento indicada não encontrada
50 Fim da bobina de papel
51 Nenhum usuário cadastrado na MF
52 MF não instalada ou não inicializada
56 Documento já aberto
61 Queda de energia durante a emissão de Cupom Fiscal
76 Desconto em ISS não permitido neste ECF (a programação deverá ser feita por meio de intervenção técnica e caso o Estado permita).
77 Acréscimo em IOF inibido
80 Periférico na interface auxiliar não pode ser reconhecido
81 Solicitado preenchimento de cheque de banco desconhecido
82 Solicitado transmissão de mensagem nula pela interface auxiliar
83 Extenso do cheque não cabe no espaço disponível
84 Erro na comunicação com a interface auxiliar
85 Erro no dígito verificador durante comunicação com a PertoCheck
86 Falha na carga de geometria de folha de cheque
87 Parâmetros do Método: invállido para o campo de data do cheque
90 Sequência de validação de número de série inválida

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(4)
Int_Retorno = Daruma_FI_RetornaErroExtendido(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,4);
Int_Retorno := Daruma_FI_RetornaErroExtendido(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_RetornaAcrescimoNF(Índice 1451)

Método: Daruma_FI_RetornaAcrescimoNF [Índice 1451]
Previous Top Next

· Definição do Método:
Retorna o valor acumulado no totalizador de Acrescimos Não Fiscais. (14 Posições).

· Parâmetros do Método:
String: Com 14 posições.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(14)
Int_Retorno = Daruma_FI_RetornaAcrescimoNF(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,14);
Int_Retorno := Daruma_FI_RetornaAcrescimoNF(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_RetornaCFCancelados(Índice 1452)

Método: Daruma_FI_RetornaCFCancelados [Índice 1452]
Previous Top Next

· Definição do Método:
Retorna a Quantidade de Cupons Fiscais Cancelados (4 dígitos).

· Parâmetros do Método:
String: Com 4 posições.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(4)
Int_Retorno = Daruma_FI_RetornaCFCancelados(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,4);
Int_Retorno := Daruma_FI_RetornaCFCancelados(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_RetornaCNFCancelados(Índice 1453)

Método: Daruma_FI_RetornaCNFCancelados [Índice 1453]
Previous Top Next

· Definição do Método:
Retorna a Quantidade de Cupons Nao Fiscais Cancelados (4 dígitos)

· Parâmetros do Método:
String: Com 4 posições.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(4)
Int_Retorno = Daruma_FI_RetornaCNFCancelados(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,4);
Int_Retorno := Daruma_FI_RetornaCNFCancelados(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_RetornaCLX(Índice 1454)

Método: Daruma_FI_RetornaCLX [Índice 1454]
Previous Top Next

· Definição do Método:
Retorna contador de LeituraX - Quantidade de Vezes em foram emitidas LeituraX no dia.

· Parâmetros do Método:
String: Com 4 posições.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(4)
Int_Retorno = Daruma_FI_RetornaCLX(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,4);
Int_Retorno := Daruma_FI_RetornaCLX(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_RetornaCNFNV(Índice 1455)

Método: Daruma_FI_RetornaCNFNV [Índice 1455]
Previous Top Next

· Definição do Método:
Retorna o Valor Acumulado nos Comprovantes Não Fiscais Não Vinculados (14 dígitos) em cada sequência e por sua vez um contador de 4 dígitos indicando a quantidade de vezes em que foram utilizados no ECF.

· Parâmetros do Método:
String: Com 304 posições.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método retorna os 16 Totalizadodes Não Fiscais Não Vinculados (CNFNV) na seguinte Ordem
16 Blocos composto de: 14 bytes
Valor Acumulado no Comprovante Não Fiscal Não Vinculado..........: 14 bytes - Recebimento Não Fiscal.
Contador deste Comprovante indicando a quant. de vezes utilizado.: 4 bytes
+ 1 caráctere Separador, conforme configurado no Registry com o Método Daruma_Registry_Separador.

Retorno do Método:
000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(304)
Int_Retorno = Daruma_FI_RetornaCNFNV(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,304);
Int_Retorno := Daruma_FI_RetornaCNFNV(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_RetornaCNFV(Índice 1456)

Método: Daruma_FI_RetornaCNFV [Índice 1456]
Previous Top Next

· Definição do Método:
Retorna o Valor Acumulado nos Comprovantes Não Fiscais Vinculados (14 dígitos) em cada sequência e por sua vez um contador de 4 dígitos indicando a quantidade de vezes em que foram utilizados no ECF.

· Parâmetros do Método:
String: Com 304 posições.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método retorna os 16 Totalizadodes Não Fiscais Vinculados (CNFV) na seguinte Ordem
16 Blocos composto de: 14 bytes.
Valor Acumulado no Comprovante Não Fiscal Vinculado..........: 14 bytes
Contador deste Comprovante indicando a quant. de vezes utilizado.: 4 bytes
+ 1 caráctere Separador, conforme configurado no Registry com o Método Daruma_Registry_Separador.

· Retorno do Método:
000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(304)
Int_Retorno = Daruma_FI_RetornaCNFV(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,304);
Int_Retorno := Daruma_FI_RetornaCNFV(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_RetornaCRO(Índice 1457)

Método: Daruma_FI_RetornaCRO [Índice 1457]
Previous Top Next

· Definição do Método:
Retorna a quantidade de Vezes em que se Reiniciou a Operação no ECF.
CRO - Contador de Reinício de Operaçãoo - Geralmente quando se cadastra um Novo Usuário no ECF.

· Parâmetros do Método:
String: Com 4 posições.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(4)
Int_Retorno = Daruma_FI_RetornaCRO(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,4);
Int_Retorno := Daruma_FI_RetornaCRO(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_RetornaCRZ(Índice 1458)

Método: Daruma_FI_RetornaCRZ [Índice 1458]
Previous Top Next

· Definição do Método:
Retorna a quantidade de Vezes em que se Realizou uma Redução Z.
CRZ - Contador de Redução Z.

· Parâmetros do Método:
String: Com 4 posições.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(4)
Int_Retorno = Daruma_FI_RetornaCRZ(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,4);
Int_Retorno := Daruma_FI_RetornaCRZ(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_RetornaCRZRestante(Índice 1459)

Método: Daruma_FI_RetornaCRZRestante [Índice 1459]
Previous Top Next

· Definição do Método:
Retorna a quantidade Redução Z Restante.
CRZ - Contador de Redução Z.

· Parâmetros do Método:
String: Com 4 posições

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(4)
Int_Retorno = Daruma_FI_RetornaCRZRestante(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,4);
Int_Retorno := Daruma_FI_RetornaCRZRestante(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_RetornaCancelamentoNF(Índice 1460)

Método: Daruma_FI_RetornaCancelamentoNF [Índice 1460]
Previous Top Next

· Definição do Método:
Retorna o Valor acumulado que indica o Total em Reais dos cancelamentos não fiscais Realizados

· Parâmetros do Método:
String: Com 14 posições.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(14)
Int_Retorno = Daruma_FI_RetornaCancelamentoNF(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,14);
Int_Retorno := Daruma_FI_RetornaCancelamentoNF(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_RetornaDescontoNF(Índice 1461)

Método: Daruma_FI_RetornaDescontoNF [Índice 1461]
Previous Top Next

· Definição do Método:
Retorna o Valor acumulado que indica o Total em Reais dos descontos não fiscais Realizados.

· Parâmetros do Método:
String: Com 14 posições

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(14)
Int_Retorno = Daruma_FI_RetornadescontoNF(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,14);
Int_Retorno := Daruma_FI_RetornaDescontoNF(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_RetornaGNF(Índice 1462)

Método: Daruma_FI_RetornaGNF [Índice 1462]
Previous Top Next

· Definição do Método:
Retorna a quantidade de vezes em que foram emitidos Documentos Não Fiscais. (O que não é Cupom Fiscal)
Ex: Relatorio Gerencial, Vinculado, Receber valor agua, (recebimento não fiscal), Sangria, Suprimento, etc..
GNF - Geral Não Fiscal

· Parâmetros do Método:
String: Com 6 posições.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(6)
Int_Retorno = Daruma_FI_RetornaGNF(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,6);
Int_Retorno := Daruma_FI_RetornaGNF(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_RetornaTempoImprimindo(Índice 1463)

Método: Daruma_FI_RetornaTempoImprimindo [Índice 1463]
Previous Top Next

· Definição do Método:
Retona o Tempo em que esteve imprimindo documentos (tempo em Minutos)

· Parâmetros do Método:
String: Com 4 posições.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(4)
Int_Retorno = Daruma_FI_RetornaTempoImprimindo(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,4);
Int_Retorno := Daruma_FI_RetornaTempoImprimindo(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_RetornaTempoLigado(Índice 1464)

Método: Daruma_FI_RetornaTempoLigado [Índice 1464]
Previous Top Next

· Definição do Método:
Retona o Tempo em que esteve Ligada (tempo em Minutos)

· Parâmetros do Método:
String: Com 4 posições

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(4)
Int_Retorno = Daruma_FI_RetornaTempoLigado(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,4);
Int_Retorno := Daruma_FI_RetornaTempoLigado(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_RetornaTotalPagamentos(Índice 1465)

Método: Daruma_FI_RetornaTotalPagamentos [Índice 1465]
Previous Top Next

· Definição do Método:
Retorna o Total contabilizado em Reais nas 16 Formas de Pagamento do ECF.
Retorna em Blocos de 14 dígitos o valor acumulado de cada forma de pagamento.

· Parâmetros do Método:
String: Com 304 posições

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método retorna o Valor das 14 Formas de Pagamento na seguinte Ordem
16 Blocos composto de:
Valor Acumulado na Forma de Pagamento.........: 14 bytes
+ 1 caráctere Separador, conforme configurado no Registry com o Método Daruma_Registry_Separador.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(304)
Int_Retorno = Daruma_FI_RetornaTotalPagamentos(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,304);
Int_Retorno := Daruma_FI_RetornaTotalPagamentos(Str_Informacao);
Edit1.Lines.Text := (pchar(Str_Informacao));


Daruma_FI_RetornaTroco(Índice 1466)

Método: Daruma_FI_RetornaTroco [Índice 1466]
Previous Top Next

· Definição do Método:
Retorna o Valor Acumulado em Troco, com 14 dígitos.

· Parâmetros do Método:
String: Com 14 posições

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(14)
Int_Retorno = Daruma_FI_RetornaTroco(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,14);
Int_Retorno := Daruma_FI_RetornaTroco(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_RetornaRegistradoresNaoFiscais(Índice 1484)

Método: Daruma_FI_RetornaRegistradoresNaoFiscais [Índice 1484]
Previous Top Next

· Definição do Método:
Retorna o Valor da CADA Registrador não Fiscal do ECF. Veja a descrição Abaixo

· Parâmetros do Método:
String: com 950 Posições onde a dll irá retornar o valor de CADA TOTALIZADOR ou REGISTRADOR não fiscal do ECF.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:

- Este Método retorna as informações dos Registradores não Fiscais, cada registrador separado pelo caráctere Separador que você escolher ou programar na dll (o Default é ";") (caráctere Separador, conforme configurado no Registry com o Método Daruma_Registry_Separador.)

CAMPO | Tamanho | Separador | Tamanho ToTal
COO Inicial | 5 | 1 | 6 Pocições
COO Final | 5 | 1 | 6 Posições
Contador Geral Não Fiscal | 6 | 1 | 7 Posições
Número de Cupons Fisca Cancelado | 4 | 1 | 5 Posições
Número de Cupom NFiscal Cancelado | 4 | 1 | 5 Posições
Contador de Leitura X Efetuada | 4 | 1 | 5 Posições
Zeros Para Uso Futuro | 4 | 1 | 5 Posições
Contador de Reinicio de Operação | 4 | 1 | 5 Posições
Contador de Redução Z | 4 | 1 | 5 Posições
Redução Z Restante | 4 | 1 | 5 Posições
Total de Cada Forma de Pagamento (16 Formas de Pagamento com 14 Posições cada uma, indicando o Valor Acumulado até o momento) | 16 * 14 | 1 | 225 Posições
Troco Acumulado | 14 | 1 | 15 Posições
Contador de Uso e Valor Acumulado dos Comprovantes Não Fiscais Não Vinculado ( 16 Totalizadores, cada um deles com 14 Posições indicando o Valor Acumulado + 4 Posições indicando a Quantidade de Vezes em que foi Utilizado) | 16 *( 14 + 4 ) | 1 | 289 Posições
Valor de Desconto Não Fiscal | 14 | 1 | 15 Posições
Acrescimo Não Fiscal | 14 | 1 | 15 Posições
Cancelamento Não Fiscal | 14 | 1 | 15 Posições
Contador de Uso e Valor Acumulado dos Comprovantes Não Fiscais Vinculado ( 16 Totalizadores, cada um deles com 14 Posições indicando o Valor Acumulado + 4 Posições indicando a Quantidade de Vezes em que foi Utilizado) | 16 *( 14 + 4 ) | 1 | 289 Posições
Tempo do ECF Ligada (em Minutos) | 4 | 1 | 5 Posições
Tempo do ECF Imprimindo | 4 | 1 | 5 Posições
Zeros Para Uso Futuro | 10 | 1 | 11 Posições
Zeros Para Uso Futuro | 10 | 1 | 11 Posições
Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(950)
Int_Retorno = Daruma_FI_RetornaRegistradoresNaoFiscais(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,950);
Int_Retorno := Daruma_FI_RetornaREgistradoresNaoFiscais( Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_RetornaRegistradoresFiscais(Índice 1485)

Método: Daruma_FI_RetornaRegistradoresFiscais [Índice 1485]
Previous Top Next

· Definição do Método:
Retorna o Valor da CADA Registrador Fiscal do ECF. Veja a descrição Abaixo

· Parâmetros do Método:
String: com 400 Posições onde a dll irá retornar o valor de CADA TOTALIZADOR ou REGISTRADOR não fiscal do ECF.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método retorna as informações dos Registradores Fiscais, cada registrador separado pelo caráctere Separador que você escolher ou programar na dll (o Default é ";") (caráctere Separador, conforme configurado no Registry com o Método Daruma_Registry_Separador1.)

CAMPO | Tamanho | Separador | Tamanho ToTal
GT Inicial (Grande Total do Começo do DIA) | 18 | 1 | 19 Pocições
Valor dos Descontos | 14 | 1 | 15 Posições
Valor dos Cancelamentos | 14 | 1 | 15 Posições
Valor dos Isentos ( II ) | 14 | 1 | 15 Posições
Valor dos Não Incidentes ( NN ) | 14 | 1 | 15 Posições
Valor da Substituição ( FF ) | 14 | 1 | 15 Posições
Valor de Cada Aliquota (16 Aloquotas com 14 Posições cada uma indicando o Valor Acumulado em Cada uma delas) | 16*14 | 1 | 225 Posições
Acrescimo IOF (Imposto Operação Financeira) | 14 | 1 | 15 Posições
Exemplos:

· Exemplo em Visual Basic 6.0:
Str_Informacao = Space(400)
Int_Retorno = Daruma_FI_RetornaRegistradoresFiscais(Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Informacao: String;
begin
SetLength (Str_Informacao,400);
Int_Retorno := Daruma_FI_RetornaRegistradoresFiscais(Str_Informacao);
Edit1.Lines.Text := (Str_Informacao);


Daruma_FI_RetornaValorComprovanteNaoFiscal(Índice 1495)

Método: Daruma_FI_RetornaValorComprovanteNaoFiscal [Índice 1495]

Previous Top Next

· Definição do Método:
Retorna o Valor de um Comrpovante Não Fiscal do ECF. Veja a descrição Abaixo

· Parâmetros do Método:
String: com 02 Posições com o índice do Comprovante Não Fiscal, que se deseja saber o total acumulado.
String: com 14 Posições onde a dll irá retornar o valor acumulado do TOTALIZADOR indicado.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Indice_CNF As String
Str_Informacao = Space(14)
Str_Indice_CNF = InputBox("Entre com o Índice do Comprovante Não Fiscal para saber o Total Acumulado:", "Daruma Framework", "03")
Int_Retorno = Daruma_FI_RetornaValorComprovanteNaoFiscal(Str_Indice_CNF, Str_Informacao)
TX_Retorno.Text = Str_Informacao

· Exemplo em Delphi 7.0:
var
Str_Indice_CNF: String;
Str_Informacao: String;
begin
SetLength (Str_Informacao,14);
Str_Indice_CNF := InputBox('Entre com o Indice do Comprovante Nao Fiscal para saber o Total Acumulado:', 'Daruma Framework', '03');
Int_Retorno := Daruma_FI_RetornaValorComprovanteNaoFiscal(Str_Indice_CNF, Str_Informacao);
Edit1.Lines.Text:= (pchar(Str_Informacao));


Daruma_FI_RetornaIndiceComprovanteNaoFiscal(Índice 1496) ??????????

Método: Daruma_FI_RetornaRegistradoresFiscais [Índice 1485]
Previous Top Next

· Definição do Método:
Retorna o Índice de um Comrpovante Não Fiscal do ECF. Veja a descrição Abaixo

· Parâmetros do Método:
String: com 16 Posições com a descrição do Comprovante Não Fiscal, que se deseja saber o seu Índice
String: com 2 Posições para receber o índice do Comprovante selecionado.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Descricao_CNF As String
Str_Informacao = Space(2)
Str_Descricao_CNF = InputBox("Entre com a Descrição do Comprovante Não Fiscal para saber o Índice:", "Daruma Framework", "Conta de Luz")
Int_Retorno = Daruma_FI_RetornaIndiceComprovanteNaoFiscal(Str_Descricao_CNF, Str_Informacao)
TX_Retorno.Text = CStr(CInt(Str_Informacao))

· Exemplo em Delphi 7.0:


Daruma_Registry_FS2000_CupomAdicional(Índice 35)

Método: Daruma_Registry_FS2000_CupomAdicional
[Índice 35]
Previous Top Next

· Definição do Método:
Programa a Impressora FS2000 para poder emitir um Cupom Adicional

· Parâmetros do Método:
Variável String:
- 1 Programa.
- 0 Desprograma.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Por Default a dll irá senpre deixar o cupom adicional desprogramado, portanto caso você queira utilizá-lo deverá chamar este método no início de seu código.
Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_Registry_FS2000_CupomAdicional("1")

· Exemplo em Delphi 7.0:
begin
Int_Retorno := Daruma_Registry_FS2000_CupomAdicional('1');


Daruma_Registry_TempoEsperaCheque(Índice 36)

Método: Daruma_Registry_TempoEsperaCheque [Índice 36]
Previous Top Next

· Definição do Método:
Ajusta o tempo de espera para o posicionamento impressão do cheque para a impressão.

· Parâmetros do Método:
Variável String: Com o tempo em segundos.

Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Este Método e aplicado para obter-se mais tempo na hora de posicionar o temque para a impressão.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Tempo_Espera_Cheque As String

Str_Tempo_Espera_Cheque = InputBox("Entre com o Tempo em Segundos para esperar o Cheque ser Posicionado:", "Daruma Framework", "5")
If Str_Tempo_Espera_Cheque = "" Then
Exit Sub
End If
Int_Retorno = Daruma_Registry_FS2000_TempoEsperaCheque(Str_Tempo_Espera_Cheque)

· Exemplo em Delphi 7.0:
var
Str_Tempo_Espera_Cheque: String;
begin
Str_Tempo_Espera_Cheque := InputBox('Entre com o Tempo em Segundos para esperar o Cheque ser Posicionado:', 'Daruma Framework', '5');
if Str_Tempo_Espera_Cheque = '' Then
Exit;

Int_Retorno := Daruma_Registry_FS2000_TempoEsperaCheque(pchar(Str_Tempo_Espera_Cheque));


Daruma_FI2000_StatusCheque(Índice 5015)

Método: Daruma_FI2000_StatusCheque [Índice 5015]
Previous Top Next

· Definição do Método:
Retorna o status Cheque, se o mesmo posiocionado para impressão ou não.

· Parâmetros do Método:
Variável String: com DOIS espaços alocados para escrita do Status

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Status_Cheque As String
Str_Status_Cheque = Space(2)
Int_Retorno = Daruma_FI2000_StatusCheque(Str_Status_Cheque)
TX_Retornos_FS2000.Text = Str_Status_Cheque

· Exemplo em Delphi 7.0:
var
Str_Status_Cheque: String;
begin
SetLength (Str_Status_Cheque,2);

Int_Retorno := Daruma_FI2000_StatusCheque(pchar(Str_Status_Cheque));


Daruma_FI2000_ImprimirCheque(Índice 5016)

Método: Daruma_FI2000_ImprimirCheque [Índice 5016]
Previous Top Next

· Definição do Método:
Imprime Cheque na FS2000.

· Parâmetros do Método:
1. Número do Banco: String com 03 carácteres contendo o número do banco.
2. Cidade de Emissão: String com o nome da cidade de emissão do cheque.
3. Data de Emissão: String com a data de emissão do cheque.
4. Nome do Favorecido: String com o nemo do favorecido.
5. Valor do Cheque: String com o valor do cheque.
6. Posição do Cheque: String com a posição do cheque.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Numero_do_Banco As String
Dim Str_Cidade_de_Emissao As String
Dim Str_Data_de_Emissao As String
Dim Str_Favorecido As String
Dim Str_Valor As String
Dim Str_Posicao_do_Cheque As String

Str_Numero_do_Banco = "001"
Str_Cidade_de_Emissao = "Taubate"
Str_Data_de_Emissao = "12/01/2005"
Str_Favorecido = "Daruma S.A."
Str_Valor = "1,00"
Str_Posicao_do_Cheque = "H"

Int_Retorno = Daruma_FI2000_ImprimirCheque(Str_Numero_do_Banco, Str_Cidade_de_Emissao, Str_Data_de_Emissao, Str_Favorecido, Str_Valor, Str_Posicao_do_Cheque

· Exemplo em Delphi 7.0:
var
Str_Numero_do_Banco: String;
Str_Cidade_de_Emissao: String;
Str_Data_de_Emissao: String;
Str_Favorecido: String;
Str_Valor: String;
Str_Posicao_do_Cheque: String;
begin
Str_Numero_do_Banco := '001';
Str_Cidade_de_Emissao := 'Taubate';
Str_Data_de_Emissao := '12/01/2005';
Str_Favorecido := 'Daruma S.A.';
Str_Valor := '1,00';
Str_Posicao_do_Cheque := 'H';

Int_Retorno := Daruma_FI2000_ImprimirCheque(pchar( Str_Numero_do_Banco ), pchar( Str_Cidade_de_Emissao ), pchar( Str_Data_de_Emissao ), pchar( Str_Favorecido ), pchar( Str_Valor ), pchar( Str_Posicao_do_Cheque ) );


Daruma_FI2000_ImprimirVersoCheque(Índice 5017)

Método: Daruma_FI2000_ImprimirVersoCheque [Índice 5017]
Previous Top Next

· Definição do Método:
Imprime Texto no Verso do Cheque na FS2000.

· Parâmetros do Método:
String: com até (80) carácteres contendo o texto que se deseja imprimir.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Texto_Verso_do_Cheque As String

Str_Texto_Verso_do_Cheque = InputBox("Entre com o Texto a ser impresso no Verso do Cheque:", "Daruma Framework", "Exemplo de Texto Livre no Verso do Cheque")

If Str_Texto_Verso_do_Cheque = "" Then
Exit Sub
End If
Int_Retorno = Daruma_FI2000_ImprimirVersoCheque(Str_Texto_Verso_do_Cheque)

· Exemplo em Delphi 7.0:
var
Str_Texto_Verso_do_Cheque: String;
begin
Str_Texto_Verso_do_Cheque := InputBox('Entre com o Texto a ser impresso no Verso do Cheque:', 'Exemplo de Texto Livre no Verso do Cheque', '001');
if Str_Texto_Verso_do_Cheque = '' Then
Exit;

Int_Retorno := Daruma_FI2000_ImprimirVersoCheque(pchar(Str_Texto_Verso_do_Cheque));


Daruma_FI2000_LiberarCheque(Índice 5008)

Método: Daruma_FI2000_LiberarCheque [Índice 5008]
Previous Top Next

· Definição do Método:
Libera o Cheque na FS2000.

· Parâmetros do Método:
Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI2000_LiberarCheque()

· Exemplo em Delphi 7.0:
begin
Int_Retorno := Daruma_FI2000_LiberarCheque();


Daruma_FI2000_LeituraCodigoMICR(Índice 5007)

Método: Daruma_FI2000_LeituraCodigoMICR [Índice 5007]
Previous Top Next

· Definição do Método:
Lê o MICR(codigo CMC7) na FS2000.

· Parâmetros do Método:
Leitura MICR: Variável String com (40) posições para receber o Codigo.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
Para que a leitura do CMC7 seja possível há 3(três) condições:

1º)A impressora tem de ter o leitor que é opcional.
2º)A leitura só é possível ser feita com o cheque posicionado na vertical e com o código de barras voltado para o lado externo, ou seja para a para o lado direito.
3º)Posicione o cheque somente após o envio do método.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Cdigo_MICR As String
Str_Codigo_MICR = Space(40)
Int_Retorno = Daruma_FI2000_LeituraCodigoMICR(Str_Codigo_MICR) 'Este Metodo le o Codigo direto do cheque
TX_Retornos_FS2000.Text = Str_Codigo_MICR

· Exemplo em Delphi 7.0:
var
Str_Codigo_MICR: String;
begin
SetLength (Str_Codigo_MICR,40);

Int_Retorno := Daruma_FI2000_LeituraCodigoMICR(pchar(Str_Codigo_MICR));


Daruma_FI2000_CancelarCheque(Índice 5026)

Método: Daruma_FI2000_CancelarCheque [Índice 5026]
Previous Top Next

· Definição do Método:
Cancela o Médoto de impressão de cheque na FS2000.

· Parâmetros do Método:
Não Há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI2000_CancelarCheque()

· Exemplo em Delphi 7.0:
begin
Int_Retorno := Daruma_FI2000_CancelarCheque();


Daruma_FI2000_LeituraTabelaCheque(Índice 5011)

Método: Daruma_FI2000_LeituraTabelaCheque [Índice 5011]

Previous Top Next

· Definição do Método:
Lê a Tabela de cheques armazenada na Impressora.

· Parâmetros do Método:
Leitura Tabela Cheque: Variável String com 3060 posições para receber a tabela de cheques cadastrada na impressora.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Tabela_Cheque As String
Str_Tabela_Cheque = Space(3060)
Int_Retorno = Daruma_FI2000_LeituraTabelaCheque(Str_Tabela_Cheque)
TX_Retornos_FS2000.Text = Str_Tabela_Cheque

· Exemplo em Delphi 7.0:
var
Str_Tabela_Cheque: String;
begin
SetLength (Str_Tabela_Cheque,3060);

Int_Retorno := Daruma_FI2000_LeituraTabelaCheque(pchar(Str_Tabela_Cheque));


Daruma_FI2000_CarregarCheque(Índice 5009)

Método: Daruma_FI2000_CarregarCheque [Índice 5009]

Previous Top Next

· Definição do Método:
Carrega o Cheque na impressora FS2000.

· Parâmetros do Método:
Envia a Tabela Cheque para a Impressora: Variável String com o Número do Banco a ser carregado na impressora.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Numero_do_Banco As String

Str_Numero_do_Banco = InputBox("Entre com o Número do Banco que você deseja Carragar o Cheque:", "Daruma Framework", "001")
If Str_Numero_do_Banco = "" Then
Exit Sub
End If
Int_Retorno = Daruma_FI2000_CarregarCheque(Str_Numero_do_Banco)

· Exemplo em Delphi 7.0:
var
Str_Numero_do_Banco: String;
begin
Str_Numero_do_Banco := InputBox('Entre com o Numero do Banco que voce deseja Carragar o Cheque:', 'Daruma Framework', '001');
if Str_Numero_do_Banco = '' Then
Exit;

Int_Retorno := Daruma_FI2000_CarregarCheque(pchar(Str_Numero_do_Banco));


Daruma_FI2000_CorrigirGeometriaCheque(Índice 5010)

Método: Daruma_FI2000_CorrigirGeometriaCheque
[Índice 5010]
Previous Top Next

· Definição do Método:
Carrige a Geometria do Cheque FS2000.

· Parâmetros do Método:
Variável String: Com o Número do Banco a ser corrigida a Geometria.
Variável String: Com a nova Geometria.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Sequência dos bytes a serem passados para a correção da geometria do cheque.
29 dígitos que definem o cheque conforme:
Número do banco com 3 dígitos
Distância à linha do valor numérico com 2 dígitos (da borda a linha, em mm)
Coluna (final) do valor numérico com 2 dígitos
Distância à linha do primeiro extenso com 2 dígitos (da borda a linha, em mm)
Coluna (inicial) do primeiro extenso com 2 dígitos
Distância à linha do segundo extenso com 2 dígitos (da borda a linha, em mm)
Coluna (inicial) do segundo extenso com 2 dígitos
Distância à linha do favorecido com 2 dígitos (da borda a linha, em mm)
Coluna (inicial) do favorecido com 2 dígitos
Distância à linha da cidade com 2 dígitos (da borda a linha, em mm)
Coluna (final) da cidade com 2 dígitos
Coluna (inicial) do dia com 2 dígitos
Coluna (inicial) do mês com 2 dígitos
Coluna (inicial) do ano com 2 dígitos

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Numero_do_Banco As String
Dim Str_Geometria_do_Cheque As String

Str_Numero_do_Banco = "001"
Str_Geometria_do_Cheque = "04941506230128013560647090"

Int_Retorno = Daruma_FI2000_CorrigirGeometriaCheque(Str_Numero_do_Banco, Str_Geometria_do_Cheque)

· Exemplo em Delphi 7.0:
var
Str_Numero_do_Banco: String;
Str_Geometria_do_Cheque: String;
begin
Str_Numero_do_Banco := '001';
Str_Geometria_do_Cheque := '04941506230128013560647090';

Int_Retorno := Daruma_FI2000_CorrigirGeometriaCheque(pchar( Str_Numero_do_Banco ), pchar( Str_Geometria_do_Cheque) );
FormPrincipal.Daruma_Analisa_Retorno();


Daruma_FI2000_DescontoSobreItemVendido(Índice 5018)

Método: Daruma_FI2000_DescontoSobreItemVendido
[Índice 5018]
Previous Top Next

· Definição do Método:
Permite um desconto sobre um ítem vendido.

· Parâmetros do Método:
1. Número Ítem: String com o número do ítem a ser concedido o desconto, com no máximo 3 dígitos.
2. Tipo Desconto: 1 (um) caráctere indicando a forma do desconto. '$' desconto por valor e '%' desconto percentual.
3. Valor Desconto: String com até 8 dígitos para desconto por valor (2 casas decimais) e 4 dígitos para desconto percentual.

Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Numero_do_Item As String
Dim Str_Tipo_do_Desconto As String
Dim Str_Valor_do_Desconto As String

Str_Numero_do_Item = "01"
Str_Tipo_do_Desconto = "$"
Str_Valor_do_Desconto = "10"

Int_Retorno = Daruma_FI2000_DescontoSobreItemVendido(Str_Numero_do_Item, _
Str_Tipo_do_Desconto, Str_Valor_do_Desconto)

· Exemplo em Delphi 7.0:
var
Str_Numero_do_Item: String;
Str_Tipo_do_Desconto: String;
Str_Valor_do_Desconto: String;
begin
Str_Numero_do_Item := '01';
Str_Tipo_do_Desconto := '$';
Str_Valor_do_Desconto := '10';

Int_Retorno := Daruma_FI2000_DescontoSobreItemVendido(pchar( Str_Numero_do_Item ), pchar( Str_Tipo_do_Desconto ), pchar( Str_Valor_do_Desconto ));


Daruma_FI2000_AcrescimosICMSISS(Índice 5021)

Método: Daruma_FI2000_AcrescimosICMSISS [Índice 5021]
Previous Top Next

· Definição do Método:
Lê da memória da impressora o total de acréscimos ICMS/ISS.

· Parâmetros do Método:
Acréscimos ICMS: Variável String com o tamanho de 14 posições para receber os acréscimos em ICMS.
Acréscimos ISS: Variável String com o tamanho de 14 posições para receber os acréscimos em ISS.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_AcrescimosICMS As String
Dim Str_AcrescimosISS As String
Str_AcrescimosICMS = Space(14)
Str_AcrescimosISS = Space(14)
Int_Retorno = Daruma_FI2000_AcrescimosICMSISS(Str_AcrescimosICMS, Str_AcrescimosISS)
TX_Retornos_FS2000.Text = " ICMS:" + Str_AcrescimosICMS + " ISS:" + Str_AcrescimosISS

· Exemplo em Delphi 7.0:
var
Str_AcrescimosICMS: String;
Str_AcrescimosISS: String;
begin
SetLength (Str_AcrescimosICMS,14);
SetLength (Str_AcrescimosISS,14);

Int_Retorno := Daruma_FI2000_AcrescimosICMSISS(pchar(Str_AcrescimosICMS), pchar(Str_AcrescimosISS));


Daruma_FI2000_CancelamentosICMSISS(Índice 5022)

Método: Daruma_FI2000_CancelamentosICMSISS [Índice 5022]
Previous Top Next

· Definição do Método:
Lê da memória da impressora o total de cancelamentos ICMS/ISS.

· Parâmetros do Método:
Cancelamentos ICMS: Variável String com o tamanho de 14 posições para receber os cancelamentos em ICMS.
Cancelamentos ISS: Variável String com o tamanho de 14 posições para receber os cancelamentos em ISS.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_CancelamentosICMS As String
Dim Str_CancelamentosICMS As String
Str_CancelamentosICMS = Space(14)
Str_CancelamentosISS = Space(14)
Int_Retorno = Daruma_FI2000_CancelamentosICMSISS(Str_CancelamentosICMS, Str_CancelamentosISS)
TX_Retornos_FS2000.Text = " ICMS:" + Str_CancelamentosICMS + " ISS:" + Str_CancelamentosISS

· Exemplo em Delphi 7.0:
var
Str_CancelamentosICMS: String;
Str_CancelamentosISS: String;
begin
SetLength (Str_CancelamentosICMS,14);
SetLength (Str_CancelamentosISS,14);

Int_Retorno := Daruma_FI2000_CancelamentosICMSISS(pchar(Str_CancelamentosICMS), pchar(Str_CancelamentosISS));


Daruma_FI2000_DescontosICMSISS(Índice 5023)

Método: Daruma_FI2000_DescontosICMSISS [Índice 5023]
Previous Top Next

· Definição do Método:
Lê da memória da impressora o total de descontos ICMS/ISS.

· Parâmetros do Método:
Dencontos ICMS: Variável String com o tamanho de 14 posições para receber os descontos em ICMS.
Dencontos ISS: Variável String com o tamanho de 14 posições para receber os descontos em ISS.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_DencontosICMS As String
Dim Str_DencontosISS As String
Str_DencontosICMS = Space(14)
Str_DencontosISS = Space(14)
Int_Retorno = Daruma_FI2000_DescontosICMSISS(Str_Dencontos_ICMS, Str_DencontosISS)
TX_Retornos_FS2000.Text = " ICMS:" + Str_DencontosICMS + " ISS:" + Str_DencontosISS

· Exemplo em Delphi 7.0:
var
Str_DescontosICMS: String;
Str_DescontosISS: String;
begin
SetLength (Str_DescontosICMS,14);
SetLength (Str_DescontosISS,14);

Int_Retorno := Daruma_FI2000_DescontosICMSISS(pchar(Str_DescontosICMS), pchar(Str_DescontosISS));


Daruma_FI2000_LeituraIformacaoUltimoDOC(Índice 5024)

Método: Daruma_FI2000_LeituraInformacaoUltimoDOC [Índice 5024]
Previous Top Next

· Definição do Método:
Retorna o total acumulado do último DOC emitido na impressora.

· Parâmetros do Método:
Tipo último DOC: Variável String com 10 posições para receber o tipo do último documento emitido.
Valor último DOC: Variável String com 200 posições para receber o valor do último documento emitido.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Tipo_Ultimo_Doc As String
Dim Str_Valor_Ultimo_Doc As String
Str_Tipo_Ultimo_Doc = Space(25)
Str_Valor_Ultimo_Doc = Space(225)
Int_Retorno = Daruma_FI2000_LeituraInformacaoUltimoDoc(Str_Tipo_Ultimo_Doc, Str_Valor_Ultimo_Doc)
TX_Retornos_FS2000.Text = Str_Tipo_Ultimo_Doc + Str_Valor_Ultimo_Doc

· Exemplo em Delphi 7.0:
var
Str_Tipo_Ultimo_Doc: String;
Str_Valor_Ultimo_Doc: String;
begin
SetLength (Str_Tipo_Ultimo_Doc,25);
SetLength (Str_Valor_Ultimo_Doc,225);

Int_Retorno := Daruma_FI2000_LeituraInformacaoUltimoDoc(pchar(Str_Tipo_Ultimo_Doc), pchar(Str_Valor_Ultimo_Doc));


Daruma_FI2000_LeituraIformacaoUltimosCNF(Índice 5025)

Método: Daruma_FI2000_LeituraInformacaoUltimosCNF [Índice 5025]
Previous Top Next

· Definição do Método:
Retorna o total acumulado dos últimos CNF, programados na impressora.

· Parâmetros do Método:
Relatório Gerêncial: Variável String com 200 posições para receber o conteúdo do último relatório gerencial emitido na impressora.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_LeituraUltimosCNF As String
Str_LeituraUltimosCNF = Space(450)
Int_Retorno = Daruma_FI2000_LeituraInformacaoUltimosCNF(Str_LeituraUltimosCNF)
TX_Retornos_FS2000.Text = Str_LeituraUltimosCNF

· Exemplo em Delphi 7.0:
var
Str_LeituraUltimosCNF: String;
begin
SetLength (Str_LeituraUltimosCNF,450);

Int_Retorno := Daruma_FI2000_LeituraInformacaoUltimosCNF(pchar(Str_LeituraUltimosCNF) );
end;


Daruma_FI2000_AbreRelatorioGerencial(Índice 5013)

Método: Daruma_FI2000_AbreRelatorioGerencial [Índice 5013]
Previous Top Next

· Definição do Método:
Abre um relatório gerencial previamente programado na impressora.

· Parâmetros do Método:
Abre Relatório Gerencial: Variável String com o índice do relatório gerencial a ser aberto.

Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Indice_Gerencial As String

Str_Indice_Gerencial = InputBox("Entre com o Indice do Gerencial a ser Aberto:", "Daruma Framework", "01")
If Str_Indice_Gerencial = "" Then
Exit Sub
End If
Int_Retorno = Daruma_FI2000_AbreRelatorioGerencial(Str_Indice_Gerencial)

· Exemplo em Delphi 7.0:
begin
Str_Indice_Gerencial := InputBox('Entre com o Indice do Gerencial a ser Aberto:', 'Daruma Framework', '01');
if Str_Indice_Gerencial = '' Then
Exit;

Int_Retorno := Daruma_FI2000_AbreRelatorioGerencial(pchar(Str_Indice_Gerencial));


Daruma_FI2000_CriaRelatorioGerencial(Índice 5012)Falta exemplo em Delphi!!!!!!

Método: Daruma_FI2000_CriaRelatorioGerencial [Índice 5012]
Previous Top Next

· Definição do Método:
Permite programar na impressora relatórios gerenciais.

· Parâmetros do Método:
Cria Relatório Gerêncial: Variável String com descrição do relatório gerencial com até (16) carácteres.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Nome_Gerencial As String

Str_Nome_Gerencial = InputBox("Entre com um Nome para o Gerencial:", "Daruma Framework", "Relatorio Diario")

If Str_Nome_Gerencial = "" Then
Exit Sub
End If
Int_Retorno = Daruma_FI2000_CriaRelatorioGerencial(Str_Nome_Gerencial)

· Exemplo em Delphi 7.0:
var
Str_Nome_Gerencial: String;
begin
Str_Nome_Gerencial := InputBox('Entre com um Nome para o Gerencial:', 'Daruma Framework', 'Relatorio Diario');
if Str_Nome_Gerencial = '' Then
Exit;
Int_Retorno := Daruma_FI2000_CriaRelatorioGerencial(Str_Nome_Gerencial);
TX_Retornos_FS2000.Lines.Text := pchar(Str_Nome_Gerencial);


Daruma_FI2000_VerificaRelatorioGerencial(Índice 5014)

Método: Daruma_FI2000_VerificaRelatorioGerencial [Índice 5014]
Previous Top Next

· Definição do Método:
Retorna as descrições dos relatórios programados na impressora.

· Parâmetros do Método:
Relatório Gerêncial: Variável String com 200 posições para receber as descrições dos relatórios gerenciais programados na impressora.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Gerencial As String
Str_Gerencial = Space(358)
Int_Retorno = Daruma_FI2000_VerificaRelatorioGerencial(Str_Gerencial)
TX_Retornos_FS2000.Text = Str_Gerencial

· Exemplo em Delphi 7.0:
var
Str_Gerencial: String;
begin
SetLength (Str_Gerencial,358);

Int_Retorno := Daruma_FI2000_VerificaRelatorioGerencial(pchar(Str_Gerencial));


Daruma_FI2000_SegundaViaCNFV(Índice 5019)

Método: Daruma_FI2000_SegundaViaCNFV [Índice 5019]

Previous Top Next

· Definição do Método:
Permite emitir uma segunda via de um CNFV.

· Parâmetros do Método:
Não Há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_FI2000_SegundaViaCNFVinculado()

· Exemplo em Delphi 7.0:
begin
Int_Retorno := Daruma_FI2000_SegundaViaCNFVinculado();


Daruma_FI2000_CancelamentoCNFV(Índice 5020)

Método: Daruma_FI2000_CancelamentoCNFV [Índice 5020]
Previous Top Next

· Definição do Método:
Permite cancelar um CNFV.

· Parâmetros do Método:
Cancelamento: Variável String com o índice do CNFV a ser cancelado.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_COO_CNFV As String
Str_COO_CNFV = InputBox("Entre com o COO do CNFV a ser Cancelado:", "Daruma Framework", "001")

If Str_COO_CNFV = "" Then
Exit Sub
End If
Int_Retorno = Daruma_FI2000_CancelamentoCNFV(Str_COO_CNFV)

· Exemplo em Delphi 7.0:
var
Str_COO_CNFV: String;
begin
Str_COO_CNFV := InputBox('Entre com o COO do CNFV a ser Cancelado:', 'Daruma Framework', '001');
if Str_COO_CNFV = '' Then
Exit;

Int_Retorno := Daruma_FI2000_CancelamentoCNFV(pchar(Str_COO_CNFV));


Implementando TEF com a Daruma32.dll

Métodos: Para Implementação de TEF com a Daruma32.DLL

· Definição do Método:
Para realizar o TEF, existe operações que infelizmente são um pouco difícies para determinadas linguagens de programação Implementar.

Um Exemplo disso é o travamento do Teclado, Impressao da Resposta do TEF, problemas de foco na Janela, controle do ECF ligado e Desligado, etc.

Por isso implementamos para você desenvolvedor 5(Cinco) Funções Exclusivas para o TEF que permitirá que você efetue o TEF sem maiores problemas e sem dificuldades nas operações de

1) Esperar o Arquivo de Resposta.
2) Imprimir Resposta controlando o Arquivo no ECF se foi desligado ou não e re-imprimindo no Gerencial.
3) Setar o Foco na Janela de seu aplicativo de Automação.
4) Fechar o Relatorio Seja ele Vinculado ou não.

Veja Graficamente como e quando usar as Funções Auxiliares de TEF: clique aqui Daruma_TEF_Tratando os Erros para ver passo-a-passo, como fazer o tratamentos dos erros como: Impressora com pouco papel, sem papel, off-line ou desligada.


Daruma_TEF_SetFocus(Índice 1902)

Método: Daruma_TEF_SetFocus [Índice 1902]
Previous Top Next

· Definição do Método:
Coloca o foco na Janela que você especificar. Isso resolve alguns problemas do TEF de perda de foco apos ou durante uma transação TEF.

· Parâmetros do Método:
JANELA = String com o TITULO da Janela, a Método irá buscar a janela para colocar o foco através do TÍTULO da Janela, do CAPTION da Janela. Apenas isso.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Exemplo: Colocando o Foco em uma Janela que o Título da Janela é "Aplicativo de Automação Comercial Versão 1.0"

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Titulo_Janela As String
Str_Titulo_JanelInt_Retorno = InputBox("Entre com o título da Janela que você deseja setar o focu:", "Daruma Framework", "Daruma Framework Impressoras Fiscais")
Int_Retorno = Daruma_TEF_SetFocus(Str_Titulo_Janela)
End Sub

· Exemplo em Delphi 7.0:
var Str_Titulo_Janela: String;
begin
Str_Titulo := InputBox('Daruma Framework', 'Entre com o título da Janela que você deseja setar o focu:', 'Daruma Framework Impressoras Fiscais');
Int_Retorno := Daruma_TEF_SetFocus(pchar(Str_Titulo_Janela));


Daruma_TEF_FechaRelatorio(Índice 1904)

Método: Daruma_TEF_FechaRelatorio [Índice 1904]
Previous Top Next

· Definição do Método:
Fecha o Relatório no ECF, seja qual for o relatório que estiver aberto. Não se preocupe em identificar se o Relatório é Gerencial ou Comprvante Não Fiscal Não Vinculado, apenas chame esta Método que possui inteligencia para Identificar qual é o relatorio que está aberto e fechá-lo.

· Sem parâmetros.
Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Exemplo: Se tiver um comprovante não fiscal aberto na impressora, esta método erá chechá-lo.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_TEF_FechaRelatorio()

· Exemplo em Delphi 7.0:
begin
Int_Retorno := Daruma_TEF_FechaRelatorio();


Daruma_TEF_ImprimirResposta(Índice 1901)

Método: Daruma_TEF_ImprimirResposta [Índice 1901]
Previous Top Next

· Definição do Método:
Um dos Grandes problemas Hoje das empresas de software na Homologação do TEF é a impressão da Reposta no ECF.
Abrir o Arquivo, Buscar o Campo a ser impresso, Controlar a impressao, etc.. tudo isso é realizado por este Método.
Passe apenas o PATH onde este arquivo se encontra e esta Método imprime pra você o Arquivo e irá devolver se a impressão foi com sucesso ou não, caso não tenha tido sucesso você deverá proceder os passos do TEF de perguntar se deseja continuar a impressão ou não etc..Clique aqui e veja como tratar os possíveis erros de impressão.

· Parâmetros do Método:
Arquivo: String com o Caminho completo + nome do arquivo que você deseja imprimir: "C:\TEF_DIAL\RESP\INTPOS.001"
Forma: A Forma Pagamento que você deseja Abrir o Comprovante não fiscal Vinculado, caso você deseje imprimir o Arquivo no Relatório Gerêncial, passe este parâmetro VAZIO, NULO sem conteúdo. E o Arquivo será impresso em um relatório Gerencial.
Travar Teclado: String com "0" ou "1" para travar o teclado durante a Impressão do Arquivo. "0" - Não Trava, "1" - Trava.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Fluxograma básico de uso desta Método:
1) Retorno = Daruma_TEF_ImprimirResposta("C:\TEF_DIAL\INTPOS.001","Dinheiro","1")
2)Retorno é Igual a 1(um)?
3)Se Sim, chamar a Método para encerrar a impressao
(Daruma_FI_FechaComprovanteNaoFiscalVinculado ou Daruma_FI_FechaRelatorioGerencial)
4)Se Não, Colocar MSGBOX na Tela "Impressora Nao Responde, deseja Continuar?
Sim ou não?"
5)Se Sim, Voltar para o passo 1, só que não passando o parâmetro
da Forma de Pagamento, passe um espaco em branco. (Daruma_TEF_ImprimirResposta("C:\TEF_DIAL\INTPOS.001"," ","1") isso fará com que a Método abre o Relatorio Gerencial e volte a imprimir tudo no Relatório Gerencial.
6)Se não, chamar a Método para encerrar a impressao
(Daruma_FI_FechaComprovanteNaoFiscalVinculado ou Daruma_FI_FechaRelatorioGerencial)

· Exemplo: Impressão do Arquivo INTPOS.001 no Comprovante Não Fiscal Vinculado.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Path_Arquivo_Resp_TEF As String
Dim Str_Forma_Pagamento As String
Dim Str_Travar_Teclado As String
Int_Retorno = Daruma_FI_VendeItem("0650", "Sapato", "NN", "I", "1", "2", "1,00", "%", "0,00")
Int_Retorno = Daruma_FI_IniciaFechamentoCupom("A", "%", "0,00")
Int_Retorno = Daruma_FI_EfetuaFormaPagamento("Dinheiro", "1,00")
Int_Retorno = Daruma_FI_TerminaFechamentoCupom("Obrigado volte sempre!!!")
If Int_Retorno <> 1 Then
MsgBox "Erro na venda do ítem", vbCritical, "Daruma Framework"
Else
Str_Path_Arquivo_Resp_TEF = "C:\TEF_Dial\Resp\Intpos.001"
Str_Forma_Pagamento = "Dinheiro"
Str_Travar_Teclado = "1"
Int_Retorno = Daruma_TEF_ImprimirResposta(Str_Path_Arquivo_Resp_TEF, Str_Forma_Pagamento, Str_Travar_Teclado)
End If

· Exemplo em Delphi 7.0:
var
Str_Path_Arquivo_Resp_TEF: String;
Str_Forma_de_Pagamento: String;
Str_Travar_Teclado: String;
begin
Str_Path_Arquivo_Resp_TEF := Trim(Path_Arquivo_Resp_TEF.Text);
Str_Forma_de_Pagamento := Trim(Forma_de_Pagamento.Text);
Str_Travar_Teclado := Trim(Travar_Teclado.Text);
Int_Retorno := Daruma_FI_VendeItem(pchar('0650'), pchar('Sapato'), pchar('NN'), 'I', '1', 2, pchar('1,00'), '%', pchar('0,00'));
Int_Retorno := Daruma_FI_IniciaFechamentoCupom('A', '%', pchar('0,00'));
Int_Retorno := Daruma_FI_EfetuaFormaPagamento(pchar(Str_Forma_de_Pagamento), pchar('1,00'));
Int_Retorno := Daruma_FI_TerminaFechamentoCupom(pchar('Obrigado volte sempre!!'));

if Int_Retorno <> 1 Then
begin
Application.MessageBox('Erro na venda do item !!!', 'Daruma Framework', mb_ok + 16);
end;
Int_Retorno := Daruma_TEF_ImprimirResposta(pchar( Str_Path_Arquivo_Resp_TEF ), pchar( Str_Forma_de_Pagamento ), pchar( Str_Travar_Teclado ) );


Daruma_TEF_ImprimirRespostaCartao(Índice 1905)

Método: Daruma_TEF_ImprimirRespostaCartao [Índice 1905]
Previous Top Next

· Definição do Método:
Um dos Grandes problema Hoje das empresas de software na Homologação do TEF é a impressão da Reposta no ECF.
Abrir o Arquivo, Buscar o Campo a ser impresso, Controlar a impressao, etc.. tudo isso é realizado por esta Método.
Passe apenas o PATH onde este arquivo se encontra e esta Método imprime pra você o Arquivo e irá devolver se a impressão foi com sucesso ou não, caso não tenha tido sucesso você deverá proceder os passos do TEF de perguntar se deseja continuar a impressão ou não etc..

· Parâmetros do Método:
Arquivo: String com o Caminho completo + nome do arquivo que você deseja imprimir: "C:\TEF_DIAL\RESP\INTPOS.001"
Forma: A Forma Pagamento que você deseja Abrir o Comprovante não fiscal Vinculado, caso você deseje imprimir o Arquivo no Relatório Gerêncial, passe este parâmetro com apenas um ESPAÇO EM BRANCO. E o Arquivo será impresso em um relatório Gerencial.
Travar Teclado: String com "0" ou "1" para travar o teclado durante a Impressão do Arquivo. "0" - Não Trava, "1" - Trava.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Fluxograma básico de uso desta Método:
1) Retorno = Daruma_TEF_ImprimirResposta("C:\TEF_DIAL\INTPOS.001","Dinheiro","1")
2)Retorno é Igual a 1(um)?
3)Se Sim, chamar a Método para encerrar a impressao
(Daruma_FI_FechaComprovanteNaoFiscalVinculado ou Daruma_FI_FechaRelatorioGerencial)
4)Se Não, Colocar MSGBOX na Tela "Impressora Nao Responde, deseja Continuar?
Sim ou não?"
5)Se Sim, Voltar para o passo 1, só que não passando o parâmetro
da Forma de Pagamento, passe um espaco em branco. (Daruma_TEF_ImprimirResposta("C:\TEF_DIAL\INTPOS.001"," ","1") isso fará com que a Método abre o Relatorio Gerencial e volte a imprimir tudo no Relatório Gerencial.
6)Se não, chamar a Método para encerrar a impressao
(Daruma_FI_FechaComprovanteNaoFiscalVinculado ou Daruma_FI_FechaRelatorioGerencial)

· Exemplo: Impressão do Arquivo INTPOS.001 no Comprovante Não Fiscal Vinculado.

· Observações:
- Aplica-se este metodo quando se tratar de uma venda com mais de um cartão.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Path_Arquivo_Resp_TEF As String
Dim Str_Forma_de_Pagamento As String
Dim Str_Travar_Teclado As String
Dim Str_Valor_da_Forma_Pagamento As String

Int_Retorno = Daruma_FI_VendeItem("7000", "Chinelo", "NN", "I", "1", "2", "2,50", "%", "0,00")
Int_Retorno = Daruma_FI_IniciaFechamentoCupom("A", "%", "0,00")
Int_Retorno = Daruma_FI_EfetuaFormaPagamento("Dinheiro", "1,50")
Int_Retorno = Daruma_FI_EfetuaFormaPagamento("Dinheiro", "1,00")
Int_Retorno = Daruma_FI_TerminaFechamentoCupom("Obrigado volte sempre!!")

If Int_Retorno <> 1 Then
MsgBox "Erro na venda do item!", vbCritical, "Daruma Framework"
Else
Str_Path_Arquivo_Resp_TEF = "C:\TEF_Dial\Resp\Intpos.001"
Str_Forma_de_Pagamento = "Dinheiro"
Str_Travar_Teclado = "1"
Str_Valor_da_Forma_Pagamento = "1,00"

Int_Retorno = Daruma_TEF_ImprimirRespostaCartao(Str_Path_Arquivo_Resp_TEF, Str_Forma_de_Pagamento, _
Str_Travar_Teclado, Str_Valor_da_Forma_Pagamento)
Int_Retorno = Daruma_TEF_FechaRelatorio()
If Int_Retorno = 1 Then
Int_Retorno = Daruma_TEF_ImprimirRespostaCartao("C:\TEF_Dial\Resp\Intpos.001", "Dinheiro", "1", "1,50")
Int_Retorno = Daruma_TEF_FechaRelatorio()
End If
End If

· Exemplo em Delphi 7.0:
var
Str_Path_Arquivo_Resp_TEF: String;
Str_Forma_de_Pagamento: String;
Str_Travar_Teclado: String;
Str_Valor_da_Forma_Pagamento: String;
begin
Str_Path_Arquivo_Resp_TEF := Trim(Path_Arquivo_Resp_TEF.Text);
Str_Forma_de_Pagamento := Trim(Forma_de_Pagamento.Text);
Str_Travar_Teclado := Trim(Travar_Teclado.Text);
Str_Valor_da_Forma_Pagamento := Trim(Valor_da_Forma_Pagamento.Text);
Int_Retorno := Daruma_FI_VendeItem(pchar('0650'), pchar('Sapato'), pchar('NN'), 'I', '1', 2, pchar('2,50'), '%', pchar('0,00'));
Int_Retorno := Daruma_FI_IniciaFechamentoCupom('A', '%', pchar('0,00'));
Int_Retorno := Daruma_FI_EfetuaFormaPagamento(pchar('Dinheiro'), pchar('1,50'));
Int_Retorno := Daruma_FI_EfetuaFormaPagamento(pchar('Dinheiro'), pchar('1,00'));
Int_Retorno := Daruma_FI_TerminaFechamentoCupom(pchar('Obrigado volte sempre!!'));

if Int_Retorno <> 1 Then
begin
Application.MessageBox('Erro na venda do item !!!', 'Daruma Framework', mb_ok + 16);
end
else
begin
Int_Retorno := Daruma_TEF_ImprimirRespostaCartao(pchar( Str_Path_Arquivo_Resp_TEF ), pchar( Str_Forma_de_Pagamento ), pchar( Str_Travar_Teclado ), pchar( Str_Valor_da_Forma_Pagamento) );
Int_Retorno := Daruma_TEF_FechaRelatorio();
end;

if Int_Retorno = 1 Then
begin
Int_Retorno := Daruma_TEF_ImprimirRespostaCartao(pchar('C:\TEF_Dial\Resp\Intpos.001'), pchar('1,50'), '1', pchar('Dinheiro'));
Int_Retorno := Daruma_TEF_FechaRelatorio();


Daruma_TEF_EsperarArquivo(Índice 1900)

Método: Daruma_TEF_EsperarArquivo [Índice 1900]
Previous Top Next

· Definição do Método:
Faz com que a dll espere um Arquivo (que você passa como Parâmetro) por "X" segundos (que você também passa como parâmetro) e devolve se o Arquivo foi encontrado dentro do tempo especificado, caso contrario devolve TIME-OUT.

Este Método é de extrema utilidade para o TEF - Transferência Eletronica de Fundos - onde o aplicativo necessita esperar aquivos de resposta do Gerenciador Padrão, passe apenas o PATH com o nome do Arquivo e o tempo que você deseja que a dll espere o arquivo e pronto, deixe que a dll faça o "contador de tempo" para você, você ainda pode escolher se enquanto a dll aguarda a criação do Arquivo o Teclado deve ser Bloqueado ou não.

· Parâmetros do Método:
Arquivo: String com o Caminho completo + nome do arquivo que você deseja esperar, EX: "C:\TEF_DIAL\RESP\INTPOS.001"
Tempo: String com o tempo qeu você deseja que a dll fique esperando o arquivo chegar, este tempo deve ser passado em Segundos, exemplo de espera de 45 Segundos, EX: "45".

TravarTeclado = String com "0" ou "1" para travar o teclado enquanto espera a chegada do arquivo. "0" - Não Trava, "1" - Trava.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Exemplo: Esperar a chegada do arquivo INTPOS.001 pelos segundos que você espacificar, sem travar o teclado.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Path_Arquivo_Resp_TEF As String
Dim Str_Tempo_Espera As String

Str_Path_Arquivo_Resp_TEF = "C:\TEF_Dial\Resp\Intpos.001"
Str_Tempo_Espera = Tx_Tempo_de_Espera

Int_Retorno = Daruma_TEF_EsperarArquivo(Str_Path_Arquivo_Resp_TEF, Str_Tempo_Espera, "0")
If Int_Retorno = 1 Then
MsgBox "O Arquivo de Resposta foi localizado com sucesso no seguinte path:" + TX_Path_Nome_Arquivo, vbExclamation, "Daruma Framework"
Else
MsgBox "Estourou o tempo de:" + Tx_Tempo_de_Espera + " segundos e o arquivo de resposta nao pode ser localizado no seguinte path: " + Str_Path_Resp_TEF, vbCritical, "Daruma Framework"
End If

· Exemplo em Delphi 7.0:
var
Str_Path_Resp_TEF: String;
Str_Tempo_Espera: String;
begin
Str_Path_Resp_TEF := Trim(Path_Resp_TEF.Text);
Str_Tempo_Espera := Trim(Tempo_Espera.Text);

Int_Retorno := Daruma_TEF_EsperarArquivo( pchar( Str_Path_Resp_TEF ), pchar( Str_Tempo_Espera ), pchar(' 0') );
if Int_Retorno = 1 Then
begin
Application.MessageBox('O Arquivo de Resposta foi localizado com sucesso !!!', 'Daruma Framework', mb_ok + 32);
end
else
begin
Application.MessageBox('O Arquivo de Resposta não foi localizdo, Tempo esgotado !!!', 'Daruma Framework', mb_ok + 16);
end;


Daruma_TEF_TravarTeclado(Índice 1903)

Método: Daruma_TEF_TravarTeclado [Índice 1903]
Previous Top Next

· Definição do Método:
Trava ou Destrava o Teclado para entrada de dados, não bufferiza e não deixa resíduos no Buffer. Trava totalmente a entrada de dados via teclado deixando o Buffer Zerado.

· Parâmetros do Método:
String com 0(Zero) ou 1(um) , 0(Destrava) 1(Trava)

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:
· Exemplo em Visual Basic 6.0:
Dim Travar As String

Int_Retorno = Daruma_FI_VerificaImpressoraLigada()

MsgBox "Seu Teclado Ficara Travado por 5 segundos Pressione Enter para começar!", vbCritical, "Daruma Framework"
Int_Retorno = Daruma_TEF_TravarTeclado("1")
Sleep (5000)
Int_Retorno = Daruma_TEF_TravarTeclado("0")
MsgBox "Seu Teclado foi Destravado", vbEsclamation, "Daruma Framework"

· Exemplo em Delphi 7.0:
begin

Int_Retorno := Daruma_FI_VerificaImpressoraLigada();

Application.MessageBox('Seu Teclado Ficara Travado por 5 segundos Pressione Enter para começar!!!', 'Daruma Framework', mb_ok + 32);

Int_Retorno := Daruma_TEF_TravarTeclado('1');
Sleep (5000);
Int_Retorno := Daruma_TEF_TravarTeclado('0');
Application.MessageBox('Seu Teclado foi Destravado!!!', 'Daruma Framework', mb_ok + 32);


Daruma_TEF_Tratando os Erros

Dicas: Daruma_TEF_Tratando os erros!!!

Previous Top Next

· Dicas de tratamentos de Impressão:

· Como fazer nos seguintes casos?
1 - Acaba a Energia.
2 - Acaba Bobina de Papel.
3 - O Ecf sinaliza Pouco Papel.
4 - A impressora fica Off-Line.

· Veja o Fluxo abaixo para, onde são previstos todos estes pontos.

Exemplo em Vb6:
Dim Int_Sts_Func As Integer
Dim Int_Impressao_TEF As Integer
Dim Int_Numero_Vias As Integer
Dim Str_Sts_CF As String
Dim Str_Sts_CNFV As String
Dim Str_Sts_Gerencial As String
Dim Str_Confirma As String
Dim Int_Sts_CF As Integer
Dim Int_Sts_CNFV As Integer
Dim Int_Sts_Gerencial As Integer
Dim Int_Flag_Vinculado As Integer
Dim Int_Ack_Retorno
Dim Int_Sts1 As Integer
Dim Int_Sts2 As Integer
Dim Int_Contador As Integer

Int_Sts_Func = 0
Str_Sts_CNFV = Space(2)
Str_Sts_Gerencial = Space(2)

Int_Sts_Func = Daruma_Registry_StatusFuncao("0")
Int_Sts_Func = Daruma_FI_VerificaImpressoraLigada
If Int_Sts_Func = 1 Then 'Analisa-se e st1 e caso seja >=16 entao a impressora esta off-line
Int_Sts_Func = Daruma_FI_VerificaEstadoImpressora(Int_Ack_Retorno, Int_Sts1, Int_Sts2)
Int_Contador = 128
'Aqui Verifica se o Bit 16 esta ligado, se estiver ligado e porque esta off line a impressora
'se ele estiver ligado ele sai com 16 na Variável ST1
Do While (Int_Sts1 > 16 And Int_Sts1 <> 0)
If Int_Sts1 >= Int_Contador Then
Int_Sts1 = Int_Sts1 - Int_Contador
Else
Int_Contador = Int_Contador - Int_Sts1
End If
Loop
If Int_Sts1 >= 16 Then
Int_Sts_Func = 0 'Aqui eu zero a Variável para que caia no loop de impressora desligada
End If
End If
If Int_Sts_Func <> 1 Then
MsgBox "Impressora Desligada ligue para comecar os testes!", vbCritical, "Daruma Framework"
Exit Sub
End If

'Aqui fazemos uma venda para que o nosso arquivos de resposta possa ser impresso
Int_Sts_Func = Daruma_FI_VendeItem("500", "Caderno", "FF", "I", "1", "2", "1,00", "$", "0,00")
Int_Sts_Func = Daruma_FI_IniciaFechamentoCupom("A", "$", "0,00")
Int_Sts_Func = Daruma_FI_EfetuaFormaPagamento("Dinheiro", "1,00")
Int_Sts_Func = Daruma_FI_TerminaFechamentoCupom("Obrigado Volte Sempre!!!")
Int_Sts_Func = Daruma_TEF_EsperarArquivo("C:\TEF_Dial\Resp\Intpos.001", "5", "0")
If Int_Sts_Func <> 1 Then
MsgBox "Arquivo com a Resposta de TEF Não Encontrado!", vbCritical, "Daruma Framework"
Exit Sub
End If
Int_Sts_Func = Daruma_Registry_StatusFuncao("1")
Int_Impressao_TEF = 0
Int_Numero_Vias = 2
Do While (Int_Numero_Vias <> 0) 'Inicio do loop que controla o numero do vias

Int_Sts_CF = 0
Str_Sts_CF = Space(3)

Int_Sts_Func = Daruma_FI_StatusCupomFiscal(Str_Sts_CF)
Int_Sts_CF = CInt(Str_Sts_CF) 'Converto a Variável String em integer evitando assim sujeira
Do While (Int_Sts_CF = 1) 'Enquanto o cupom estiver aberto permaneco em loop
'Int_Sts_Func = Daruma_Registry_StatusFuncao("0")
Int_Sts_Func = Daruma_FI_IniciaFechamentoCupom("A", "$", "0,00")
Int_Sts_Func = Daruma_FI_EfetuaFormaPagamento("Dinheiro", "1,00")
Int_Sts_Func = Daruma_FI_TerminaFechamentoCupom("Obrigado Volte Sempre!!!")
Int_Sts_Func = Daruma_FI_VerificaImpressoraLigada
'Int_Sts_Func = Daruma_Registry_StatusFuncao("1")
If Int_Sts_Func = 1 Then 'Analisa-se e st1 e caso seja >=16 entao a impressora esta off-line
Int_Sts_Func = Daruma_FI_VerificaEstadoImpressora(Int_Ack_Retorno, Int_Sts1, Int_Sts2)
End If
If Int_St1 >= 16 Then
Int_Sts_Func = 0 'Aqui eu zero a Variável para que caia no loop de impressora desligada
End If
Do While (Int_Sts_Func <> 1) 'Enquanto a impressora estiver desligada permaneço em loop
Str_ConfirmInt_Retorno = 0
Str_ConfirmInt_Retorno = MsgBox("Impressora Desligada! Verifique e clique em Sim para reimpressão no Gerencial" _
+ Chr(13) + Chr(10) + "ou Não para cancelar.", vbCritical + vbQuestion + vbYesNo, "Daruma Framework")
If Str_ConfirmInt_Retorno = vbYes Then 'Verificando se o usuário deseja continuar ou não
Int_Sts_Func = Daruma_Registry_StatusFuncao("0")
Int_Sts_Func = Daruma_FI_VerificaImpressoraLigada
Int_Sts_Func = Daruma_Registry_StatusFuncao("1")
Else
Exit Sub 'Método abortada!!!
End If
Loop 'Final do Do While Enquanto a impressora estiver desligada permaneço em loop
Loop 'Final do Do While Enquanto o cupom estiver aberto permaneco em loop

Int_Impressao_TEF = Int_Sts_CNFV = Int_Sts_Gerencial = 0

Do While (Int_Impressao_TEF <> 1) 'Controle de Impressão da resposta de TEF
Int_Sts_Func = Daruma_Registry_StatusFuncao("0")
Int_Sts_Func = Daruma_FI_VerificaImpressoraLigada
If Int_Sts_Func = 1 Then 'Analisa-se e st1 e caso seja >=16 entao a impressora esta off-line
Int_Sts_Func = Daruma_FI_VerificaEstadoImpressora(Int_Ack_Retorno, Int_Sts1, Int_Sts2)

Int_Contador = 128
'Aqui Verifica se o Bit 16 esta ligado, se estiver ligado e porque esta off line a impressora
'se ele estiver ligado ele sai com 16 na Variável ST1
Do While (Int_Sts1 > 16 And Int_Sts1 <> 0)
If Int_Sts1 >= Int_Contador Then
Int_Sts1 = Int_Sts1 - Int_Contador
Else
Int_Contador = Int_Contador - Int_Sts1
End If
Loop
If (Int_Sts1 <> 16) Then
Int_Sts_Func = 0 'Aqui eu zero a Variável para que caia no loop de impressora desligada
Int_Sts_Func = Daruma_FI_StatusComprovanteNaoFiscalVinculado(Str_Sts_CNFV)
Int_Sts_CNFV = CInt(Str_Sts_CNFV) 'Converto a Variável String em integer evitando assim sujeira
Int_Sts_Func = Daruma_FI_StatusRelatorioGerencial(Str_Sts_Gerencial)
Int_Sts_Gerencial = CInt(Str_Sts_Gerencial) 'Converto a Variável String em integer evitando assim sujeira
Int_Sts_Func = Daruma_Registry_StatusFuncao("0")
If ((Int_Sts_CNFV = 0 And Int_Sts_Gerencial = 0) Or Int_Flag_Vinculado = 0) Then 'Checando o Status do CNFV e Relatorio Gerencial
Int_Impressao_TEF = Daruma_TEF_ImprimirResposta("C:\TEF_Dial\Resp\Intpos.001", "Dinheiro", "1")
If Int_Impressao_TEF = 1 Then
Int_Flag_Vinculado = 0
Else
Int_Flag_Vinculado = 1
End If
Else
Int_Impressao_TEF = Daruma_TEF_ImprimirResposta("C:\TEF_Dial\Resp\Intpos.001", " ", "1")
End If
End If
Int_Sts_Func = Daruma_Registry_StatusFuncao("1")
If (Int_Impressao_TEF <> 1) Then 'Controle de Interrupção na Impressão
Str_ConfirmInt_Retorno = MsgBox("Impressora Desligada! Verifique e clique em Sim para reimpressão no Gerencial" _
+ Chr(13) + Chr(10) + "ou Não para cancelar.", vbCritical + vbQuestion + vbYesNo, "Daruma Framework")
If Str_ConfirmInt_Retorno = vbNo Then
Int_Impressao_TEF = 1
Int_Numero_Vias = 0
Else
' Int_Numero_Vias = Int_Numero_Vias - 1
End If
Else
Int_Numero_Vias = Int_Numero_Vias - 1
End If
Else

Str_ConfirmInt_Retorno = MsgBox("Impressora Desligada! Verifique e clique em Sim para reimpressão no Gerencial" _
+ Chr(13) + Chr(10) + "ou Não para cancelar.", vbCritical + vbQuestion + vbYesNo, "Daruma Framework")
If Str_ConfirmInt_Retorno = vbNo Then
Int_Impressao_TEF = 1
Int_Numero_Vias = 0
Else
Int_Impressao_TEF = 0
End If
End If
Loop 'Final do Do While Controle de Impressão da resposta de TEF
Loop 'Final do Do While (Int_Numero_Vias <> 0) 'Inicio do loop que controla o numero do vias

If (Daruma_FI_VerificaImpressoraLigada) <> 1 Then
Exit Sub
End If

Int_Sts_Func = Daruma_FI_StatusComprovanteNaoFiscalVinculado(Str_Sts_CNFV)
Int_Sts_CNFV = CInt(Str_Sts_CNFV) 'Converto a Variável String em integer evitando assim sujeira
Int_Sts_Func = Daruma_FI_StatusRelatorioGerencial(Str_Sts_Gerencial)
Int_Sts_Gerencial = CInt(Str_Sts_Gerencial) 'Converto a Variável String em integer evitando assim sujeira
If (Int_Sts_CNFV = 1 Or Int_Sts_Gerencial = 1) Then 'Checando o Status do CNFV e Relatorio Gerencial
Int_Sts_Func = Daruma_TEF_FechaRelatorio() 'Fim da Rotina de TEF
MsgBox "Impressão de TEF concluída", vbInformation, "Daruma Framework"
Exit Sub
Else
MsgBox "A impressão foi Imterrompida", vbCritical, "Daruma Framework"
Exit Sub
End If

· Exemplo em Delphi 7.0:
var
Int_Sts_Func: Integer;
Int_Impressao_TEF: Integer;
Int_Numero_Vias: Integer;
Str_Sts_CF: String;
Str_Sts_CNFV: String;
Str_Sts_Gerencial: String;//Obs: no VB está como String; Str_Confirma: String;
Int_Confirma: Integer;
Int_Sts_CF: Integer;
Int_Sts_CNFV: Integer;
Int_Sts_Gerencial: Integer;
Int_Flag_Vinculado: Integer;
Int_Ack_Retorno: Integer;//Obs: no VB está = Dim Int_Ack_Retorno
Int_Sts1: Integer;
Int_Sts2: Integer;
Int_Contador: Integer;
begin
Int_Flag_Vinculado:=(0);
Int_Contador:=(0);
Int_Sts_Func:= (0);
SetLength (Str_Sts_CNFV,2);
SetLength (Str_Sts_Gerencial,2);
Int_Sts_Func:= Daruma_Registry_StatusFuncao('0');
Int_Sts_Func:= (Daruma_FI_VerificaImpressoraLigada);
//IF 01
If Int_Sts_Func = 1 Then //Analisa-se e st1 e caso seja >=16 entao a impressora esta off-line
Begin
Int_Sts_Func:= Daruma_FI_VerificaEstadoImpressora(Int_Ack_Retorno, Int_Sts1, Int_Sts2);
Int_Contador:= (128);
//Aqui Verifica se o Bit 16 esta ligado, se estiver ligado e porque esta off line a impressora
//se ele estiver ligado ele sai com 16 na variavel ST1
//While_01
While ((Int_Sts1 > 16) And (Int_Sts1 <> 0)) Do
begin
//IF 02
If ((Int_Sts1) >= (Int_Contador)) Then
begin
Int_Sts1:= (Int_Sts1 - Int_Contador);
end
Else
Begin
Int_Contador:= (Int_Contador - Int_Sts1);
End; //IF 02
end;//While_01
//IF 03
If Int_Sts1 >= 16 Then
begin
Int_Sts_Func:= (0); //Aqui eu zero a variavel para que caia no loop de impressora desligada
End; //IF 03
end;//IF 01
//IF 04
If Int_Sts_Func <> 1 Then
Begin
Application.MessageBox('Impressora Desligada ligue para comecar os testes!', 'Daruma Framework', mb_ok + 16);
Exit;
end; //IF 04
//Aqui fazemos uma venda para que o nosso arquivos de resposta possa ser impresso
Int_Sts_Func:= Daruma_FI_VendeItem (pchar('500'), pchar('Caderno'), pchar('FF'), 'I', '1', 2, pchar('1,00'), '$', pchar('0,00'));
Int_Sts_Func:= Daruma_FI_FechaCupomResumido(pchar('Dinheiro'), pchar('Tks!!'));
//IF 05
If Int_Sts_Func <> 1 Then
begin
Application.MessageBox('O Cupom Fiscal Esta Aberto Verifique!', 'Daruma Framework', mb_ok + 16);
Exit;
End;//IF 05
Int_Sts_Func:= Daruma_Registry_StatusFuncao('1');
Int_Impressao_TEF:= (0);
Int_Numero_Vias:= (2);
//While_02
While (Int_Numero_Vias <> 0) do //Inicio do loop que controla o numero do vias
begin
Int_Sts_CF:= 0;
SetLength (Str_Sts_CF,3);
Int_Sts_Func:= Daruma_FI_StatusCupomFiscal(Str_Sts_CF);
Int_Sts_CF:= StrToInt(Str_Sts_CF); //Converto a variavel string em integer evitando assim sujeira
//While_03
While (Int_Sts_CF = 1) do //Enquanto o cupom estiver aberto permaneco em loop
begin
Int_Sts_Func:= Daruma_FI_IniciaFechamentoCupom('A', '$', pchar('0,00'));
Int_Sts_Func:= Daruma_FI_EfetuaFormaPagamento(pchar('Dinheiro'), pchar('1,00'));
Int_Sts_Func:= Daruma_FI_TerminaFechamentoCupom(pchar('Obrigado Volte Sempre!!'));
//IF 06
If Int_Sts_Func = 1 Then //Analisa-se e st1 e caso seja >=16 entao a impressora esta off-line
begin
Int_Sts_Func:= Daruma_FI_VerificaEstadoImpressora(Int_Ack_Retorno, Int_Sts1, Int_Sts2);
End;//IF 06
//IF 07
If Int_Sts1 >= 16 Then
begin
Int_Sts_Func:= (0); //Aqui eu zero a variavel para que caia no loop de impressora desligada
End; //IF 07
//While_04
While ((Int_Sts_Func) <> (1)) do //Enquanto a impressora estiver desligada permaneco em loop
begin
Int_Confirma:= (0);
Int_Confirma:= Application.MessageBox ('Impressora Desligada! Verifique e clique em Sim para reimpressao no Gerencial' , 'Daruma Framework',mb_YesNo+mb_DefButton2+mb_IconQuestion);
//IF 08
If (Int_Confirma = 6) Then //Verificando se o usuario deseja continuar ou nao
//Int_Confirma = 6(Sim), = 7(Não), é o valor de retorno do Application.MessageBox
Begin
Int_Sts_Func:= Daruma_Registry_StatusFuncao('0');
Int_Sts_Func:= Daruma_FI_VerificaImpressoraLigada;
Int_Sts_Func:= Daruma_Registry_StatusFuncao('1');
end
Else
begin
Exit; //Funcao abortada!!
end;//if 08
end;//While_04 //Loop Final do Do While Enquanto a impressora estiver desligada permaneco em loop
end;//While_3 //Loop Final do Do While Enquanto o cupom estiver aberto permaneco em loop
Int_Impressao_TEF:= (0);
Int_Sts_CNFV:= (0); //No VB era = Int_Impressao_TEF = Int_Sts_CNFV = Int_Sts_Gerencial = 0
Int_Sts_Gerencial:= (0);
//While_05
While (Int_Impressao_TEF <> 1) do //Controle de Impressao da resposta de TEF
begin
Int_Sts_Func:= Daruma_Registry_StatusFuncao('0');
Int_Sts_Func:= Daruma_FI_VerificaImpressoraLigada;
//IF 09
If Int_Sts_Func = 1 Then //Analisa-se e st1 e caso seja >=16 entao a impressora esta off-line
begin
Int_Sts_Func:= Daruma_FI_VerificaEstadoImpressora(Int_Ack_Retorno, Int_Sts1, Int_Sts2);
Int_Contador:= (128);
//Aqui Verifica se o Bit 16 esta ligado, se estiver ligado e porque esta off line a impressora
//se ele estiver ligado ele sai com 16 na variavel ST1
//While_06
While ((Int_Sts1 > 16) And (Int_Sts1 <> 0)) do
begin
//IF 10
If Int_Sts1 >= Int_Contador Then
begin
Int_Sts1:= ((Int_Sts1) - (Int_Contador));
end
Else
begin
Int_Contador:= ((Int_Contador) - (Int_Sts1));
end;//IF 10
end;//While_06 //Loop
//IF 11
If (Int_Sts1 <> 16) Then
begin
Int_Sts_Func:= (0); //Aqui eu zero a variavel para que caia no loop de impressora desligada
Int_Sts_Func:= Daruma_FI_StatusComprovanteNaoFiscalVinculado(pchar(Str_Sts_CNFV));
Int_Sts_CNFV:= Int_Sts_Func; //Converto a variavel string em integer evitando assim sujeira
Int_Sts_Func:= Daruma_FI_StatusRelatorioGerencial(Str_Sts_Gerencial);
Int_Sts_Gerencial:= StrToInt(Str_Sts_Gerencial); //Converto a variavel string em integer evitando assim sujeira
Int_Sts_Func:= Daruma_Registry_StatusFuncao('0');
//IF 12
If ((Int_Sts_CNFV = (0)) And (Int_Sts_Gerencial = (0)) Or (Int_Flag_Vinculado = (0))) Then //Checando o Status do CNFV e Relatorio Gerencial
begin
Int_Impressao_TEF:= Daruma_TEF_ImprimirResposta('C:\TEF_Dial\Resp\Intpos.001', 'Dinheiro', '1');
//IF 13
If Int_Impressao_TEF = 1 Then
begin
Int_Flag_Vinculado:= (0);
end
Else
begin
Int_Flag_Vinculado:= (1);
End; //IF 13
end
Else
begin
Int_Impressao_TEF:= Daruma_TEF_ImprimirResposta('C:\TEF_Dial\Resp\Intpos.001', ' ', '1');
End; //IF 12
end; // IF 11
Int_Sts_Func:= Daruma_Registry_StatusFuncao('1');
//IF 14
If (Int_Impressao_TEF <> 1) Then //Controle de Interrupcao na Impressao
begin
Int_Confirma:= Application.MessageBox ('Impressora Desligada! Verifique e clique em Sim para reimpressao no Gerencial' , 'Daruma Framework',mb_YesNo+mb_DefButton2+mb_IconQuestion);
//IF 15
If (Int_Confirma = 7) Then
begin
Int_Impressao_TEF:= (1);
Int_Numero_Vias:= (0);
Application.MessageBox('A impressao foi Interrompida', 'Daruma Framework', mb_ok + 16);
Exit;
end;//IF 15
end
Else //IF 14
begin
Int_Numero_Vias:= ((Int_Numero_Vias) - (1));
end; //IF 14
end
Else//IF 09
begin
Int_Confirma:= Application.MessageBox ('Impressora Desligada! Verifique e clique em Sim para reimpressao no Gerencial ou Nao para cancelar.' , 'Daruma Framework',mb_YesNo+mb_DefButton2+mb_IconQuestion);
//IF 16
If (Int_Confirma = 7) Then //Int_Confirma = 6(Sim), = 7(Não), é o valor de retorno do Application.MessageBox
begin
Int_Impressao_TEF:= (1);
Int_Numero_Vias:= (0);
end
Else
begin
Int_Impressao_TEF:= (0);
End;//IF 16
end;//IF 09
end; //While 5 //Loop 'Final do Do While Controle de Impressao da resposta de TEF
end; //While 02 //Loop 'Final do Do While (Int_Numero_Vias <> 0) 'Inicio do loop que controla o numero do vias
//IF 17
If ((Daruma_FI_VerificaImpressoraLigada) <> (1)) Then
begin
Exit;
end; //IF 17
Int_Sts_Func:= Daruma_FI_StatusComprovanteNaoFiscalVinculado(pchar(Str_Sts_CNFV));
Int_Sts_CNFV:= Int_Sts_Func; //Converto a variavel string em integer evitando assim sujeira
Int_Sts_Func:= Daruma_FI_StatusRelatorioGerencial(pchar(Str_Sts_Gerencial));
Int_Sts_Gerencial:= StrToInt(Str_Sts_Gerencial); //Converto a variavel string em integer evitando assim sujeira
//IF 18
If (((Int_Sts_CNFV) = (1)) Or ((Int_Sts_Gerencial) = (1))) Then //Checando o Status do CNFV e Relatorio Gerencial
begin
Int_Sts_Func:= Daruma_TEF_FechaRelatorio(); //Fim da Rotina de TEF
Application.MessageBox('Impressao de TEF concluida', 'Daruma Framework', mb_ok + 32);
Exit;
end
Else
begin
Application.MessageBox('A impressao foi Interrompida', 'Daruma Framework', mb_ok + 16);
Exit;
End;//IF 18
end;


Daruma_DUAL_ImprimirTexto (Índice 4001)

Método: Daruma_DUAL_ImprimirTexto [Índice 4001]
Previous Top Next

· Definição do Método:
Imprime Texto na Impressora DUAL (Imprimirá na porta de Comunicação que foi configurada através do Método Daruma_Registry_DUAL_Porta.

· Parâmetros do Método:
String: Com o texto desejado, com até 3000 bytes.
Inteiro: Indicando se será aguardado o término da impressão 0(zero) não aguarda 1(um) aguardo.

Aqui você poderá Utilizar o protocolo DHTM (DARUMA HTML) caso deseje formatar um texto.

· Por exemplo:
Se deseja Centralizar um Texto na Bobina, chame este Método com o seguinte parâmetro:
iRetorno = Daruma_DUAL_ImprimirTexto("<ce>Teste de Comunicação</ce>","0")

Se desejar Expandir o Texto e Deixá-lo em Negrito Utilize as Chaves:
iRetorno = Daruma_DUAL_ImprimirTexto("<b><e>Teste de Comunicação</b></e>","0")

Se desejar Sublinhar apenas uma parte do Texto utilize a combinação
iRetorno = Daruma_DUAL_ImprimirTexto("<b><e>Teste de <s>Comunicação</s></b></e>","0")
E desta maneira apenas a palavra Comunicação ficará Sublinhada.

Estas são as Tag´s que você poderá a qualquer momento no meio de seu texto implementar, incluíndo uma Combinação entre elas:

<b></b> Para sinalizar Negrito
<i></i> Para sinalizar Itálico
<s></s> Para sinalizar Sublinhado
<e></e> Para sinalizar Expandido
<c></e> Para sinalizar Condensado
<n></n> Para sinalizar Normal
<l></l> Para Saltar Uma Linha
<sl>NN</sl> Para Saltar Várias Linhas
<tc>C</tc> Riscar Linha com um caráctere Especifico
<ce></ce> Para Centralizar
<dt></dt> Para Imprimir Data Atual
<hr></hr> Para Imprimir Hora Atual
<sp>NN</sp> Inserir NN Espaços em Branco
<sn></sn> Sinal Sonoro, Apitar
<g></g> Abre a Gaveta
<a> Aguardar até o Término da Impressão
</a> Não Aguardar até o Término da Impressão
<tb></tb> Tabulação
<< Quando desejar imprimir o caráctere "<"
>> Quando desenar imprimir o caráctere ">"

Veja Aqui Alguns Exemplos de Utilização

· Parâmetros
String: com texto que voce deseja Imprimir (até 2000 de tamanho)
Inteiro: Com o Tamanho do Texto que voce irá imprimir, caso deseje a dll podera calcular o Tamanho, passe entao "0" neste parâmetro.

· Obervação:
Valor Defult da Chave = "0"

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Erro de comunicação, Impressora Desligada
1: OK, Sucesso ao enviar o método
-27: Erro Genérico
-50: Impressora OFF-Line
-51: Impressora Sem Papel
-52: ECF Inicializando.
-53: Erro de Impressão.

Exemplos:

· Exemplo em Visual Basic 6.0:
TX_Texto_Livre.Text = TX_Texto_Livre + "<sn><l><ce><s>Teste com Formatação DHTM</s></ce>"
Int_Retorno = Daruma_DUAL_ImprimirTexto("<sn><l><ce><s>Teste com Formatação DHTM</s></ce>", 0)

TX_Texto_Livre.Text = TX_Texto_Livre + "<n>Estes são os caráctere que você poderá utilizar<n><l>Você poderá a qualquer monento combinar as formatações!!"
Int_Retorno = Daruma_DUAL_ImprimirTexto("<n>Estes são os carácteres que você poderá utilizar<n><l>Você poderá a qualquer monento combinar as formatações!!", 0)

Int_Retorno = Daruma_DUAL_ImprimirTexto("<<b>><</b>> Para sinalizar Negrito", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<i>><</i>> Para sinalizar Itálico", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<s>><</s>> Para sinalizar Sublinhado", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<e>><</e>> Para sinalizar Expandido", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<c>><</c>> Para sinalizar Condensado", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<n>><</n>> Para sinalizar Normal", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<l>><</l>> Para Saltar Uma Linha", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<sl>>NN<</sl>> Para Saltar Várias Linhas", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<tc>>C<</tc>>Riscar Linha com caráctere Específico", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<ce>><</ce>> Para Centralizar", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<dt>><</dt>> Para Imprimir Data Atual", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<hr>><</hr>> Para Imprimir Hora Atual", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<sp>>NN<</sp>> Inserir NN Espaços em Branco", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<sn>><</sn>> Sinal Sonoro, Apitar", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<g>><</g>> Abre a Gaveta", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<a>><</a>> Aguardar até o Término da Impressão", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<l></l><e>DATA:<dt></dt></e><l></l><e>Hora:<hr></hr></e><l></l>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>Anvançando 5 Linhas</ce><sl>5</sl>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>Anvançando 10 Linha</ce><sl>10</sl>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<l>Inserindo<sp>10</sp>10 espaços em Branco", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>Formatação Normal</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<n>DARUMA AUTOMAÇÃO!!</n><l>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>NEGR+ITAL+SUBL+EXPAND</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><i><s><e>DARUMA AUTOMAÇÃO!!</b></i></s></e>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>NEGR+ITAL+SUBL+CONDENSADO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><i><s><c>DARUMA AUTOMAÇÃO!!</b></i></s></c>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>NEGR+ITAL+SUBL+NORMAL</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><i><s><n>DARUMA AUTOMAÇÃO!!</b></i></s></n>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>EXPANDIDO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<e>DARUMA AUTOMAÇÃO!!<e>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>CONDENSADO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<c>DARUMA AUTOMAÇÃO!!</c>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>NEGRITO+EXPANDIDO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><e>DARUMA AUTOMAÇÃO!!</b></e>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>ITÁLICO+EXPANDIDO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<i><e>DARUMA AUTOMAÇÃO!!</i></e>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><dt></dt>SUBLINHADO+EXPANDIDO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<s><e>DARUMA AUTOMAÇÃO!!</s></e>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>NEGRITO+CONDENSADO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><c>DARUMA AUTOMAÇÃO!!</b></c>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>ITÁLICO+CONDENSADO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<i><c>DARUMA AUTOMAÇÃO!!</i></c>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>SUBLINHADO+CONDENSADO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<s><c>DARUMA AUTOMAÇÃO!!</s></c>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>NEGRITO+NORMAL</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><n>DARUMA AUTOMAÇÃO!!</b></n>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>ITÁLICO+NORMAL</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<l><i><n>DARUMA AUTOMAÇÃO!!</i></n>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>SUBLINHADO+NORMAL</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<s><n>DARUMA AUTOMAÇÃO!!</s></n>", 0)

'Enviando todos Juntos
Int_Retorno = Daruma_DUAL_ImprimirTexto("<l><e><b>BUFFER COMPLETO</e></b>", 0)

Int_Retorno = Daruma_DUAL_ImprimirTexto("<<e>>DATA:<<dt>><</dt>><</e>><<l>><<l/>><<e>>Hora:<<hr>><</hr>><</e>><<l>><<l/>><<ce>>" + _
"Anvançando 5 Linhas<</ce>><<sl>>5<</sl>>Inserindo<<sp>>10<</sp>>10 espaços em Branco<<l>>" + _
"<<ce>>Formatação Normal<</ce>><<n>>DARUMA AUTOMAÇÃO!!<</n>><<l>><<ce>>NEGR+ITAL+SUBL+EXPAND<</ce>>" + _
"<<b>><<i>><<s>><<e>>DARUMA AUTOMAÇÃO!!<</b>><</i>><</s>><</e>><<l>><<ce>>NEGR+ITAL+SUBL+CONDENSADO<</ce>>" + _
"<<b>><<i>><<s>><<c>>DARUMA AUTOMAÇÃO!!<</b>><</i>><</s>><</c>><<l>><<ce>>NEGR+ITAL+SUBL+NORMAL<</ce>><<b>>" + _
"<<i>><<s>><<n>>DARUMA AUTOMAÇÃO!!<</b>><</i>><</s>><</n>><<l>><<ce>>EXPANDIDO<</ce>><<e>>DARUMA AUTOMAÇÃO!!" + _
"<<e>><<l>><<ce>>CONDENSADO<</ce>><<c>>DARUMA AUTOMAÇÃO!!<</c>><<l>><<ce>>NEGRITO+EXPANDIDO<</ce>><<b>><<e>>DARUMA AUTOMAÇÃO!!" + _
"<</b>><</e>><<l>><<ce>>itálico+EXPANDIDO<</ce>><<i>><<e>>DARUMA AUTOMAÇÃO!!<</i>><</e>><<l>><<ce>>SUBLINHADO+EXPANDIDO<</ce>>" + _
"<<s>><<e>>DARUMA AUTOMAÇÃO!!<</s>><</e>><<l>><<ce>>NEGRITO+CONDENSADO<</ce>><<b>><<c>>DARUMA AUTOMAÇÃO!!<</b>><</c>><<l>>" + _
"<<ce>>itálico+CONDENSADO<</ce>><<i>><<c>>DARUMA AUTOMAÇÃO!!<</i>><</c>><<l>><<ce>>SUBLINHADO+CONDENSADO<</ce>><<s>><<c>>" + _
"DARUMA AUTOMAÇÃO!!<</s>><</c>><<l>><<ce>>NEGRITO+NORMAL<</ce>><<b>><<n>>DARUMA AUTOMAÇÃO!!<</b>><</n>><<l>><<ce>>itálico+NORMAL" + _
"<</ce>><<l>><<i>><<n>>DARUMA AUTOMAÇÃO!!<</i>><</n>><<l>><<ce>>SUBLINHADO+NORMAL<</ce>><<s>><<n>>DARUMA AUTOMAÇÃO!!<</s>><</n>>", 0)
Int_Retorno = Int_Retorno = Daruma_DUAL_ImprimirTexto("<l></l><e>DATA:<dt></dt></e><l></l><e>Hora:<hr></hr></e><l></l><ce>Anvançando 5 Linhas</ce><sl>5</sl>Inserindo<sp>10</sp>10 espaços em Branco<l><ce>Formatação Normal</ce>" + _
"<n>DARUMA AUTOMAÇÃO!!</n><l><ce>NEGR+ITAL+SUBL+EXPAND</ce><b><i><s><e>DARUMA AUTOMAÇÃO!!</b></i></s></e><l><n><ce>NEGR+ITAL+SUBL+CONDENSADO</ce></n><b><i><s><c>DARUMA " + _
"AUTOMAÇÃO!!</b></i></s></c><l><ce>NEGR+ITAL+SUBL+NORMAL</ce><b><i><s><n>DARUMA AUTOMAÇÃO!!</b></i></s></n><l><ce>EXPANDIDO</ce><e>DARUMA AUTOMAÇÃO!!</e><l><ce>CONDENSADO" + _
"</ce><c>DARUMA AUTOMAÇÃO!!</c><l><ce>NEGRITO+EXPANDIDO</ce><b><e>DARUMA AUTOMAÇÃO!!</b></e><l><ce>itálico+EXPANDIDO</ce><i><e>DARUMA AUTOMAÇÃO!!</i></e><l><ce>SUBLINHADO+" + _
"EXPANDIDO</ce><s><e>DARUMA AUTOMAÇÃO!!</s></e><l><ce>NEGRITO+CONDENSADO</ce><b><c>DARUMA AUTOMAÇÃO!!</b></c><l><ce>itálico+CONDENSADO</ce><i><c>DARUMA AUTOMAÇÃO!!</i></c><l>" + _
"<ce>SUBLINHADO+CONDENSADO</ce><s><c>DARUMA AUTOMAÇÃO!!</s></c><l><ce>NEGRITO+NORMAL</ce><b><n>DARUMA AUTOMAÇÃO!!</b></n><l><ce>itálico+NORMAL</ce><l><i><n>DARUMA AUTOMAÇÃO!!</i>" + _
"</n><l><ce>SUBLINHADO+NORMAL</ce><s><n>DARUMA AUTOMAÇÃO!!</s></n><sl>10</sl>", 0)

· Exemplo em Delphi 7.0:
var
Form_Daruma_Framework_DUAL_ImprimirTexto: TForm_Daruma_Framework_DUAL_ImprimirTexto;
Int_Retorno: Integer;
implementation
Function Daruma_DUAL_ImprimirTexto( TextoLivre: String; TamanhoTexto: Integer ): Integer; StdCall; External 'Daruma32.dll'
{$R *.dfm}

procedure TForm_Daruma_Framework_DUAL_ImprimirTexto.BT_FecharClick(
Sender: TObject);
begin
close;
end;

procedure TForm_Daruma_Framework_DUAL_ImprimirTexto.Button1Click(
Sender: TObject);
begin
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<sn><l><ce><s>Teste com Formatação DHTM</s></ce>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<n>Estes são os carácteres que você poderá utilizar<n><l>Você poderá a qualquer monento combinar as formatações!!'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<b>><</b>> Para sinalizar Negrito'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<i>><</i>> Para sinalizar Itálico'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<s>><</s>> Para sinalizar Sublinhado'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<e>><</e>> Para sinalizar Expandido'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<c>><</c>> Para sinalizar Condensado'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<n>><</n>> Para sinalizar Normal'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<l>><</l>> Para Saltar Uma Linha'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<ad>><</ad>> Para alinhar a direita'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<ft>>n1,n2,...,n6<</ft>> Para habilitar tabulação'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<tb>><</tb>> Para saltar até a proxima tabulação'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<sl>>NN<</sl>> Para Saltar Várias Linhas'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<tc>>C<</tc>>Riscar Linha com Carácter Específico'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<ce>><</ce>> Para Centralizar'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<dt>><</dt>> Para Imprimir Data Atual'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<hr>><</hr>> Para Imprimir Hora Atual'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<sp>>NN<</sp>> Inserir NN Espaços em Branco'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<sn>><</sn>> Sinal Sonoro, Apitar'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<g>><</g>> Abre a Gaveta'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<a>><</a>> Aguardar até o Término da Impressão'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<l><tc>_</tc><tc>_</tc>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<e><ce>TABULAÇÃO</ce><e><tc>_</tc>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ft>05,10,15,20,30,40</ft>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb><tb>40</tb>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb><tb>40</tb>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb><tb>40</tb>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb><tb>40</tb>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('Data<tb></tb>Veiculo<tb></tb>Cor<tb></tb>Placa<tb></tb>Hora'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<dt></dt><tb></tb>Golf<tb></tb><tb></tb>Branca<tb></tb>AJY5231<tb></tb>10:15'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<dt></dt><tb></tb>Focus<tb></tb>Vermelha<tb></tb>APG2013<tb></tb>13:45'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<dt></dt><tb></tb>Megane<tb></tb>Cinza<tb></tb>AAR5414<tb></tb>14:30'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<dt></dt><tb></tb>Corsa<tb></tb>Preto<tb></tb>AWK0189<tb></tb>20:40'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<l><tc>_</tc>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<l></l><e>DATA:<dt></dt></e><l></l><e>Hora:<hr></hr></e><l></l>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>Anvançando 3 Linhas</ce><sl>3</sl>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>Anvançando 1 Linha</ce><sl>1</sl>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<l>Inserindo<sp>10</sp>10 espaços em Branco'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>Formatação Normal</ce>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<n>DARUMA AUTOMAÇÃO!!</n><l>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>NEGR+ITAL+SUBL+EXPAND</ce>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<b><i><s><e>DARUMA AUTOMAÇÃO!!</b></i></s></e>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>NEGR+ITAL+SUBL+CONDENSADO</ce>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<b><i><s><c>DARUMA AUTOMAÇÃO!!</b></i></s></c>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>NEGR+ITAL+SUBL+NORMAL</ce>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<b><i><s><n>DARUMA AUTOMAÇÃO!!</b></i></s></n>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>EXPANDIDO</ce>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<e>DARUMA AUTOMAÇÃO!!<e>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>CONDENSADO</ce>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<c>DARUMA AUTOMAÇÃO!!</c>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>NEGRITO+EXPANDIDO</ce>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<b><e>DARUMA AUTOMAÇÃO!!</b></e>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>ITÁLICO+EXPANDIDO</ce>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<i><e>DARUMA AUTOMAÇÃO!!</i></e>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce><dt></dt>SUBLINHADO+EXPANDIDO</ce>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<s><e>DARUMA AUTOMAÇÃO!!</s></e>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>NEGRITO+CONDENSADO</ce>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<b><c>DARUMA AUTOMAÇÃO!!</b></c>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>ITÁLICO+CONDENSADO</ce>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<i><c>DARUMA AUTOMAÇÃO!!</i></c>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>SUBLINHADO+CONDENSADO</ce>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<s><c>DARUMA AUTOMAÇÃO!!</s></c>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>NEGRITO+NORMAL</ce>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<b><n>DARUMA AUTOMAÇÃO!!</b></n>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>ITÁLICO+NORMAL</ce>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<l><i><n>DARUMA AUTOMAÇÃO!!</i></n>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>SUBLINHADO+NORMAL</ce>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<s><n>DARUMA AUTOMAÇÃO!!</s></n><l>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>ALINHADO A DIREITA</ce>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ad>DARUMA AUTOMAÇÃO!!</ad><l>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>ALINHADO A DIREITA + EXPANDIDO</ce>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<e><ad>DARUMA AUTOMAÇÃO!!</ad></e><l>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>ALINHADO A DIREITA + SUBLINHADO</ce>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ad><s>DARUMA AUTOMAÇÃO!!</s></ad><l>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>CENTRALIZADO + EXPANDIDO</ce>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<e><ce>DARUMA AUTOMAÇÃO!!</ce></e><l>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ft>05,10,15,20,30,40</ft>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>TABULADO NA COLUNA 10</ce>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<tb></tb><tb></tb>DARUMA<l>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>TABULADO NA COLUNA 30</ce>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<tb></tb><tb></tb><tb></tb><tb></tb><tb></tb>DARUMA'), 0);

//Enviando todos Juntos

Int_Retorno:= Daruma_DUAL_ImprimirTexto(Pchar('<l><e><b>BUFFER COMPLETO</e></b>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(Pchar('<<e>>DATA:<<dt>><</dt>><</e>><<l>><<l/>><<e>>Hora:<<hr>><</hr>><</e>><<l>><<l/>><<ce>>' +
'Anvançando 5 Linhas<</ce>><<sl>>5<</sl>>Inserindo<<sp>>10<</sp>>10 espaços em Branco<<l>>' +
'<<ce>>Formatação Normal<</ce>><<n>>DARUMA AUTOMAÇÃO!!<</n>><<l>><<ce>>NEGR+ITAL+SUBL+EXPAND<</ce>>' +
'<<b>><<i>><<s>><<e>>DARUMA AUTOMAÇÃO!!<</b>><</i>><</s>><</e>><<l>><<ce>>NEGR+ITAL+SUBL+CONDENSADO<</ce>>' +
'<<b>><<i>><<s>><<c>>DARUMA AUTOMAÇÃO!!<</b>><</i>><</s>><</c>><<l>><<ce>>NEGR+ITAL+SUBL+NORMAL<</ce>><<b>>' +
'<<i>><<s>><<n>>DARUMA AUTOMAÇÃO!!<</b>><</i>><</s>><</n>><<l>><<ce>>EXPANDIDO<</ce>><<e>>DARUMA AUTOMAÇÃO!!' +
'<<e>><<l>><<ce>>CONDENSADO<</ce>><<c>>DARUMA AUTOMAÇÃO!!<</c>><<l>><<ce>>NEGRITO+EXPANDIDO<</ce>><<b>><<e>>DARUMA AUTOMAÇÃO!!' +
'<</b>><</e>><<l>><<ce>>Itálico+EXPANDIDO<</ce>><<i>><<e>>DARUMA AUTOMAÇÃO!!<</i>><</e>><<l>><<ce>>SUBLINHADO+EXPANDIDO<</ce>>' +
'<<s>><<e>>DARUMA AUTOMAÇÃO!!<</s>><</e>><<l>><<ce>>NEGRITO+CONDENSADO<</ce>><<b>><<c>>DARUMA AUTOMAÇÃO!!<</b>><</c>><<l>>' +
'<<ce>>Itálico+CONDENSADO<</ce>><<i>><<c>>DARUMA AUTOMAÇÃO!!<</i>><</c>><<l>><<ce>>SUBLINHADO+CONDENSADO<</ce>><<s>><<c>>' +
'DARUMA AUTOMAÇÃO!!<</s>><</c>><<l>><<ce>>NEGRITO+NORMAL<</ce>><<b>><<n>>DARUMA AUTOMAÇÃO!!<</b>><</n>><<l>><<ce>>Itálico+NORMAL' +
'<</ce>><<l>><<i>><<n>>DARUMA AUTOMAÇÃO!!<</i>><</n>><<l>><<ce>>SUBLINHADO+NORMAL<</ce>><<s>><<n>>DARUMA AUTOMAÇÃO!!<</s>><</n>>' +
'<<l>><<ce>>ALINHADO A DIREITA<</ce>><<ad>>DARUMA AUTOMAÇÃO!!<</ad>><<l>><<ce>>ALINHADO A DIREITA + EXPANDIDO<</ce>>' +
'<<e>><<ad>>DARUMA AUTOMAÇÃO!!<</ad>><</e>><<l>><<ce>>ALINHADO A DIREITA + SUBLINHADO<</ce>><<ad>><<s>>DARUMA AUTOMAÇÃO!!<</s>><</ad>>' +
'<<l>><<ce>>CENTRALIZADO + EXPANDIDO<</ce>><<e>><<ce>>DARUMA AUTOMAÇÃO!!<</ce>><</e>><<l>><<ce>>TABULADO NA COLUNA 10<</ce>> <<tb>><</tb>>' +
' <<tb>><</tb>>DARUMA<<l>><<ce>>TABULADO NA COLUNA 30<</ce>> <<tb>><</tb>> <<tb>><</tb>> <<tb>><</tb>> <<tb>><</tb>> <<tb>><</tb>>DARUMA<<sl>>10<</sl>>'), 0);
Int_Retorno:= Daruma_DUAL_ImprimirTexto(Pchar('<l></l><e>DATA:<dt></dt></e><l></l><e>Hora:<hr></hr></e><l></l><ce>Anvançando 5 Linhas</ce><sl>5</sl>' +
'Inserindo<sp>10</sp>10 espaços em Branco<l><ce>Formatação Normal</ce><n>DARUMA AUTOMAÇÃO!!</n><l><ce>NEGR+ITAL+SUBL+EXPAND</ce><b><i><s><e>DARUMA AUTOMAÇÃO!!</b></i></s></e><l>' +
'<n><ce>NEGR+ITAL+SUBL+CONDENSADO</ce></n><b><i><s><c>DARUMA AUTOMAÇÃO!!</b></i></s></c><l><ce>NEGR+ITAL+SUBL+NORMAL</ce><b><i><s><n>DARUMA AUTOMAÇÃO!!</b></i></s></n><l>' +
'<ce>EXPANDIDO</ce><e>DARUMA AUTOMAÇÃO!!</e><l><ce>CONDENSADO</ce><c>DARUMA AUTOMAÇÃO!!</c><l><ce>NEGRITO+EXPANDIDO</ce><b><e>DARUMA AUTOMAÇÃO!!</b></e><l>' +
'<ce>Itálico+EXPANDIDO</ce><i><e>DARUMA AUTOMAÇÃO!!</i></e><l><ce>SUBLINHADO+EXPANDIDO</ce><s><e>DARUMA AUTOMAÇÃO!!</s></e><l><ce>NEGRITO+CONDENSADO</ce><b><c>DARUMA AUTOMAÇÃO!!</b></c><l>' +
' <ce>Itálico+CONDENSADO</ce><i><c>DARUMA AUTOMAÇÃO!!</i></c><l><ce>SUBLINHADO+CONDENSADO</ce><s><c>DARUMA AUTOMAÇÃO!!</s></c><l><ce>NEGRITO+NORMAL</ce><b><n>DARUMA AUTOMAÇÃO!!</b></n><l>' +
'<ce>Itálico+NORMAL</ce><l><i><n>DARUMA AUTOMAÇÃO!!</i></n><l><ce>SUBLINHADO+NORMAL</ce><s><n>DARUMA AUTOMAÇÃO!!</s></n><l><ce>ALINHADO A DIREITA</ce><ad>DARUMA AUTOMAÇÃO!!</ad><l>' +
'<ce>ALINHADO A DIREITA + EXPANDIDO</ce><e><ad>DARUMA AUTOMAÇÃO!!</ad></e><l><ce>ALINHADO A DIREITA + SUBLINHADO</ce><ad><s>DARUMA AUTOMAÇÃO!!</s></ad><l>' +
'<ce>CENTRALIZADO + EXPANDIDO</ce><e><ce>DARUMA AUTOMAÇÃO!!</ce></e><l><ce>TABULADO NA COLUNA 10</ce> <tb></tb> <tb></tb>DARUMA<l>' +
'<ce>TABULADO NA COLUNA 30</ce> <tb></tb> <tb></tb> <tb></tb> <tb></tb> <tb></tb>DARUMA<sl>10</sl>'), 0);


Daruma_DUAL_ImprimirArquivo (Índice 4008)

Método: Daruma_DUAL_ImprimirArquivo [Índice 4008]
Previous Top Next

· Definição do Método:
Imprime arquivo de texto, com até 3000 bytes.

· Parâmetros do Método:
String: Com o nome e o path de onde está o arquivo.

· Retornos do método:
0 - Impressora desligado.
1 - Comando enviado com sucesso.
-2 - Arquivo não encontrado.

Aqui você poderá Utilizar o protocolo DHTM (DARUMA HTML) para formatar o seu arquivo de texto.

Estas são as Tag´s que você poderá a qualquer momento no meio de seu texto implementar, incluíndo uma Combinação entre elas:

<b></b> Para sinalizar Negrito
<i></i> Para sinalizar Itálico
<s></s> Para sinalizar Sublinhado
<e></e> Para sinalizar Expandido
<c></e> Para sinalizar Condensado
<n></n> Para sinalizar Normal
<l></l> Para Saltar Uma Linha
<sl>NN</sl> Para Saltar Várias Linhas
<tc>C</tc> Riscar Linha com um caráctere Especifico
<ce></ce> Para Centralizar
<dt></dt> Para Imprimir Data Atual
<hr></hr> Para Imprimir Hora Atual
<sp>NN</sp> Inserir NN Espaços em Branco
<sn></sn> Sinal Sonoro, Apitar
<g></g> Abre a Gaveta
<a> Aguardar até o Término da Impressão
</a> Não Aguardar até o Término da Impressão
<tb></tb> Tabulação
<< Quando desejar imprimir o caráctere "<"
>> Quando desenar imprimir o caráctere ">"

Veja Aqui Alguns Exemplos de Utilização

· Parâmetros
Arquivo: com texto que voce deseja Imprimir (até 3000 de tamanho)

· Obervação:
As formatações que irá conter o arquivo devereão serem feitas através das tags DHTML.

Valor Defult da Chave = "0"

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Erro de comunicação, Impressora Desligada
1: OK, Sucesso ao enviar o arquivo
-27: Erro Genérico
-50: Impressora OFF-Line
-51: Impressora Sem Papel
-52: ECF Inicializando.
-53: Erro de Impressão.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_DUAL_ImprimirArquivo("C:\DarumaFramework.txt")

· Exemplo em Delphi 7.0:
var
Str_Path: String;
begin
Str_Path:= InputBox('Daruma Framework','Entre com o Nome do Arquivo a ser Impresso','C:\DarumaFramework.txt');
If (Str_Path = '') Then
Exit;
Int_Retorno:= Daruma_DUAL_ImprimirArquivo(Str_Path);
if Int_Retorno = 1 then
begin
Application.MessageBox('Configuração Feita com Sucesso!', 'Daruma Framework', mb_ok + 32);
end
else
begin
Application.MessageBox(' Erro!', 'Daruma Framework', mb_ok + 16);
end;
end;

end.


Daruma_DUAL_VerificaSatus (Índice 4002)

Método: Daruma_DUAL_VerificaSatus [Índice 4002]
Previous Top Next

· Definição do Método
Retorna um Valor Inteiro com o Status da Impressora DUAL

· Parâmetros
Não há

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: DESLIGADA
1: OK
-27: ERRO GENERICO
-50: OFF-LINE
-51: SEM PAPEL
-52: INICIALIZANDO
-53: ERRO NA IMPRESSORA (MECANICO)

Observação Importante:
Se você estiver usando a porta LPT(Paralela) e deseja pegar o status Acima você deverá configurar a chave ModoEscrita que deverá estar a 1(um) porque desta forma a DLL irá se comunicar diretamente através do Endereço da Porta Paralela e não através da API Normal do Windows que não permite a leitura destes Status. Isso somente deve ser levado em consideração quando estiver Usando a LPT(Paralela). No Caso da Serial nada disso debve ser levado em consideração, porque no caso da Serial a Própria DUAL é quem retorna um Byte indicando seu Atual Satus. Caso a chave ModoEscrita esteja igual a 0(zero) - Que é seu Default - este Método sempre retornará 1(um) e você não terá acesso aos Status detalhados da Impressora. Na Porta Serial a Chave ModoEscrita não é levada em Consideração.
Para maiores detalhes de como utilizar e configurar a chave Modo Escrita veja o Link Daruma_Registry_DUAL_ModoEscrita.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_DUAL_VerificaStatus()
If Int_Retorno = 1 Then
MsgBox "1(um) - Impressora OK", vbInformation, "Daruma Framework"
End If
If Int_Retorno = -50 Then
MsgBox "-50 - Impressora OFF-LINE", vbCritical, "Daruma Framework"
End If
If Int_Retorno = -51 Then
MsgBox "-51 - Impressora Sem Papel", vbCritical, "Daruma Framework"
End If
If Int_Retorno = -27 Then
MsgBox "-27 - Erro Genérico", vbCritical, "Daruma Framework"
End If
If Int_Retorno = 0 Then
MsgBox "0 - Impressora Desligada", vbCritical, "Daruma Framework"
End If

· Exemplo em Delphi 7.0:
begin
daruma_Retorno:= Daruma_DUAL_VerificaStatus();

if daruma_Retorno = 1 then
TX_Status.Text:= '1(um) - Impressora OK!';
if daruma_Retorno = (-50) then
TX_Status.Text:= '(-50) - Impressora OFF Line!';
if Daruma_Retorno = (-51) then
TX_Status.Text:= '(-51) - Impressora Sem Papel!';
if Daruma_retorno = (-27) then
TX_Status.Text:= '(-27) - Erro Generico!!';
if Daruma_Retorno = (0) then
TX_Status.Text:= '(0) - Impressora Desligada!!';
end;


Daruma_DUAL_VerificaDocumento (Índice 4003)

Método: Daruma_DUAL_VerificaDocumento [Índice 4003]
Previous Top Next

· Definiçãod do Método:
Retorna um Valor Inteiro que indica se o Documento está posicionado para Autenticar ou não

· Parâmetros
Não Há

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Documento não Posicionado para Autenticar
1: Documento Posicionado para Autenticação
-27: Erro GenÉrico

· Observação Importante:
Se você estiver usando a porta LPT(Paralela) e deseja pegar o status Acima você deverá configurar a chave ModoEscrita que deverá estar a 1(um) porque desta forma a DLL irá se comunicar diretamente através do Endereço da Porta Paralela e não através da API Normal do Windows que não permite a leitura destes Status. Isso somente deve ser levado em consideração quando estiver Usando a LPT(Paralela). No Caso da Serial nada disso devolve ser levado em consideração, porque no caso da Serial a Própria DUAL é quem retorna um Byte indicando seu Atual Status. Caso a chave ModoEscrita esteja igual a 0(zero) - Que é seu Default - este Método sempre retornará 1(um) e você não terá acesso aos Status detalhados da Impressora. Na Porta Serial a Chave ModoEscrita não é levada em Consideração.
Para maiores detalhes de como utilizar e cosnfigurar a chave Modo Escrita veja o Link Daruma_Registry_DUAL_ModoEscrita.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_DUAL_VerificaDocumento()
If Int_Retorno = 1 Then
MsgBox "1(um) - Documento Posicionado", vbInformation, "Daruma Framework"
Else
MsgBox "0(zero) - Documento Não Posicionado", vbCritical, "Daruma Framework"
End If

· Exemplo em Delphi 7.0:
egin
Int_Retorno:= Daruma_DUAL_VerificaDocumento();
if Int_Retorno = 1 then
begin
Application.MessageBox('1 (um) Documento Posicionado!', 'Daruma Framework', mb_ok + 32);
end
else
begin
Application.MessageBox('Documento Nao Posicionado!', 'Daruma Framework', mb_ok + 16);
end;

end;


Daruma_DUAL_Autenticar (Índice 4004)

Método: Daruma_DUAL_Autenticar [Índice 4004]
Previous Top Next

· Definição do Método:
Permite Enviar um Texto para Autenticação e permite configurar o Tempo que deseja esperar para Autenticar e também o local, na Bobina e no DOC ou só no Documento.

Aqui você poderá utilizar as TAGS DHTM para Impresão e formatar o texto que deseja Autenticar.

Por exemplo se deseja Autenticar com Sublinhado e Expandido envie o seguinte método:
iRetorno = Daruma_DUAL_Autenticar("1","<s><e>Texto</s></e>","10")

Por exemplo se deseja Autenticar Com a Data e a Hora Atual, chame o seguinte método:
iRetorno = Daruma_DUAL_Autenticar("1","<dt><hr>Texto","10")

Veja Aqui Alguns Exemplos de Utilização

· Parâmetros
1. Local: 1(um) só no Documento, 0(zero) no Documento e na Bobina
2. String com 48 carácteres com a Autenticação desejada
3. Quantos Segundos deseja esperar que o Usuario coloque o Documento

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Time-Out, o Usuario não posicionou o Documento dentro do tempo indicado
1: OK, Sucesso ao enviar o método
-27: Erro Genérico
-50: Impressora OFF-Line
-51: Impressora Sem Papel
-52: ECF Inicializando.
-53: Erro de Impressão.

· Observação Importante:
Se você estiver usando a porta LPT(Paralela) e deseja Autenticar, você poderá faze-lo de duas Formas.

1) Para Fazer uso do Parâmetro de Time-Out (ou seja, que a dll fique esperando pra você que o usuario coloque o Papel na DUAL) voce deverá estar com a Chave ModoEscrita a 1(um).

2) Caso você não deseje que a dll Controle isso, voce deverá sempre chamar o método de Autenticar quando o Papel já estiver presente na DUAL. Caso a Chave ModoEscrita estiver igual a 0(zero) e voce chame a autenticação sem o papel, não irá funcionar.
Para maiores detalhes de como utilizar e configurar a chave Modo Escrita veja o Link Daruma_Registry_DUAL_ModoEscrita.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Vias As String
Dim Str_Texto_Autenticacao As String
Dim Str_Tempo_Espera As String

Str_Vias = "1"
Str_Texto_Autenticacao = "<sn><c>DARUMA AUTENTICAÇÃO</c> (D:<dt></dt> H:<hr></hr>)</sn>"
Str_Tempo_Espera = "5"
Int_Retorno = Daruma_DUAL_Autenticar(Str_Vias, Str_Texto_Autenticacao, Str_Tempo_Espera)

· Exemplo em Delphi 7.0:
var
Str_Vias: String;
Str_Texto_Autenticacao: String;
Str_Tempo_espera: String;
begin
Str_Vias:= TX_Vias.Text;
Str_Texto_Autenticacao:= TX_Texto_Autenticacao.Text;
Str_Tempo_Espera:= TX_Tempo_Espera.Text;
Int_Retorno:= Daruma_DUAL_Autenticar(Str_Vias, Str_Texto_Autenticacao, Str_Tempo_Espera);

end;

end.


Daruma_DUAL_AcionaGaveta (Índice 4005)

Método: Daruma_DUAL_AcionaGaveta [Índice 4005]
Previous Top Next

· Definição do Método:
Aciona a Gaveta de dinheiro que está "plugada" a Impressora DUAL na Saida RJ45 da Impressora

· Parâmetros:
Não Há

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Erro de comunicação, Impressora Desligada
1: OK, Sucesso ao enviar o método
-27: Erro Genérico
-50: Impressora OFF-Line
-51: Impressora Sem Papel
-52: ECF Inicializando.
-53: Erro de Impressão.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_DUAL_AcionaGaveta()

· Exemplo em Delphi 7.0:
begin
Int_Retorno:= Daruma_DUAL_AcionaGaveta()
end;


Trabalhando com a DUAL NA PARALELA (LPT1, LPT2)

Trabalhando com a DUAL em XP, NT W2000.
Previous Top Next

- O PROCESSO ABAIXO NÃO É NECESSÁRIO CASO VOCE ESTEJA UTILIZANDO-SE DA PORTA SERIAL PARA SE COMUNICAR OU SISTEMAS OPERAISONAIS COMO W95 E W98.

- O PROCESSO ABAIXO DEVE SER SEGUIDO APENAS NO CASO DE USO DA PARALELA EM SISTEMA OPERACIONAIS PROTEGIDOS COMO W2000, WXP, WNT, WxxSERVER.

Devido a Existencia do HAL (Hardware Abstract Layer), existe a necessidade de se Burlar ésta "Camada" de comunicação para que Status como FINAL de PAPEL, Operaçoes como Autenticação e Verificação se o papel está presente para ser autenticado ou não, sejam utilizados e aceitos pelo HAL.

Por isso a dll fz uso de um serviço que fornece um endereço protegido de comunicação com a PARALELA chamado HWINTERFACE.SYS.

Passos Para a INSTALAÇÃO DA DS300 na PARALELA para Uso da DARUMA32.Dll:
(Devem ser Executados nesta Ordem)

1. Copie o Arquivo HWINTERFACE.SYS para o Diretorio WINXX\SYSTEM32\DRIVERS.
2. Após a Instalação Faça Dois Cliques no Arquivo DARUMA.REG que irá Registrar este serviço do Windows.
4. Reinicie o Computador (Válido somente para WIN2000.
6. Pronto!! você já pode usar a DARUMA32.Dll na Porta Paralela de seu computador com todas os Métodos de Autenticação, Staus, etc.. Tudo ON-LINE com a DUAL.


Resolvendo Problemas de Comunicação com a PARALELA

· Problema: Já realizei a Copia do HWINTERFACE.SYS, Fiz Dois Clicks no DARUMA.REG, Reiniciei o Computador e ainda assim a DUAL não comunica na Paralela.
· Solução: Como a Porta Paralela é protegida pelo Sistema Operacional, pode ser que ainda necessite de alguns pequenos ajustes para funcionar, tudo isso pela limitação que sistemas operacionais ProtegidoS (W2000, WXP) possuem. Sendo assim Reinicie o Computador, entre no SETUP do computador (Geralmente pressionando a tecla "DEL" ao re-iniciar) e verifique em que modo esta a Porta Paralela, caso a mesma esteja em modo BI-DIRECIONAL, favor retirar deste modo, e colocar em Modo ECP. Caso seu computador nao possua este modo deixar em modo NORMAL ou EPP.

· Problema: OK, realizei todos os passos acima e ainda assim no Windows continua não se comunicando com a DUAL NA paralela.
· Solução: Faça um Click com o Botao Direiro no Ícone Meu Computador, escolha a Opção Propriedades, e a ficha "Hardware", nesta ficha escolha a Opção "Gerenciador de Dispositivos", após isso selecione a opção "PORTAS" e a porta onde esta conectada a DUAL. Faça um click na Opção Configuração de Portas e deixe a paralela com a Seguinte Configuração: Nunca Usar Interrupção, conforme figura abaixo:

· Pressione OK: Reinicie o Computador, efetue os testes normalmente.


Utilizando as Tags de Impressão de Texto

Utilizando as Tags HTML/XML
Método: Daruma_DUAL_ImprimirTexto
Previous Top Next

· Definição do Método:
Permite trabalhar com as Tags de Formatação.

· Parâmetro:
String: com as tags de formatação:ex:<b>TEXTO em NEGRITO</b>

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Time-Out, o Usuario não posicionou o Documento dentro do tempo indicado
1: OK, Sucesso ao enviar o método
-27: Erro Genérico
-50: Impressora OFF-Line
-51: Impressora Sem Papel
-52: ECF Inicializando.
-53: Erro de Impressão.
Exemplos:

· Exemplo em Visual Basic 6.0:

<b></b> Para sinalizar Negrito
<i></i> Para sinalizar Itálico
<s></s> Para sinalizar Sublinhado
<e></e> Para sinalizar E x p a n d i d o
<c></c> Para sinalizar Condensado
<n></n> Para sinalizar Normal
<l></l> Para Saltar Uma Linha
<ce></ce> Para Centralizar o Texto
<ad></ad> Para Alinhar a Direita
<cr></cr> Retornar o Carro de Impressao para o Começo.
<sl>NN</sl> Para Saltar Várias Linhas
<tc>C</tc> Riscar Linha com um caráctere Especifico
<ce></ce> Para Centralizar
<dt></dt> Para Imprimir Data Atual
<hr></hr> Para Imprimir Hora Atual
<sp>NN</sp> Inserir NN Espaços em Branco
<sn></sn> Sinal Sonoro, Apitar
<g></g> Abre a Gaveta
<tb></tb> Tabulação
<a> Aguardar até o Término da Impressão
</a> Não Aguardar até o Término da Impressão
<< Quando desejar imprimir o caráctere "<"
>> Quando desenar imprimir o caráctere ">"

Int_Retorno = Daruma_DUAL_ImprimirTexto("<sn><l><ce><s>Teste com Formatação DHTM</s></ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<n>Estes são os carácteres que você poderá utilizar<n><l>Você poderá a qualquer monento combinar as formatações!!", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<b>><</b>> Para sinalizar Negrito", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<i>><</i>> Para sinalizar Itálico", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<s>><</s>> Para sinalizar Sublinhado", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<e>><</e>> Para sinalizar Expandido", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<c>><</c>> Para sinalizar Condensado", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<n>><</n>> Para sinalizar Normal", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<l>><</l>> Para Saltar Uma Linha", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<ad>><</ad>> Para alinhar a direita", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<ft>>n1,n2,...,n6<</ft>> Para habilitar tabulação", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<tb>><</tb>> Para saltar até a proxima tabulação", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<sl>>NN<</sl>> Para Saltar Várias Linhas", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<tc>>C<</tc>>Riscar Linha com caráctere Específico", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<ce>><</ce>> Para Centralizar", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<dt>><</dt>> Para Imprimir Data Atual", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<hr>><</hr>> Para Imprimir Hora Atual", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<sp>>NN<</sp>> Inserir NN Espaços em Branco", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<sn>><</sn>> Sinal Sonoro, Apitar", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<g>><</g>> Abre a Gaveta", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<a>><</a>> Aguardar até o Término da Impressão", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<l><tc>_</tc><tc>_</tc>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<e><ce>TABULAÇÃO</ce><e><tc>_</tc>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ft>05,10,15,20,30,40</ft>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb><tb>40</tb>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb><tb>40</tb>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb><tb>40</tb>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb><tb>40</tb>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("Data<tb></tb>Veiculo<tb></tb>Cor<tb></tb>Placa<tb></tb>Hora", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<dt></dt><tb></tb>Golf<tb></tb><tb></tb>Branca<tb></tb>AJY5231<tb></tb>10:15", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<dt></dt><tb></tb>Focus<tb></tb>Vermelha<tb></tb>APG2013<tb></tb>13:45", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<dt></dt><tb></tb>Megane<tb></tb>Cinza<tb></tb>AAR5414<tb></tb>14:30", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<dt></dt><tb></tb>Corsa<tb></tb>Preto<tb></tb>AWK0189<tb></tb>20:40", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<l><tc>_</tc>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<l></l><e>DATA:<dt></dt></e><l></l><e>Hora:<hr></hr></e><l></l>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>Anvançando 3 Linhas</ce><sl>3</sl>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>Anvançando 1 Linha</ce><sl>1</sl>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<l>Inserindo<sp>10</sp>10 espaços em Branco", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>Formatação Normal</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<n>DARUMA AUTOMAÇÃO!!</n><l>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>NEGR+ITAL+SUBL+EXPAND</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><i><s><e>DARUMA AUTOMAÇÃO!!</b></i></s></e>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>NEGR+ITAL+SUBL+CONDENSADO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><i><s><c>DARUMA AUTOMAÇÃO!!</b></i></s></c>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>NEGR+ITAL+SUBL+NORMAL</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><i><s><n>DARUMA AUTOMAÇÃO!!</b></i></s></n>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>EXPANDIDO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<e>DARUMA AUTOMAÇÃO!!<e>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>CONDENSADO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<c>DARUMA AUTOMAÇÃO!!</c>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>NEGRITO+EXPANDIDO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><e>DARUMA AUTOMAÇÃO!!</b></e>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>ITÁLICO+EXPANDIDO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<i><e>DARUMA AUTOMAÇÃO!!</i></e>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><dt></dt>SUBLINHADO+EXPANDIDO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<s><e>DARUMA AUTOMAÇÃO!!</s></e>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>NEGRITO+CONDENSADO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><c>DARUMA AUTOMAÇÃO!!</b></c>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>ITÁLICO+CONDENSADO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<i><c>DARUMA AUTOMAÇÃO!!</i></c>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>SUBLINHADO+CONDENSADO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<s><c>DARUMA AUTOMAÇÃO!!</s></c>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>NEGRITO+NORMAL</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><n>DARUMA AUTOMAÇÃO!!</b></n>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>ITÁLICO+NORMAL</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<l><i><n>DARUMA AUTOMAÇÃO!!</i></n>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>SUBLINHADO+NORMAL</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<s><n>DARUMA AUTOMAÇÃO!!</s></n><l>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad>ALINHADO A DIREITA</ad>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad>DARUMA AUTOMAÇÃO!!</ad><l>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad><e>ALINHADO A DIREITA + EXPANDIDO</ad></e>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<e><ad>DARUMA AUTOMAÇÃO!!</ad></e><l>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad><s>ALINHADO A DIREITA + SUBLINHADO</ad></s>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad><s>DARUMA AUTOMAÇÃO!!</s></ad><l>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>CENTRALIZADO + EXPANDIDO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<e><ce>DARUMA AUTOMAÇÃO!!</ce></e><l>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ft>05,10,15,20,30,40</ft>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>TABULADO NA COLUNA 10</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb></tb><tb></tb>DARUMA<l>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>TABULADO NA COLUNA 30</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb></tb><tb></tb><tb></tb><tb></tb><tb></tb>DARUMA", 0)

'Enviando todos Juntos
Int_Retorno = Daruma_DUAL_ImprimirTexto("<l><e><b>BUFFER COMPLETO</e></b>", 0)

Int_Retorno = Daruma_DUAL_ImprimirTexto("<<e>>DATA:<<dt>><</dt>><</e>><<l>><<l/>><<e>>Hora:<<hr>><</hr>><</e>><<l>><<l/>><<ce>>" + _
"Anvançando 5 Linhas<</ce>><<sl>>5<</sl>>Inserindo<<sp>>10<</sp>>10 espaços em Branco<<l>>" + _
"<<ce>>Formatação Normal<</ce>><<n>>DARUMA AUTOMAÇÃO!!<</n>><<l>><<ce>>NEGR+ITAL+SUBL+EXPAND<</ce>>" + _
"<<b>><<i>><<s>><<e>>DARUMA AUTOMAÇÃO!!<</b>><</i>><</s>><</e>><<l>><<ce>>NEGR+ITAL+SUBL+CONDENSADO<</ce>>" + _
"<<b>><<i>><<s>><<c>>DARUMA AUTOMAÇÃO!!<</b>><</i>><</s>><</c>><<l>><<ce>>NEGR+ITAL+SUBL+NORMAL<</ce>><<b>>" + _
"<<i>><<s>><<n>>DARUMA AUTOMAÇÃO!!<</b>><</i>><</s>><</n>><<l>><<ce>>EXPANDIDO<</ce>><<e>>DARUMA AUTOMAÇÃO!!" + _
"<<e>><<l>><<ce>>CONDENSADO<</ce>><<c>>DARUMA AUTOMAÇÃO!!<</c>><<l>><<ce>>NEGRITO+EXPANDIDO<</ce>><<b>><<e>>DARUMA AUTOMAÇÃO!!" + _
"<</b>><</e>><<l>><<ce>>Itálico+EXPANDIDO<</ce>><<i>><<e>>DARUMA AUTOMAÇÃO!!<</i>><</e>><<l>><<ce>>SUBLINHADO+EXPANDIDO<</ce>>" + _
"<<s>><<e>>DARUMA AUTOMAÇÃO!!<</s>><</e>><<l>><<ce>>NEGRITO+CONDENSADO<</ce>><<b>><<c>>DARUMA AUTOMAÇÃO!!<</b>><</c>><<l>>" + _
"<<ce>>Itálico+CONDENSADO<</ce>><<i>><<c>>DARUMA AUTOMAÇÃO!!<</i>><</c>><<l>><<ce>>SUBLINHADO+CONDENSADO<</ce>><<s>><<c>>" + _
"DARUMA AUTOMAÇÃO!!<</s>><</c>><<l>><<ce>>NEGRITO+NORMAL<</ce>><<b>><<n>>DARUMA AUTOMAÇÃO!!<</b>><</n>><<l>><<ce>>Itálico+NORMAL" + _
"<</ce>><<l>><<i>><<n>>DARUMA AUTOMAÇÃO!!<</i>><</n>><<l>><<ce>>SUBLINHADO+NORMAL<</ce>><<s>><<n>>DARUMA AUTOMAÇÃO!!<</s>><</n>>" + _
"<<l>><<ce>>ALINHADO A DIREITA<</ce>><<ad>>DARUMA AUTOMAÇÃO!!<</ad>><<l>><<ce>>ALINHADO A DIREITA + EXPANDIDO<</ce>>" + _
"<<e>><<ad>>DARUMA AUTOMAÇÃO!!<</ad>><</e>><<l>><<ce>>ALINHADO A DIREITA + SUBLINHADO<</ce>><<ad>><<s>>DARUMA AUTOMAÇÃO!!<</s>><</ad>>" + _
"<<l>><<ce>>CENTRALIZADO + EXPANDIDO<</ce>><<e>><<ce>>DARUMA AUTOMAÇÃO!!<</ce>><</e>><<l>><<ce>>TABULADO NA COLUNA 10<</ce>> <<tb>><</tb>>" + _
" <<tb>><</tb>>DARUMA<<l>><<ce>>TABULADO NA COLUNA 30<</ce>> <<tb>><</tb>> <<tb>><</tb>> <<tb>><</tb>> <<tb>><</tb>> <<tb>><</tb>>DARUMA<<sl>>10<</sl>>", 0)

Int_Retorno = Daruma_DUAL_ImprimirTexto("<l></l><e>DATA:<dt></dt></e><l></l><e>Hora:<hr></hr></e><l></l><ce>Anvançando 5 Linhas</ce><sl>5</sl>" + _
"Inserindo<sp>10</sp>10 espaços em Branco<l><ce>Formatação Normal</ce><n>DARUMA AUTOMAÇÃO!!</n><l><ce>NEGR+ITAL+SUBL+EXPAND</ce><b><i><s><e>DARUMA AUTOMAÇÃO!!</b></i></s></e><l>" + _
"<n><ce>NEGR+ITAL+SUBL+CONDENSADO</ce></n><b><i><s><c>DARUMA AUTOMAÇÃO!!</b></i></s></c><l><ce>NEGR+ITAL+SUBL+NORMAL</ce><b><i><s><n>DARUMA AUTOMAÇÃO!!</b></i></s></n><l>" + _
"<ce>EXPANDIDO</ce><e>DARUMA AUTOMAÇÃO!!</e><l><ce>CONDENSADO</ce><c>DARUMA AUTOMAÇÃO!!</c><l><ce>NEGRITO+EXPANDIDO</ce><b><e>DARUMA AUTOMAÇÃO!!</b></e><l>" + _
"<ce>Itálico+EXPANDIDO</ce><i><e>DARUMA AUTOMAÇÃO!!</i></e><l><ce>SUBLINHADO+EXPANDIDO</ce><s><e>DARUMA AUTOMAÇÃO!!</s></e><l><ce>NEGRITO+CONDENSADO</ce><b><c>DARUMA AUTOMAÇÃO!!</b></c><l>" + _
" <ce>Itálico+CONDENSADO</ce><i><c>DARUMA AUTOMAÇÃO!!</i></c><l><ce>SUBLINHADO+CONDENSADO</ce><s><c>DARUMA AUTOMAÇÃO!!</s></c><l><ce>NEGRITO+NORMAL</ce><b><n>DARUMA AUTOMAÇÃO!!</b></n><l>" + _
"<ce>Itálico+NORMAL</ce><l><i><n>DARUMA AUTOMAÇÃO!!</i></n><l><ce>SUBLINHADO+NORMAL</ce><s><n>DARUMA AUTOMAÇÃO!!</s></n><l><ce>ALINHADO A DIREITA</ce><ad>DARUMA AUTOMAÇÃO!!</ad><l>" + _
"<ce>ALINHADO A DIREITA + EXPANDIDO</ce><e><ad>DARUMA AUTOMAÇÃO!!</ad></e><l><ce>ALINHADO A DIREITA + SUBLINHADO</ce><ad><s>DARUMA AUTOMAÇÃO!!</s></ad><l>" + _
"<ce>CENTRALIZADO + EXPANDIDO</ce><e><ce>DARUMA AUTOMAÇÃO!!</ce></e><l><ce>TABULADO NA COLUNA 10</ce> <tb></tb> <tb></tb>DARUMA<l>" + _
"<ce>TABULADO NA COLUNA 30</ce> <tb></tb> <tb></tb> <tb></tb> <tb></tb> <tb></tb>DARUMA<sl>10</sl>", 0)

If Int_Retorno = 1 Then
MsgBox "Impressao Conlcuida!", vbInformation, "Daruma Framework"
Else
MsgBox "Erro!", vbCritical, "Daruma Framework"
End If

· Exemplo em Delphi 7.0:


Teste Completo com as Tags de Impressão de Texto

Teste com as Tags HTML/XML
Método: Daruma_DUAL_ImprimirTexto
Previous Top Next

· Definição do Método:
Permite trabalhar com as Tags de Formatação.

· Parâmetro:
String: com as tags de formatação:ex:<ce>CENTRALIZADO</ce>

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Time-Out, o Usuario não posicionou o Documento dentro do tempo indicado
1: OK, Sucesso ao enviar o método
-27: Erro Genérico
-50: Impressora OFF-Line
-51: Impressora Sem Papel
-52: ECF Inicializando.
-53: Erro de Impressão.
Exemplos:

· Exemplo em Visual Basic 6.0:

Int_Retorno = Daruma_DUAL_ImprimirTexto("<sn><l><ce><s>Teste com Formatação DHTM</s></ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<n>Estes são os carácteres que você poderá utilizar<n><l>Você poderá a qualquer monento combinar as formatações!!", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<b>><</b>> Para sinalizar Negrito", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<i>><</i>> Para sinalizar Itálico", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<s>><</s>> Para sinalizar Sublinhado", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<e>><</e>> Para sinalizar Expandido", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<c>><</c>> Para sinalizar Condensado", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<n>><</n>> Para sinalizar Normal", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<l>><</l>> Para Saltar Uma Linha", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<ad>><</ad>> Para alinhar a direita", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<ft>>n1,n2,...,n6<</ft>> Para habilitar tabulação", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<tb>><</tb>> Para saltar até a proxima tabulação", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<sl>>NN<</sl>> Para Saltar Várias Linhas", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<tc>>C<</tc>>Riscar Linha com caráctere Específico", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<ce>><</ce>> Para Centralizar", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<dt>><</dt>> Para Imprimir Data Atual", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<hr>><</hr>> Para Imprimir Hora Atual", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<sp>>NN<</sp>> Inserir NN Espaços em Branco", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<sn>><</sn>> Sinal Sonoro, Apitar", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<g>><</g>> Abre a Gaveta", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<<a>><</a>> Aguardar até o Término da Impressão", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<l><tc>_</tc><tc>_</tc>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<e><ce>TABULAÇÃO</ce><e><tc>_</tc>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ft>05,10,15,20,30,40</ft>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb><tb>40</tb>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb><tb>40</tb>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb><tb>40</tb>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb><tb>40</tb>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("Data<tb></tb>Veiculo<tb></tb>Cor<tb></tb>Placa<tb></tb>Hora", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<dt></dt><tb></tb>Golf<tb></tb><tb></tb>Branca<tb></tb>AJY5231<tb></tb>10:15", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<dt></dt><tb></tb>Focus<tb></tb>Vermelha<tb></tb>APG2013<tb></tb>13:45", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<dt></dt><tb></tb>Megane<tb></tb>Cinza<tb></tb>AAR5414<tb></tb>14:30", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<dt></dt><tb></tb>Corsa<tb></tb>Preto<tb></tb>AWK0189<tb></tb>20:40", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<l><tc>_</tc>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<l></l><e>DATA:<dt></dt></e><l></l><e>Hora:<hr></hr></e><l></l>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>Anvançando 3 Linhas</ce><sl>3</sl>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>Anvançando 1 Linha</ce><sl>1</sl>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<l>Inserindo<sp>10</sp>10 espaços em Branco", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>Formatação Normal</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<n>DARUMA AUTOMAÇÃO!!</n><l>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>NEGR+ITAL+SUBL+EXPAND</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><i><s><e>DARUMA AUTOMAÇÃO!!</b></i></s></e>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>NEGR+ITAL+SUBL+CONDENSADO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><i><s><c>DARUMA AUTOMAÇÃO!!</b></i></s></c>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>NEGR+ITAL+SUBL+NORMAL</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><i><s><n>DARUMA AUTOMAÇÃO!!</b></i></s></n>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>EXPANDIDO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<e>DARUMA AUTOMAÇÃO!!<e>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>CONDENSADO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<c>DARUMA AUTOMAÇÃO!!</c>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>NEGRITO+EXPANDIDO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><e>DARUMA AUTOMAÇÃO!!</b></e>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>ITÁLICO+EXPANDIDO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<i><e>DARUMA AUTOMAÇÃO!!</i></e>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><dt></dt>SUBLINHADO+EXPANDIDO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<s><e>DARUMA AUTOMAÇÃO!!</s></e>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>NEGRITO+CONDENSADO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><c>DARUMA AUTOMAÇÃO!!</b></c>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>ITÁLICO+CONDENSADO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<i><c>DARUMA AUTOMAÇÃO!!</i></c>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>SUBLINHADO+CONDENSADO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<s><c>DARUMA AUTOMAÇÃO!!</s></c>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>NEGRITO+NORMAL</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><n>DARUMA AUTOMAÇÃO!!</b></n>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>ITÁLICO+NORMAL</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<l><i><n>DARUMA AUTOMAÇÃO!!</i></n>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>SUBLINHADO+NORMAL</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<s><n>DARUMA AUTOMAÇÃO!!</s></n><l>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad>ALINHADO A DIREITA</ad>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad>DARUMA AUTOMAÇÃO!!</ad><l>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad>ALINHADO A DIREITA + EXPANDIDO</ad>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<e><ad>DARUMA AUTOMAÇÃO!!</ad></e><l>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad><s>ALINHADO A DIREITA + SUBLINHADO</ad><s>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad><s>DARUMA AUTOMAÇÃO!!</s></ad><l>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>CENTRALIZADO + EXPANDIDO</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<e><ce>DARUMA AUTOMAÇÃO!!</ce></e><l>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ft>05,10,15,20,30,40</ft>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>TABULADO NA COLUNA 10</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb></tb><tb></tb>DARUMA<l>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>TABULADO NA COLUNA 30</ce>", 0)
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb></tb><tb></tb><tb></tb><tb></tb><tb></tb>DARUMA", 0)

'Enviando todos Juntos
Int_Retorno = Daruma_DUAL_ImprimirTexto("<l><e><b>BUFFER COMPLETO</e></b>", 0)

Int_Retorno = Daruma_DUAL_ImprimirTexto("<<e>>DATA:<<dt>><</dt>><</e>><<l>><<l/>><<e>>Hora:<<hr>><</hr>><</e>><<l>><<l/>><<ce>>" + _
"Anvançando 5 Linhas<</ce>><<sl>>5<</sl>>Inserindo<<sp>>10<</sp>>10 espaços em Branco<<l>>" + _
"<<ce>>Formatação Normal<</ce>><<n>>DARUMA AUTOMAÇÃO!!<</n>><<l>><<ce>>NEGR+ITAL+SUBL+EXPAND<</ce>>" + _
"<<b>><<i>><<s>><<e>>DARUMA AUTOMAÇÃO!!<</b>><</i>><</s>><</e>><<l>><<ce>>NEGR+ITAL+SUBL+CONDENSADO<</ce>>" + _
"<<b>><<i>><<s>><<c>>DARUMA AUTOMAÇÃO!!<</b>><</i>><</s>><</c>><<l>><<ce>>NEGR+ITAL+SUBL+NORMAL<</ce>><<b>>" + _
"<<i>><<s>><<n>>DARUMA AUTOMAÇÃO!!<</b>><</i>><</s>><</n>><<l>><<ce>>EXPANDIDO<</ce>><<e>>DARUMA AUTOMAÇÃO!!" + _
"<<e>><<l>><<ce>>CONDENSADO<</ce>><<c>>DARUMA AUTOMAÇÃO!!<</c>><<l>><<ce>>NEGRITO+EXPANDIDO<</ce>><<b>><<e>>DARUMA AUTOMAÇÃO!!" + _
"<</b>><</e>><<l>><<ce>>Itálico+EXPANDIDO<</ce>><<i>><<e>>DARUMA AUTOMAÇÃO!!<</i>><</e>><<l>><<ce>>SUBLINHADO+EXPANDIDO<</ce>>" + _
"<<s>><<e>>DARUMA AUTOMAÇÃO!!<</s>><</e>><<l>><<ce>>NEGRITO+CONDENSADO<</ce>><<b>><<c>>DARUMA AUTOMAÇÃO!!<</b>><</c>><<l>>" + _
"<<ce>>Itálico+CONDENSADO<</ce>><<i>><<c>>DARUMA AUTOMAÇÃO!!<</i>><</c>><<l>><<ce>>SUBLINHADO+CONDENSADO<</ce>><<s>><<c>>" + _
"DARUMA AUTOMAÇÃO!!<</s>><</c>><<l>><<ce>>NEGRITO+NORMAL<</ce>><<b>><<n>>DARUMA AUTOMAÇÃO!!<</b>><</n>><<l>><<ce>>Itálico+NORMAL" + _
"<</ce>><<l>><<i>><<n>>DARUMA AUTOMAÇÃO!!<</i>><</n>><<l>><<ce>>SUBLINHADO+NORMAL<</ce>><<s>><<n>>DARUMA AUTOMAÇÃO!!<</s>><</n>>" + _
"<<l>><<ce>>ALINHADO A DIREITA<</ce>><<ad>>DARUMA AUTOMAÇÃO!!<</ad>><<l>><<ce>>ALINHADO A DIREITA + EXPANDIDO<</ce>>" + _
"<<e>><<ad>>DARUMA AUTOMAÇÃO!!<</ad>><</e>><<l>><<ce>>ALINHADO A DIREITA + SUBLINHADO<</ce>><<ad>><<s>>DARUMA AUTOMAÇÃO!!<</s>><</ad>>" + _
"<<l>><<ce>>CENTRALIZADO + EXPANDIDO<</ce>><<e>><<ce>>DARUMA AUTOMAÇÃO!!<</ce>><</e>><<l>><<ce>>TABULADO NA COLUNA 10<</ce>> <<tb>><</tb>>" + _
" <<tb>><</tb>>DARUMA<<l>><<ce>>TABULADO NA COLUNA 30<</ce>> <<tb>><</tb>> <<tb>><</tb>> <<tb>><</tb>> <<tb>><</tb>> <<tb>><</tb>>DARUMA<<sl>>10<</sl>>", 0)

Int_Retorno = Daruma_DUAL_ImprimirTexto("<l></l><e>DATA:<dt></dt></e><l></l><e>Hora:<hr></hr></e><l></l><ce>Anvançando 5 Linhas</ce><sl>5</sl>" + _
"Inserindo<sp>10</sp>10 espaços em Branco<l><ce>Formatação Normal</ce><n>DARUMA AUTOMAÇÃO!!</n><l><ce>NEGR+ITAL+SUBL+EXPAND</ce><b><i><s><e>DARUMA AUTOMAÇÃO!!</b></i></s></e><l>" + _
"<n><ce>NEGR+ITAL+SUBL+CONDENSADO</ce></n><b><i><s><c>DARUMA AUTOMAÇÃO!!</b></i></s></c><l><ce>NEGR+ITAL+SUBL+NORMAL</ce><b><i><s><n>DARUMA AUTOMAÇÃO!!</b></i></s></n><l>" + _
"<ce>EXPANDIDO</ce><e>DARUMA AUTOMAÇÃO!!</e><l><ce>CONDENSADO</ce><c>DARUMA AUTOMAÇÃO!!</c><l><ce>NEGRITO+EXPANDIDO</ce><b><e>DARUMA AUTOMAÇÃO!!</b></e><l>" + _
"<ce>Itálico+EXPANDIDO</ce><i><e>DARUMA AUTOMAÇÃO!!</i></e><l><ce>SUBLINHADO+EXPANDIDO</ce><s><e>DARUMA AUTOMAÇÃO!!</s></e><l><ce>NEGRITO+CONDENSADO</ce><b><c>DARUMA AUTOMAÇÃO!!</b></c><l>" + _
" <ce>Itálico+CONDENSADO</ce><i><c>DARUMA AUTOMAÇÃO!!</i></c><l><ce>SUBLINHADO+CONDENSADO</ce><s><c>DARUMA AUTOMAÇÃO!!</s></c><l><ce>NEGRITO+NORMAL</ce><b><n>DARUMA AUTOMAÇÃO!!</b></n><l>" + _
"<ce>Itálico+NORMAL</ce><l><i><n>DARUMA AUTOMAÇÃO!!</i></n><l><ce>SUBLINHADO+NORMAL</ce><s><n>DARUMA AUTOMAÇÃO!!</s></n><l><ce>ALINHADO A DIREITA</ce><ad>DARUMA AUTOMAÇÃO!!</ad><l>" + _
"<ce>ALINHADO A DIREITA + EXPANDIDO</ce><e><ad>DARUMA AUTOMAÇÃO!!</ad></e><l><ce>ALINHADO A DIREITA + SUBLINHADO</ce><ad><s>DARUMA AUTOMAÇÃO!!</s></ad><l>" + _
"<ce>CENTRALIZADO + EXPANDIDO</ce><e><ce>DARUMA AUTOMAÇÃO!!</ce></e><l><ce>TABULADO NA COLUNA 10</ce> <tb></tb> <tb></tb>DARUMA<l>" + _
"<ce>TABULADO NA COLUNA 30</ce> <tb></tb> <tb></tb> <tb></tb> <tb></tb> <tb></tb>DARUMA<sl>10</sl>", 0)

If Int_Retorno = 1 Then
MsgBox "Impressao Conlcuida!", vbInformation, "Daruma Framework"
Else
MsgBox "Erro!", vbCritical, "Daruma Framework"
End If

· Exemplo em Delphi 7.0:


Exemplo DUAL 01

Exemplo DUAL 01
Método: Daruma_DUAL_ImprimirTexto
Previous Top Next

· Definição do Método:
Permite a Impressão de Texto com as TAGS de formatação.

· Parâmetro:
String: com as tabulações:<tb></tb>

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Time-Out, o Usuario não posicionou o Documento dentro do tempo indicado
1: OK, Sucesso ao enviar o método
-27: Erro Genérico
-50: Impressora OFF-Line
-51: Impressora Sem Papel
-52: ECF Inicializando.
-53: Erro de Impressão.
Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Nome_Empresa As String
Dim Str_Endereco_Empresa As String
Dim Str_Fone_Empresa As String
Dim Str_Numero_Pedido As String
Dim Str_Tema_Mensagem As String
Dim Str_Titulo_Mensagem As String
Dim Str_Valor_Mensagem As String
Dim Str_Forma_Cobranca As String
Dim Str_Cliente As String
Dim Str_Fone_Res As String
Dim Str_Fone_Celular As String
Dim Str_Fone_Com As String
Dim Str_Mensagem_Promo As String
Dim Str_Hora As String

Str_Nome_Empresa = 'I LOVE TELEMENSAGENS'
Str_Endereco_Empresa = 'Rua: XV de Novembro'
Str_Fone_Empresa = '3343-0619 / 3386-9508'
Str_Numero_Pedido = '0541'
Str_Tema_Mensagem = 'Romantica'
Str_Titulo_Mensagem = 'Casados para Sempre'
Str_Valor_Mensagem = '5,00'
Str_Forma_Cobranca = 'Em carteira"
Str_Cliente = 'Lucia de Souza'
Str_Fone_Res = '233-1154'
Str_Fone_Celular = '9916-5540'
Str_Fone_Com = '224-8890 R-254'
Str_Mensagem_Promo = 'Agradeçemos a Preferência!!!'
Str_Hora = TX_Hora.Text

'IMPRIMINDO A PRIMEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<i><e><sp>2</sp>" + TX_Nome_Empresa.Text + "</e></i>", 0)
'IMPRIMINDO A SEGUNDA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><tc>-</tc></ce>", 0)
'IMPRIMINDO A TERCEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Endereco_Empresa.Caption + "<i>" + TX_Endereco_Empresa.Text + "</i>", 0)
'IMPRIMINDO A QUARTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Fone_Empresa.Caption + "<i>" + TX_Fone_Empresa.Text + "</i>", 0)
'IMPRIMINDO A QUINTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Pedido_Nº.Caption + "<i>" + TX_Numero_Pedido.Text + "</i>", 0)
'IMPRIMINDO A SEXTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Data.Caption + "<i><dt></dt></i>", 0)
'IMPRIMINDO A SETIMA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><tc>-</tc></ce>", 0)
'IMPRIMINDO A OITAVA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Tema_Mensagem.Caption + "<i>" + TX_Tema_Mensagem.Text + "</i>", 0)
'IMPRIMINDO A NONA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Titulo_Mensagem.Caption + "<i>" + TX_Titulo_Mensagem.Text + "</i>", 0)
'IMPRIMINDO A DECIMA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Valor_Mensagem.Caption + "<i>" + TX_Valor_Mensagem.Text + "</i>", 0)
'IMPRIMINDO A DECIMA PRIMEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Forma_Cobranca.Caption + "<i>" + TX_Forma_Cobranca.Text + "</i>", 0)
'IMPRIMINDO A DECIMA SEGUNDA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Cliente.Caption + "<i>" + TX_Cliente.Text + "</i>", 0)
'IMPRIMINDO A DECIMA TERCEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Fone_Res.Caption + "<i>" + TX_Fone_Res.Text + "</i>", 0)
'IMPRIMINDO A DECIMA QUARTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Celular.Caption + "<i>" + TX_Celular.Text + "</i>", 0)
'IMPRIMINDO A DECIMA QUINTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Fone_Com.Caption + "<i>" + TX_Fone_Com.Text + "</i><sl>1</sl>", 0)
'IMPRIMINDO A DECIMA SEXTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><b>" + Tx_Mensagem_Promo.Text + "</b></ce><sl>2</sl>", 0)
'IMPRIMINDO A DECIMA OITAVA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>35</sp>" + LB_Hora.Caption + "<hr></hr>", 0)
'IMPRIMINDO A DECIMA NONA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><tc>-</tc></ce><sl>8</sl>", 0)

If Int_Retorno = 1 Then
MsgBox "Impressao Concluida!", vbInformation, "Daruma Framework"
Else
MsgBox "Erro!", vbCritical, "Daruma Framework"
End If

· Exemplo em Delphi 7.0:


Exemplo DUAL 02

Exemplo DUAL 02
Método: Daruma_DUAL_ImprimirTexto
Previous Top Next

· Definição do Método:
Permite a Impressão de Texto com as TAGS de formatação.

· Parâmetro:
String: com as tabulações:<tb></tb>

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Time-Out, o Usuario não posicionou o Documento dentro do tempo indicado
1: OK, Sucesso ao enviar o método
-27: Erro Genérico
-50: Impressora OFF-Line
-51: Impressora Sem Papel
-52: ECF Inicializando.
-53: Erro de Impressão.
Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Retorno As Integer
Dim Str_Empresa As String
Dim Str_Endereco_Empresa As String
Dim Str_Fone_Empresa As String
Dim Str_Cliente As String
Dim Str_Cadastro As String
Dim Str_Data_Devolucao As String
Dim Str_Filme As String
Dim Str_Categoria As String
Dim Str_Valor As String
Dim Str_Mensagem_Promocional As String

Str_Empresa = 'Lucas Video'
Str_Edereco_Empresa = 'AV. Constantino Lopes, 550 - Centro - Ctba.'
Str_Fone_Empresa = '232-1662'
Str_Cliente = 'Guilherme de Souza'
Str_Cadastro = '00021'
Str_Data_Devolucao = '17/01/2005'
Str_Filme = 'Piratas do Caribe'
Str_Categoria = 'Lançamento'
Str_Valor = '4,50'
Str_Mensagem_Promocional = 'A cada 2 lançamentos brinde 1 catálogo'

'IPRIMINDO A PRIMEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<e><ce><b>" + TX_Empresa.Text + "</ce></e></b>", 0)
'IPRIMINDO A SEGUNRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto(LB_Endereco_Empresa.Caption + "<i><sp>1</sp>" + TX_Endereco_Empresa.Text + "</i>", 0)
'IPRIMINDO A TERCEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto(LB_Fone_Empresa.Caption + "<i><sp>1</sp>" + TX_Fone_Empresa.Text + "</i>", 0)
'IMPRIMINDO A QUARTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto(LB_Nome_Cliente + "<i><sp>1</sp>" + TX_Cliente.Text + "</i>", 0)
'IMPRIMINDO A QUINTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto(LB_Cadastro + "<i><sp>1</sp>" + TX_Cadastro.Text + "</i>", 0)
'IMPRIMINDO A SEXTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto(LB_Data_Devolucao + "<i><sp>1</sp>" + TX_Data_Devolucao.Text + "</i>", 0)
'IMPRIMINDO A SETIMA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto(LB_Filme + "<i><sp>1</sp>" + TX_Filme.Text + "</i>", 0)
'IMPRIMINDO A OITAVA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto(LB_Categoria + "<i><sp>1</sp>" + TX_Categoria + "</i>", 0)
'IMPRIMINDO A NONA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto(LB_Valor + "<i><sp>1</sp>" + TX_Valor + "</i><sl>2</sl>", 0)
'IMPRIMINDO A DECIMA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<i><ce><b>" + TX_Mensagem_Promocional + "</i></ce></b><sl>10</sl>", 0)

If Int_Retorno = 1 Then
MsgBox "Impressao Concluida!", vbInformation, "Daruma Framework"
Else
MsgBox "Erro!", vbCritical, "Daruma Framework"
End If

· Exemplo em Delphi 7.0:


Exemplo DUAL 03 (Tabulações)

Exemplo DUAL 03 (Tabulações)
Método: Daruma_DUAL_ImprimirTexto
Previous Top Next

· Definição do Método:
Permite a Impressão de Texto com as TAGS de formatação.

· Parâmetro:
String: com as tabulações:<tb></tb>

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Time-Out, o Usuario não posicionou o Documento dentro do tempo indicado
1: OK, Sucesso ao enviar o método
-27: Erro Genérico
-50: Impressora OFF-Line
-51: Impressora Sem Papel
-52: ECF Inicializando.
-53: Erro de Impressão.
Exemplos:

· Exemplo em Visual Basic 6.0:
'IMPRIMINDO A PRIMEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>FRAB<tb>Ano<tb>Modelo<tb>Valor<tb>Cor", 0)
'IMPRIMINDO A SEGUNDA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>GM<tb>2000<tb>Corsa<tb>12.000<tb>Azul", 0)
'IMPRIMINDO A TERCEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Ford<tb>2005<tb>Fiesta<tb>14.000<tb>Verde", 0)
'IMPRIMINDO A QUARTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Fiat<tb>1998<tb>Uno Mille<tb>9.000<tb>Branco", 0)
'IMPRIMINDO A QUINTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>GM<tb>1997<tb>Vectra<tb>18.000<tb>Prata", 0)
'IMPRIMINDO A SEXTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>GM<tb>1999<tb>Tigra<tb>17.000<tb>Verde", 0)
'IMPRIMINDO A SETIMA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Ford<tb>2001<tb>Versalhes<tb>5.000<tb>Vinho", 0)
'IMPRIMINDO A OITAVA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>GM<tb>1998<tb>Corsa<tb>10.000<tb>Preto", 0)
'IMPRIMINDO A NONA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Fiat<tb>1996<tb>Fiurino<tb>6.000<tb>Branca", 0)
'IMPRIMINDO A DECIMA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>WV<tb>1979<tb>Fusca<tb>3.000<tb>Bordo", 0)
'IMPRIMINDO A DECIMA PRIMEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>GM<tb>1996<tb>Vectra<tb>16.000<tb>Grafite", 0)
'IMPRIMINDO A DECIMA SEGUNDA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Fiat<tb>1985<tb>Fiat147<tb>3.000<tb>Azul", 0)
'IMPRIMINDO A DECIMA TERCEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Hond<tb>2003<tb>Civic<tb>28.000<tb>Preto", 0)
'IMPRIMINDO A DECIMA QUARTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Fiat<tb>1999<tb>Palio<tb>12.000<tb>Cinza", 0)
'IMPRIMINDO A DECIMA QUINTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>GM<tb>2003<tb>Celta<tb>17.000<tb>Branco<sl>7</sl>", 0)

If Int_Retorno = 1 Then
MsgBox "Impressao Concluida!", vbInformation, "Daruma Framework"
Else
MsgBox "Erro!", vbCritical, "Daruma Framework"
End If

· Exemplo em Delphi 7.0:


Exemplo DUAL 04

Exemplo DUAL 04
Método: Daruma_DUAL_ImprimirTexto
Previous Top Next

· Definição do Método:
Permite a Impressão de Texto com as TAGS de formatação.
· Parâmetro:
String: com as tabulações:<tb></tb>

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Time-Out, o Usuario não posicionou o Documento dentro do tempo indicado
1: OK, Sucesso ao enviar o método
-27: Erro Genérico
-50: Impressora OFF-Line
-51: Impressora Sem Papel
-52: ECF Inicializando.
-53: Erro de Impressão.
Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>~</tc><l></l>", 0)
'IMPRIMINDO A PRIMEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><e><b>CENTRO DE DANÇA FLESH</b></e></ce>", 0)
'IMPRIMINDO A SEGUNDA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<l></l><tc>~</tc>", 0)
'IMPRIMINDO A TERCEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Rua: <c>XV de Novembro N 785 Centro CTBA PR</c>", 0)
'IMPRIMINDO A QUARTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><i>Fone: 234-5678 <tb>Fax:324-5678</i>", 0)
'IMPRIMINDO A QUINTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Data: <dt></dt><tb><tb>Hora: <hr></hr>", 0)
'IMPRIMINDO A SEXTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Pedido:00069<tb><tb>Cliente:00013", 0)
'IMPRIMINDO A SÉTIMA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><b>Atividades Escolhidas:</b></ce>", 0)
'IMPRIMINDO A OITAVA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>SAMBA<tb>+<tb>BOLERO<tb>+<tb>FORRÓ", 0)
'IMPRIMINDO A NONA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<l></l><tb><i><e><b>Valor: 55,00</b></e></i><l></l>", 0)
'IMPRIMINDO A DECIMA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><c>Vencimento: 10-03-05</c>", 0)
'IMPRIMINDO A DECIMA PRIMEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><c>o não pagamento implica no cancelamento da vaga </c>", 0)
'IMPRIMINDO A DECIMA SEGUNDA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Início dia 01 de Fevereiro as 17:30hr", 0)
'IMPRIMINDO A DECIMA TERCEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<l></l><tb>Venha Dançar!!!<l></l>", 0)
'IMPRIMINDO A DECIMA QUARTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto(" <ce><s><c>Samba,Bolero,Soltinho,Forró,Zouk</c></s></ce>", 0)
'IMPRIMINDO A DECIMA QUINTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad>Obrigado.</ad>", 0)
'IMPRIMINDO A DECIMA SEXTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sn></sn>", 0)
'IMPRIMINDO A DECIMA SÉTIMA LINHA
If Int_Retorno = 1 Then
MsgBox "Impressao Concluida!", vbInformation, "Daruma Framework"
Else
MsgBox "Erro!", vbCritical, "Daruma Framework"
End If

· Exemplo em Delphi 7.0:


Exemplo DUAL 05

Exemplo DUAL 05
Método: Daruma_DUAL_ImprimirTexto
Previous Top Next

· Definição do Método:
Permite a Impressão de Texto com as TAGS de formatação.
· Parâmetro:
String: com as tabulações:<tb></tb>

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Time-Out, o Usuario não posicionou o Documento dentro do tempo indicado
1: OK, Sucesso ao enviar o método
-27: Erro Genérico
-50: Impressora OFF-Line
-51: Impressora Sem Papel
-52: ECF Inicializando.
-53: Erro de Impressão.
Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_DUAL_ImprimirTexto("<e><ce><s>ESTACIONAMENTO LAC_PARK<s></ce></e>", 0)
'IMPRIMINDO A PRIMEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<n>Endereço:</n><c> A Dr. Teobaldo Freitas Silva Ribas - Nº1912</c>", 0)
'IMPRIMINDO A SEGUNDA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<c>Santo André - São Paulo - SP - Brasil</c><l></l>", 0)
'IMPRIMINDO A TERCEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<n>TICKET NÚMERO:<tb> 0005423</n><l></l>", 0)
'IMPRIMINDO A QUARTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><b>Entrada:<tb><dt></dt><tb><hr></hr></b>", 0)
'IMPRIMINDO A QUINTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc><l></l>", 0)
'IMPRIMINDO A SEXTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><i>MARCA: Fiat<tb><tb>MODELO: Stilo</i><l></l>", 0)
'IMPRIMINDO A SETIMA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><i>PLACA: ANA-1069<tb>COR: Vermelho</i><l></l>", 0)
'IMPRIMINDO A OITAVA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc><l></l>", 0)
'IMPRIMINDO A DECIMA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad><n>R$ 2,00 à Hora</n></ad>", 0)
'IMPRIMINDO A DECIMA PRIMEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad><n>R$ 0,50 à Cada 15 Minutos</n></ad>", 0)
'IMPRIMINDO A DECIMA SEGUNDA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><c><s><b>Não nos Responsabilizamos Por Objetos de Valor</b></s></c>", 0)
'IMPRIMINDO A DECIMA TERCEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><c><s><b>Deixados no Interior do Veículo</b></s></c><l></l>", 0)
'IMPRIMINDO A DECIMA QUARTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><e><b>OBRIGADO</b></e></ce>", 0)
'IMPRIMINDO A DECIMA QUINTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl>", 0)
If Int_Retorno = 1 Then
MsgBox "Impressao Concluida!", vbInformation, "Daruma Framework"
Else
MsgBox "Erro!", vbCritical, "Daruma Framework"
End If

· Exemplo em Delphi 7.0:


Exemplo DUAL 06

Exemplo DUAL 06
Método: Daruma_DUAL_ImprimirTexto
Previous Top Next

· Definição do Método:
Permite a Impressão de Texto com as TAGS de formatação.
· Parâmetro:
String: com as tabulações:<tb></tb>

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Time-Out, o Usuario não posicionou o Documento dentro do tempo indicado
1: OK, Sucesso ao enviar o método
-27: Erro Genérico
-50: Impressora OFF-Line
-51: Impressora Sem Papel
-52: ECF Inicializando.
-53: Erro de Impressão.
Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc>", 0)
'IMPRIMINDO A PRIMEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><e>VENDA - A VISTA</e></ce>", 0)
'IMPRIMINDO A SEGUNDA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc>", 0)
'IMPRIMINDO A TERCEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><n>Cliente...: 000001 - CONSUMIDOR</n>", 0)
'IMPRIMINDO A QUARTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><n>Vendedor...:</n> <e>00069 - ANDREA </e>", 0)
'IMPRIMINDO A QUINTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><n>Contrato...:</n> <e>02195 -</e><n> Data:<dt></dt></n>", 0)
'IMPRIMINDO A SEXTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc>", 0)
'IMPRIMINDO A SETIMA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("CÓDIGO<sp>3</sp>DESCRIÇÃO<sp>3</sp>QT<sp>6</sp>UNIT<sp>8</sp>TOTAL", 0)
'IMPRIMINDO A OITAVA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc>", 0)
'IMPRIMINDO A DECIMA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("06540<tb>TENIS REEF<sp>2</sp>1<tb>149,90<sp>6</sp>149,90", 0)
'IMPRIMINDO A DECIMA PRIMEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("05874<tb>MEIA ESTAM<sp>2</sp>6<tb> 2,90<sp>7</sp>17,40", 0)
'IMPRIMINDO A DECIMA SEGUNDA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("05874<tb>BLUSAO ADU<sp>2</sp>1<tb> 49,00<sp>7</sp>49,00", 0)
'IMPRIMINDO A DECIMA TERCEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("05874<tb>CUECA SORT<sp>2</sp>2<tb> 4,90<sp>8</sp>9,80", 0)
'IMPRIMINDO A DECIMA QUARTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("05874<tb>TOALHA MES<sp>2</sp>3<tb> 9,90<sp>7</sp>29,70 ", 0)
'IMPRIMINDO A DECIMA QUINTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc>", 0)
'IMPRIMINDO A DECIMA SEXTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad>DESCONTOS: - 12,80</ad>", 0)
'IMPRIMINDO A DECIMA SETIMA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc>", 0)
'IMPRIMINDO A DECIMA OITAVA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<e>TOTAL VENDA...:<sp>2</sp>243,00</e>", 0)
'IMPRIMINDO A DECIMA NONA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc>", 0)
'IMPRIMINDO A VIGÉSIMA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl>", 0)
'IMPRIMINDO A VIGÉSIMA PRIMEIRA LINHA
If Int_Retorno = 1 Then
MsgBox "Impressao Concluida!", vbInformation, "Daruma Framework"
Else
MsgBox "Erro!", vbCritical, "Daruma Framework"
End If

· Exemplo em Delphi 7.0:


Exemplo DUAL 07

Exemplo DUAL 07
Método: Daruma_DUAL_ImprimirTexto
Previous Top Next

· Definição do Método:
Permite a Impressão de Texto com as TAGS de formatação.
· Parâmetro:
String: com as tabulações:<tb></tb>

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Time-Out, o Usuario não posicionou o Documento dentro do tempo indicado
1: OK, Sucesso ao enviar o método
-27: Erro Genérico
-50: Impressora OFF-Line
-51: Impressora Sem Papel
-52: ECF Inicializando.
-53: Erro de Impressão.
Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>#</tc>", 0)
'IMPRIMINDO A PRIMEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<e><ce>ACADEMIA NEW SPORTS</ce></e>", 0)
'IMPRIMINDO A SEGUNDA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><i>Rua Nossa Senhora da Luz</i>, 350", 0)
'IMPRIMINDO A TERCEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><i>Jardim Social - Curitiba - PR</i>", 0)
'IMPRIMINDO A QUARTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>CNPJ 04.888.968/0001-79<tb><e>234-5678<l></l></e>", 0)
'IMPRIMINDO A QUINTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>#</tc><l></l>", 0)
'IMPRIMINDO A SEXTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<i><dt></dt><i>", 0)
'IMPRIMINDO A SÉTIMA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad>Recibo nr.258963</ad><l></l>", 0)
'IMPRIMINDO A OITAVA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<c>Nome : </c><b>ELAINE MARIA</b><sp>5</sp>(545)<l></l> ", 0)
'IMPRIMINDO A NONA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<c>Plano : </c><b>MUSCULAÇÃO NOTURNO</b><sp>5</sp>(5)<l></l> ", 0)
'IMPRIMINDO A DECIMA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><e>VALOR PAGO : 45,00</e></ce> ", 0)
'IMPRIMINDO A DECIMA PRIMEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<c>Ref. ao período de 03/04/2005 até 03/05/2005</c><l></l>", 0)
'IMPRIMINDO A DECIMA SEGUNDA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<c>Obs: MENSALIDADE</c><l></l>", 0)
'IMPRIMINDO A DECIMA TERCEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc><l></l>", 0)
'IMPRIMINDO A DECIMA QUARTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><e>WWW.ACADEMIANEW.COM.BR</e></ce>", 0)
'IMPRIMINDO A DECIMA QUINTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc><l></l>", 0)
'IMPRIMINDO A DECIMA SEXTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><e>SAUDE BELEZA E BEM ESTAR</e></ce>", 0)
'IMPRIMINDO A DECIMA SÉTIMA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sn></sn>", 0)
'IMPRIMINDO A DECIMA OITAVA LINHA
If Int_Retorno = 1 Then
MsgBox "Impressao Concluida!", vbInformation, "Daruma Framework"
Else
MsgBox "Erro!", vbCritical, "Daruma Framework"
End If

· Exemplo em Delphi 7.0:


Exemplo DUAL 08

Exemplo DUAL 08
Método: Daruma_DUAL_ImprimirTexto
Previous Top Next

· Definição do Método:
Permite a Impressão de Texto com as TAGS de formatação.
· Parâmetro:
String: com as tabulações:<tb></tb>

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Time-Out, o Usuario não posicionou o Documento dentro do tempo indicado
1: OK, Sucesso ao enviar o método
-27: Erro Genérico
-50: Impressora OFF-Line
-51: Impressora Sem Papel
-52: ECF Inicializando.
-53: Erro de Impressão.
Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_DUAL_ImprimirTexto("________________________________________________", 0)
'IMPRIMINDO A PRIMEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("|<sp>5</sp><e><s>CASA ASHFAQ AHMED</s></e><sp>6</sp>|", 0)
'IMPRIMINDO A SEGUNDA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("|<c>Nota de : </c> <e>VENDAS</e><sp>24</sp>|", 0)
'IMPRIMINDO A TERCEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("|<c>Número : </c> <e>032165</e><sp>24</sp>|", 0)
'IMPRIMINDO A QUARTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("|<c>Vendedor: </c> <e>ZORAIDE</e><sp>22</sp>|", 0)
'IMPRIMINDO A QUINTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0)
'IMPRIMINDO A SEXTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("|<sp>2</sp><b>CÓDIGO<sp>4</sp>|<sp>2</sp>DESCRIÇÃO<sp>8</sp>| VALOR</b> |", 0)
'IMPRIMINDO A SÉTIMA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0)
'IMPRIMINDO A OITAVA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("|<sp>2</sp><b>00074185<sp>2</sp>|<sp>2</sp>DVD PANA-LS345<sp>3</sp>|<sp>2</sp>499,00</b><sp>4</sp>|", 0)
'IMPRIMINDO A NONA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0)
'IMPRIMINDO A DECIMA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("|<sp>2</sp><b>000963256<sp>1</sp>|<sp>2</sp>CALCUL<sp>3</sp>HP49GX<sp>2</sp>|<sp>2</sp>859,00</b><sp>4</sp>|", 0)
'IMPRIMINDO A DECIMA PEIMEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0)
'IMPRIMINDO A DECIMA SEGUNDA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("|<sp>2</sp><b>00258852<sp>2</sp>|<sp>2</sp>TV TOSHI0<sp>2</sp>48P<sp>3</sp>|4,480,00</b><sp>4</sp>|", 0)
'IMPRIMINDO A DECIMA TERCEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0)
'IMPRIMINDO A DECIMA QUARTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("|<sp>2</sp><b>000789654<sp>1</sp>|<sp>2</sp>SONY T68i<sp>8</sp>|<sp>2</sp>659,00</b><sp>4</sp>|", 0)
'IMPRIMINDO A DECIMA QUINTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0)
'IMPRIMINDO A DECIMA SEXTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("|<sp>45</sp>|", 0)
'IMPRIMINDO A DECIMA SÉTIMA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("|<e><sp>3</sp>TOTAL<sp>3</sp>5,727,00</e><sp>7</sp>|", 0)
'IMPRIMINDO A DECIMA OITAVA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("|<sp>45</sp>|", 0)
'IMPRIMINDO A DECIMA NONA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0)
'IMPRIMINDO A VIGÉSIMA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("|<sp>18</sp>CONFIRA SUAS MERCADORIAS<sp>3</sp>|", 0)
'IMPRIMINDO A VIGÉSIMA PRIMEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("|<sp>5</sp>NÃO ACEITAMOS RECLAMAÇÕES POSTERIORES<sp>3</sp>|", 0)
'IMPRIMINDO A VIGÉSIMA SEGUNDA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0)
'IMPRIMINDO A VIGÉSIMA TERCEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl>", 0)
'IMPRIMINDO A VIGÉSIMA QUARTA LINHA
If Int_Retorno = 1 Then
MsgBox "Impressao Concluida!", vbInformation, "Daruma Framework"
Else
MsgBox "Erro!", vbCritical, "Daruma Framework"
End If

· Exemplo em Delphi 7.0:


Exemplo DUAL 09

Exemplo DUAL 09
Método: Daruma_DUAL_ImprimirTexto
Previous Top Next

· Definição do Método:
Permite a Impressão de Texto com as TAGS de formatação.
· Parâmetro:
String: com as tabulações:<tb></tb>

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Time-Out, o Usuario não posicionou o Documento dentro do tempo indicado
1: OK, Sucesso ao enviar o método
-27: Erro Genérico
-50: Impressora OFF-Line
-51: Impressora Sem Papel
-52: ECF Inicializando.
-53: Erro de Impressão.
Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><e><s>R E C I B O</s></e></ce>", 0)
'IMPRIMINDO A PRIMEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>32</sp><c>1º VIA</c>", 0)
'IMPRIMINDO A SEGUNDA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<e><sp>1</sp>INFO<sp>2</sp>XV</e><sp>14</sp><c>VENCIMENTO:<c><dt></dt>", 0)
'IMPRIMINDO A TERCEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>32</sp><c>NÚMERO: 00654</c>", 0)
'IMPRIMINDO A QUARTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<i><b>C o n t r o l e d e A l u g u e l</b></i>", 0)
'IMPRIMINDO A QUINTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0)
'IMPRIMINDO A SEXTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<b>INQUILINO<sp>4</sp>..:</b> José Maria ", 0)
'IMPRIMINDO A SÉTIMA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<b>FIADOR<sp>7</sp>..:</b> Roberto Carlos ", 0)
'IMPRIMINDO A OITAVA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<b>IMÓVEL LOCADO..:</b> AV. Almirante Sab Nº 258 ", 0)
'IMPRIMINDO A NONA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<b>VALOR<sp>8</sp>..:</b> 455,00 ", 0)
'IMPRIMINDO A DECIMA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------<l></l><l></l>", 0)
'IMPRIMINDO A DECIMA PRIMEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad>Ass:-----------------------------</ad>", 0)
'IMPRIMINDO A DECIMA SEGUNDA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><c>NOTA PARA SIMPLES CONFERÊNCIA</c>", 0)
'IMPRIMINDO A DECIMA TERCEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><c>SEM VALOR FISCAL</c>", 0)
'IMPRIMINDO A DECIMA QUARTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><i>FECHA..:<sp>2</sp><dt></dt><hr></hr> </i>", 0)
'IMPRIMINDO A DECIMA QUINTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0)
'IMPRIMINDO A DECIMA SEXTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl>", 0)
'IMPRIMINDO A DECIMA SÉTIMA LINHA
If Int_Retorno = 1 Then
MsgBox "Impressao Concluida!", vbInformation, "Daruma Framework"
Else
MsgBox "Erro!", vbCritical, "Daruma Framework"
End If

· Exemplo em Delphi 7.0:


Exemplo DUAL 10

Exemplo DUAL 10
Método: Daruma_DUAL_ImprimirTexto
Previous Top Next

· Definição do Método:
Permite a Impressão de Texto com as TAGS de formatação.
· Parâmetro:
String: com as tabulações:<tb></tb>

· Este Método retornará um dos Valores Inteiros listados Abaixo:
0: Time-Out, o Usuario não posicionou o Documento dentro do tempo indicado
1: OK, Sucesso ao enviar o método
-27: Erro Genérico
-50: Impressora OFF-Line
-51: Impressora Sem Papel
-52: ECF Inicializando.
-53: Erro de Impressão.
Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><e><s>Consultório Médico </s></e></ce><l></l>", 0)
'IMPRIMINDO A PRIMEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<c>MÉDICO<sp>3</sp>__:</c><sp>2</sp>DR. Avô França", 0)
'IMPRIMINDO A SEGUNDA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<c>REGISTRO __:</c><sp>2</sp>321654", 0)
'IMPRIMINDO A TERCEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<c>END. CONS__:</c><sp>2</sp>Rua Hugo Boos Nº 98, Centro CTBA PR", 0)
'IMPRIMINDO A QUARTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0)
'IMPRIMINDO A QUINTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><i>REGISTRO DE CONSULTAS</i></b>", 0)
'IMPRIMINDO A SEXTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><c>PACIENTE<sp>5</sp>__:</c><sp>2</sp>Maria de Lurdes", 0)
'IMPRIMINDO A SÉTIMA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><c>DATA CONSULTA__:<sp>1</sp>02/02/08</c><sp>7</sp>(orto)", 0)
'IMPRIMINDO A OITAVA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><c>HORA CONSULTA__:<sp>1</sp>16:20:00</c>", 0)
'IMPRIMINDO A NONA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><i>TOLERÂNCIA DE ATRASO</i></b><l></l>", 0)
'IMPRIMINDO A DECIMA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad>15 Minutos </ad>", 0)
'IMPRIMINDO A DECIMA PRIMEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><i>DESISTÊNCIA</i></b>", 0)
'IMPRIMINDO A DECIMA SEGUNDA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad>Avisar com 24 Horas de Antesedência</ad>", 0)
'IMPRIMINDO A DECIMA TERCEIRA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><i>OBSERVAÇÃO</i></b>", 0)
'IMPRIMINDO A DECIMA QUARTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad>Raio X e Outros Exames não Estão Inclusos</ad>", 0)
'IMPRIMINDO A DECIMA QUINTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><i>DATA HOJE</i></b>", 0)
'IMPRIMINDO A DECIMA SEXTA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><dt></dt><sp>3</sp><hr></hr></ce>", 0)
'IMPRIMINDO A DECIMA SÉTIMA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0)
'IMPRIMINDO A DECIMA OITAVA LINHA
Int_Retorno = Daruma_DUAL_ImprimirTexto("<sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sn></sn>", 0)
'IMPRIMINDO A DECIMA NONA LINHA
If Int_Retorno = 1 Then
MsgBox "Impressao Concluida!", vbInformation, "Daruma Framework"
Else
MsgBox "Erro!", vbCritical, "Daruma Framework"
End If

· Exemplo em Delphi 7.0:


Daruma_Registry_DUAL_Enter (Índice 30)

Método: Daruma_Registry_DUAL_Enter [Índice 30]
Previous Top Next

· Definição do Método:
Permite Configurar se Cada vez que a Impressora, efetuar a Impressão de uma Linha ela irá Quebrar a Linha automaticamente.

· Parâmetro:
0 - Não Quebra Linha Automaticamente
1 - Quebra Linha Automaticamente

· Este Método retornará um dos Valores Inteiros listados Abaixo:

1: OK, Sucesso ao Configurar o Registry
-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Obervação:
Valor Defult da Chave = "1"

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_Registry_DUAL_Enter("1")

· Exemplo em Delphi 7.0:


Daruma_Registry_DUAL_Espera (Índice 32)

Método: Daruma_Registry_DUAL_Espera [Índice 32]
Previous Top Next

· Definição do Método:
Permite Sincronizar a dll com o Aplicativo:
Se voce deseja que a DLL segura o processo apenas quando terminar a última linha Impressa, coloque esta Chave a 1(um), caso contrario quando o Buffer do PC estiver Vazio e o ECF ainda estiver imprimindo o que estiver em seu Buffer a dll Irá retornar para o Aplicativo, porém o ECF ainda estará Imprimindo.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: Espera Impressao Terminar para receber o Valor de Retorno da Funcao de Impressao da DLL
0: Não espera

· Obervação:
Valor Defult da Chave = "0"

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_Registry_DUAL_Espera("1")

· Exemplo em Delphi 7.0:


Daruma_Registry_DUAL_ModoEscrita (Índice 33)

Método: Daruma_Registry_DUAL_ModoEscrita [Índice 33]
Previous Top Next

Definição do Método:
Permite Configurar qual o modo de escrita da dll na porta PARALELA. Este modo só é funcional do CASO de se utilizar a porta Paralela.

Com este Método você poderá configurar qual o Modo de escrita que será praticado.

1 - Escrita DIRETO na PORTA de Comunicação Utilizando-se do HWINTERFACE.SYS
0 - Escrita sem Utilizar-se do HWINTERFACE.SYS

Ao optar pelo Modo de Escrita 1(um) , em sistema operacionais como XP, NP e 2000 você terá acesso a funções como:

- VerificaDocumento.
- Status da Impressora.

Porém poderá realizar todas as operações de impressão sem problemas.

· Observação Importante!!!
SE VOCÊ CONFIGUROU ESTA CHAVE PARA 1(UM) DEVERÁ ENTÃO PROCEDER OS PASSOS DE INSTALAÇÃO DO ARQUIVO HWINTERFACE.SYS. PARA ISSO VEJA O LINK:
Trabalhando com a DUAL NA PARALELA (LPT1, LPT2)

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao Configurar o Registry
-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Obervação:
Valor Defult da Chave = "0"

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_Registry_DUAL_ModoEscrita("1")

· Exemplo em Delphi 7.0:


Daruma_Registry_DUAL_Porta (Índice 31)

Método: Daruma_Registry_DUAL_Porta [Índice 31]
Previous Top Next

· Definição do Método:
Configura a porta de Comunicação que a DUAL irá Utilizar para se Comunicar

· Parâmetro:
String com o Valor da Porta
"LPT1"
"LPT2"
"COM1"
"COM2"
"COM3"
"COM4"

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao Configurar o Registry
-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observeção:
Valor Defult da Chave = "LPT1"

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Porta As String

Str_Porta = InputBox("Entre com o Nome da Porta onde está a Impressora:", "Daruma Framework", "Lpt1")
If Str_Porta = "" Then
Exit Sub
End If

Int_Retorno = Daruma_Registry_DUAL_Porta(Str_Porta)

· Exemplo em Delphi 7.0:


Daruma_Registry_DUAL_Tabulacao (Índice 31)

Método: Daruma_Registry_DUAL_Tabulacao [Índice 31]
Previous Top Next

· Definição do Método:
Formata as tabulações que serão utilizadas na DUAL.

· Parâmetro:
String com as tabulações: 05,10,15,20,25,35

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao Configurar o Registry
-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Tabulacao As String

Str_Tabulacao = InputBox("Entre com o Desejada:", "Daruma Framework", "05,10,15,20,25,35")
If Str_Tabulacao = "" Then
Exit Sub
End If

Int_Retorno = Daruma_Registry_DUAL_Tabulacao(Str_Tabulacao)
If Int_Retorno = 1 Then
MsgBox "Programacao feita com Sucesso!", vbInformation, "Daruma Framework"
Else
MsgBox "Erro!", vbCritical, "Daruma Framework"
Exit Sub
End If

· Exemplo em Delphi 7.0:


Daruma_TA1000_CadastrarProdutos(Índice 5420)

Método: Daruma_TA1000_CadastrarProdutos [Índice 5420]
Previous Top Next

· Definição do Método:
Permite o cadastrar produtos no TA1000.

· Parâmetros do Método São 13(treze ao todo):
1. Descrição: String até 25 carácteres com a descrição do produto.
2. Código: String com até 13 carácteres com código numérico ou 7 alfa-numéricos do produto.
3. Casas Decimais do Preço: String com apenas o caráctere.
4. Casas Decimais da Quantidade: Strig com dois carácteres.
5. Preço do Produto: String com até 8 dígitos para o preço do ítem.
6. Acréscimo Desconto: String "A" para Acréscimo e "D" para Desconto.
7. Valor Desconto ou Acréscimo: String com 5 dígitos para desconto ou Acréscimo.
8. Unidade de Medida: String com 2 dígitos.
9. Alíquota: String com o índice da alíquota.
10. Próximo Produto: String com 5 dígitos.
11. Produto Anterior: String com 5 dígitos..
12. Estoque: String com 8 dígitos para o estoque.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
- Para que esse Metodo seja validado no TA1000, você precisa chamar o método Daruma_TA1000_EnviarBancoProdutos.
- O ideal é que o seu aplicativo gere todo o banco de ´produtos, para somente após você enviá-los para o TA1000. Enquanto isso os ítens permanecerão em memória.
- O valor do desconto nunca poderá ser igual ou maior do que o valor do ítem.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Descricao As String
Dim Str_Codigo As String
Dim Str_Decimais_Preco As String
Dim Str_Decimais_Quantidade As String
Dim Str_Preco As String
Dim Str_Acrescimo_Desconto As String
Dim Str_Valor_Acrescimo_Desconto As String
Dim Str_Unidade_Medida As String
Dim Str_Aliquota As String
Dim Str_Proximo_Produto As String
Dim Str_Produto_Anterior As String
Dim Str_Estoque As String

Str_Descricao = "Maca"
Str_Codigo = "0001"
Str_Decimais_Preco = "02"
Str_Decimais_Quantidade = "02"
Str_Preco = "1,00"
Str_Acrescimo_Desconto = "A"
Str_Valor_Acrescimo_Desconto = "0,10"
Str_Unidade_Medida = "UN"
Str_Aliquota = "TA"
Str_Proximo_Produto = "00000"
Str_Produto_Anterior = "00000"
Str_Estoque = "00010000"

Int_Retorno = Daruma_TA1000_CadastrarProdutos(Str_Descricao, Str_Codigo, Str_Decimais_Preco, _
Str_Decimais_Quantidade, Str_Preco, Str_Acrescimo_Desconto, Str_Valor_Acrescimo_Desconto, _
Str_Unidade_Medida, Str_Aliquota, Str_Proximo_Produto, Str_Produto_Anterior, Str_Estoque)

· Exemplo em Delphi 7.0:
var
Str_Descricao: String;
Str_Codigo: String;
Str_Decimais_Preco: String;
Str_Decimais_Quantidade: String;
Str_Preco: String;
Str_Acrescimo_Desconto: String;
Str_Valor_Acrescimo_Desconto: String;
Str_Unidade_Medida: String;
Str_Aliquota: String;
Str_Proximo_Produto: String;
Str_Produto_Anterior: String;
Str_Estoque: String;
begin
Str_Descricao:= 'Maca';
Str_Codigo:= '0001';
Str_Decimais_Preco:= '02';
Str_Decimais_Quantidade:= '02';
Str_Preco:= '1,00';
Str_Acrescimo_Desconto:= 'A';
Str_Valor_Acrescimo_Desconto:= '0,10';
Str_Unidade_Medida:= 'UN';
Str_Aliquota:= ''TA;
Str_Proximo_Produto:= '00000';
Str_Produto_Anterior:= '00000';
Str_Estoque:= '00010000';

Int_Retorno:= Daruma_TA1000_CadastrarProdutos(pchar(Str_Descricao), pchar(Str_Codigo), pchar(Str_Decimais_Preco), pchar(Str_Decimais_Quantidade), pchar(Str_Preco), pchar(Str_Acrescimo_Desconto), pchar(Str_Valor_Acrescimo_Desconto), pchar(Str_Unidade_Medida), pchar(Str_Aliquota), pchar(Str_Proximo_Produto), pchar(Str_Produto_Anterior), pchar(Str_Estoque));

end;


Daruma_TA1000_ConsultarProdutos(Índice 5440)

Método: Daruma_TA1000_ConsultarProdutos [Índice 5440]
Previous Top Next

· Definição do Método:
Permite o consultar produtos no TA1000.

· Parâmetros do Método:
1. Código: String com até 13 carácteres com código numérico ou 7 alfa-numéricos do produto.
2. Descrição: String com até 25 espaços para receber a descrição.
3. Decimais Preço:String com até 8 espaços para receber do ítem.
4. Decimais Quantidade: String com até 25 espaços para receber a descrição.
5. Preço: String com até 25 espaços para receber a descrição.
6. Acréscimo Desconto: String com até 2 espaços para receber o byte indicador para acréscimo ou desconto.
7. Valor Acréscimo Desconto: String com 5 espaços para receber o valor do acréscimo ou desconto.
8. Unidade de Medida: String com 2 espaços para receber a unidade de medida.
9. Alíquota: String com 3 para receber a alíquota.
10. Próximo Produto: String com 5 espaços para receber o próximo produto.
11. Produto Anterior: String com 5 espaços para receber o código do produto anterior.
12. Estoque: String com 8 espaços para receber a quantidade de produtos em estoque.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observação do Método:
- Basta você passar o código do produto a ser consultado e no mais alocar espaços para receber os dados do produto.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Codigo As String
Dim Str_Descricao As String
Dim Str_Decimais_Preco As String
Dim Str_Decimais_Quantidade As String
Dim Str_Preco As String
Dim Str_Acrescimo_Desconto As String
Dim Str_Valor_Acrescimo_Desconto As String
Dim Str_Unidade_Medida As String
Dim Str_Aliquota As String
Dim Str_Proximo_Produto As String
Dim Str_Produto_Anterior As String
Dim Str_Estoque As String

Str_Codigo = "0001"
Str_Descricao = Space(25)
Str_Decimais_Preco = Space(1)
Str_Decimais_Quantidade = Space(2)
Str_Preco = Space(8)
Str_Acrescimo_Desconto = Space(2)
Str_Valor_Acrescimo_Desconto = Space(5)
Str_Unidade_Medida = Space(2)
Str_Aliquota = Space(3)
Str_Proximo_Produto = Space(5)
Str_Produto_Anterior = Space(5)
Str_Estoque = Space(8)

Int_Retorno = Daruma_TA1000_ConsultarProdutos(Str_Codigo, Str_Descricao, Str_Decimais_Preco, _
Str_Decimais_Quantidade, Str_Preco, Str_Acrescimo_Desconto, _
Str_Valor_Acrescimo_Desconto, Str_Unidade_Medida, Str_Aliquota, _
Str_Proximo_Produto, Str_Produto_Anterior, Str_Estoque)

· Exemplo em Delphi 7.0:
var
Str_Descricao: String;
Str_Codigo: String;
Str_Decimais_Preco: String;
Str_Decimais_Quantidade: String;
Str_Preco: String;
Str_Acrescimo_Desconto: String;
Str_Valor_Acrescimo_Desconto: String;
Str_Unidade_Medida: String;
Str_Aliquota: String;
Str_Proximo_Produto: String;
Str_Produto_Anterior: String;
Str_Estoque: String;
begin

Str_Codigo:= Trim(TX_Codigo.Text);
SetLength (Str_Descricao,25);
SetLength (Str_Decimais_Preco,1);
SetLength (Str_Decimais_Quantidade,2);
SetLength (Str_Preco,8);
SetLength (Str_Acrescimo_Desconto,2);
SetLength (Str_Valor_Acrescimo_Desconto,5);
SetLength (Str_Unidade_Medida,2);
SetLength (Str_Aliquota,3);
SetLength (Str_Proximo_Produto,5);
SetLength (Str_Produto_Anterior,5);
SetLength (Str_Estoque,10);

Int_Retorno:= Daruma_TA1000_ConsultarProdutos(pchar(Str_Codigo), Str_Descricao, Str_Decimais_Preco, Str_Decimais_Quantidade, Str_Preco, Str_Acrescimo_Desconto, Str_Valor_Acrescimo_Desconto, Str_Unidade_Medida, Str_Aliquota, Str_Proximo_Produto, Str_Produto_Anterior, Str_Estoque);

TX_Descricao.Text:= pchar(Str_Descricao);
TX_Decimais_Preco.Text:= pchar(Str_Decimais_Preco);
TX_Decimais_Quantidade.Text:= pchar(Str_Decimais_Quantidade);
TX_Preco.Text:= pchar(Str_Preco);
TX_Acrescimo_Desconto.Text:= pchar(Str_Acrescimo_Desconto);
TX_Valor_Acrescimo_Desconto.Text:= pchar(Str_Valor_Acrescimo_Desconto);
TX_Unidade_Medida.Text:= pchar(Str_Unidade_Medida);
TX_Aliquota.Text:= pchar(Str_Aliquota);
TX_Proximo_Produto.Text:= pchar(Str_Proximo_Produto);
TX_Produto_Anterior.Text:= pchar(Str_Produto_Anterior);
TX_Estoque.Text:= pchar(Str_Estoque);

end;


Daruma_TA1000_AlterarProdutos(Índice 5410)

Método: Daruma_TA1000_AlterarProdutos [Índice 5410]
Previous Top Next

· Definição do Método:
Permite alterar um determinado produto no TA1000.

· Parâmetros do Método:
1. Código: String com até 13 carácteres com código numérico ou 7 alfa-numéricos do produto.
2. Descrição: String até 25 carácteres com a descrição do produto.
3. Código: String com até 13 carácteres contendo o código do produto.
4. Casas Decimais do Preço: Strig com apenas o caráctere.
5. Casas Decimais da Quantidade: Strig com dois carácteres.
6. Preço do Produto: String com até 8 dígitos para o preço do ítem.
7. Acréscimo Desconto: String "A" para Acréscimo e "D" para Desconto.
8. Valor Acréscimo Desconto: String com 5 dígitos para Acréscimo ou Acréscimo.
9. Unidade de Medida: String com 2 dígitos.
10. Alíquota: String com o índice da alíquota.
11. Próximo Produto: String com 5 dígitos.
12. Produto Anterior: String com 5 dígitos..
13. Estoque: String com 8 dígitos para o estoque.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
Para que esse Metodo seja validado no TA1000, voce precisa chamar o metodo Daruma_TA1000_EnviarBancoProdutos.
Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Codigo_Consultar As String
Dim Str_Descricao As String
Dim Str_Codigo As String
Dim Str_Decimais_Preco As String
Dim Str_Decimais_Quantidade As String
Dim Str_Preco As String
Dim Str_Acrescimo_Desconto As String
Dim Str_Valor_Acrescimo_Desconto As String
Dim Str_Unidade_Medida As String
Dim Str_Aliquota As String
Dim Str_Proximo_Produto As String
Dim Str_Produto_Anterior As String
Dim Str_Estoque As String

Str_Codigo_Consultar = "0001"
Str_Descricao = "Maca"
Str_Codigo = "0001"
Str_Decimais_Preco ="2"
Str_Decimais_Quantidade = "2"
Str_Preco = "1,00"
Str_Acrescimo_Desconto = "A"
Str_Valor_Acrescimo_Desconto = "0,10"
Str_Unidade_Medida = "UN"
Str_Aliquota = "TA"
Str_Proximo_Produto = "00000"
Str_Produto_Anterior = "00000"
Str_Estoque = "00000100"

Int_Retorno = Daruma_TA1000_AlterarProdutos(Str_Codigo_Consultar, Str_Descricao, Str_Codigo, Str_Decimais_Preco, _
Str_Decimais_Quantidade, Str_Preco, Str_Acrescimo_Desconto, Str_Valor_Acrescimo_Desconto, _
Str_Unidade_Medida, Str_Aliquota, Str_Proximo_Produto, Str_Produto_Anterior, Str_Estoque)

· Exemplo em Delphi 7.0:
var
Str_Codigo_Consultar: String;
Str_Descricao: String;
Str_Codigo: String;
Str_Decimais_Preco: String;
Str_Decimais_Quantidade: String;
Str_Preco: String;
Str_Acrescimo_Desconto: String;
Str_Valor_Acrescimo_Desconto: String;
Str_Unidade_Medida: String;
Str_Aliquota: String;
Str_Proximo_Produto: String;
Str_Produto_Anterior: String;
Str_Estoque: String;
begin
Framework_TA1000_AterarProdutos.Refresh;

Str_Codigo_Consultar:= TX_Codigo_Consultar.Text;
Str_Descricao:= TX_Descricao.Text;
Str_Codigo:= TX_Codigo.Text;
Str_Decimais_Preco:= TX_Decimais_Preco.Text;
Str_Decimais_Quantidade:= TX_Decimais_Quantidade.Text;
Str_Preco:= TX_Preco.Text;
Str_Acrescimo_Desconto:= TX_Acrescimo_Desconto.Text;
Str_Valor_Acrescimo_Desconto:= TX_Valor_Acrescimo_Desconto.Text;
Str_Unidade_Medida:= TX_Unidade_Medida.Text;
Str_Aliquota:= TX_Aliquota.Text;
Str_Proximo_Produto:= TX_Proximo_Produto.Text;
Str_Produto_Anterior:= TX_Produto_Anterior.Text;
Str_Estoque:= TX_Estoque.Text;

Int_Retorno:= Daruma_TA1000_AlterarProdutos(pchar(Str_Codigo_Consultar), pchar(Str_Descricao), pchar(Str_Codigo), pchar(Str_Decimais_Preco), pchar(Str_Decimais_Quantidade), pchar(Str_Preco), pchar(Str_Acrescimo_Desconto), pchar(Str_Valor_Acrescimo_Desconto), pchar(Str_Unidade_Medida), pchar(Str_Aliquota), pchar(Str_Proximo_Produto), pchar(Str_Produto_Anterior), pchar(Str_Estoque));

end;


Daruma_TA1000_EliminarProdutos(Índice 5430)

Método: Daruma_TA1000_EliminarProdutos [Índice 5410]
Previous Top Next

· Definição do Método:
Permite eliminar um determinado produto no TA1000.

· Parâmetros do Método:
1. Código: String com até 13 carácteres com código numérico ou 7 alfa-numéricos do produto.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
Para que esse Metodo seja validado no TA1000, voce precisa chamar o metodo Daruma_TA1000_EnviarBancoProdutos.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Codigo As String
Str_Codigo = InputBox("Entre com o Codigo do Produto que voce deseja Eliminar:", "Daruma Framework", "0001")
Int_Retorno = Daruma_TA1000_EliminarProdutos(Str_Codigo)

· Exemplo em Delphi 7.0:
var
Str_Codigo: String;
begin

Str_Codigo:= InputBox('Daruma Framework' , 'Entre com o Código do Produto que Você Deseja Eliminar:','0001');
If Str_Codigo = '' then
begin
exit;
end;
int_Retorno:= Daruma_TA1000_EliminarProdutos(pchar(Str_Codigo));

end;


Daruma_TA1000_EnviarBancoProdutos(Índice 5350)

Método: Daruma_TA1000_EnviarBancoProdutos [Índice 5350]
Previous Top Next

· Definição do Método:
Permite enviar os produtos para o TA1000.

· Parâmetros do Método:
Não Há.
· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Int_Status As Integer

Int_Retorno = Daruma_TA1000_EnviarBancoProdutos()
Daruma_Framework_TA1000_Progress.Show

Int_Status = 0
Do While (Int_Status <> 100)
Int_Status = Daruma_TA1000_LeStatusTransferencia()
Daruma_Framework_TA1000_Progress.PB_TA1000.Value = Int_Status
Loop
Retorno_TA1000
Unload Daruma_Framework_TA1000_Progress

· Exemplo em Delphi 7.0:
var
Int_Status: Integer;
begin
Int_Retorno:= Daruma_TA1000_EnviarBancoProdutos();
Framework_TA1000_Progress.Show;
Int_Status:= 0;
While (Int_Status <> 100) do
begin
Int_Status:= Daruma_TA1000_LeStatusTransferencia();
Framework_TA1000_Progress.PB_TA1000.Position:= Int_Status;
end;
Retorno_TA1000;
Framework_TA1000_Progress.Close;
end;


Daruma_TA1000_ReceberBancoProdutos(Índice 5360)

Método: Daruma_TA1000_ReceberBancoProdutos [Índice 5360]
Previous Top Next

· Definição do Método:
Permite receber os produtos cadastrados no TA1000.

· Parâmetros do Método:
Não Há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
Este metodo retornara os produtos em um arquivo TXTcomo nome de Produtos.plu, em um path indicado no registry.
O Path default e C:\

· O formato do arquivo de retorno pode ser visto abaixo:
Header v1.46 PRODUTOS ;00001;00001;00001;bjcpcxfcgfjgkgltmcmtpcptscttunvd
Produto Numero1 ;1 ;2;2;00000100;-00000;un;TA;000;00002;00100;00000001
Produto Numero2 ;2 ;2;2;00000200;-00000;un;TA;000;00003;00001;00000002
Produto Numero3 ;3 ;2;2;00000300;-00000;un;TA;000;00004;00002;00000003
Produto Numero4 ;4 ;2;2;00000400;-00000;un;TA;000;00005;00003;00000004
Produto Numero5 ;5 ;2;2;00000500;-00000;un;TA;000;00006;00004;00000005
Produto Numero6 ;6 ;2;2;00000600;-00000;un;TA;000;00007;00005;00000006
Produto Numero7 ;7 ;2;2;00000700;-00000;un;TA;000;00008;00006;00000007
Produto Numero8 ;8 ;2;2;00000800;-00000;un;TA;000;00009;00007;00000008
Produto Numero9 ;9 ;2;2;00000900;-00000;un;TA;000;00010;00008;00000009
Produto Numero10 ;10 ;2;2;00001000;-00000;un;TA;000;00011;00009;00000010

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Int_Status As Integer

Int_Retorno = Daruma_TA1000_ReceberBancoProdutos()
Daruma_Framework_TA1000_Progress.Show

Int_Status = 0
Do While (Int_Status <> 100)
Int_Status = Daruma_TA1000_LeStatusTransferencia()
Daruma_Framework_TA1000_Progress.PB_TA1000.Value = Int_Status
Loop
Retorno_TA1000
Unload Daruma_Framework_TA1000_Progress

· Exemplo em Delphi 7.0:
var
Int_Status: Integer;
begin
Int_Retorno:= Daruma_TA1000_ReceberBancoProdutos();
Framework_TA1000_Progress.Show;
Int_Status:= 0;
While (Int_Status <> 100) Do
begin
Int_Status:= Daruma_TA1000_LeStatusTransferencia();
Framework_TA1000_Progress.PB_TA1000.Position:= Int_Status;
end;

Framework_TA1000_Progress.Close;


Daruma_TA1000_ReceberProdutosVendidos(Índice 5363)

Método: Daruma_TA1000_ReceberProdutosVendidos [Índice 5363]
Previous Top Next

· Definição do Método:
Permite receber os produtos vendidos no TA1000.

· Parâmetros do Método:
Não Há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
1. Este metodo retornara os produtos em um arquivo TXTcom nome de ProdutosVendidos.plu, em um path indicado no registry.
2. O Path default e C:\

· O formato do arquivo de retorno pode ser visto abaixo:
Header PRODUTOS VENDIDOS ;00001;00001;00001;
A1200b1800c1200d1500E////F////G////H////I////J////K////L////M////N////O////P////
Produto Numero1 ;1 ;2;2;00000100;-00000;un;TA;000;00002;00010;00009900;0000001000;0000001000;0000001000;
Produto Numero2 ;2 ;2;2;00000200;-00000;un;TA;000;00003;00001;00009900;0000001000;0000001000;0000001000;
Produto Numero3 ;3 ;2;2;00000300;-00000;un;TA;000;00004;00002;00009800;0000002000;0000002000;0000002000;
Produto Numero4 ;4 ;2;2;00000400;-00000;un;TA;000;00005;00003;00009900;0000001000;0000001000;0000001000;
Produto Numero5 ;5 ;2;2;00000500;-00000;un;TA;000;00006;00004;00009900;0000001000;0000001000;0000001000;
Produto Numero6 ;6 ;2;2;00000600;-00000;un;TA;000;00007;00005;00009900;0000001000;0000001000;0000001000;
Produto Numero7 ;7 ;2;2;00000700;-00000;un;TA;000;00008;00006;00009900;0000001000;0000001000;0000001000;
Produto Numero8 ;8 ;2;2;00000800;-00000;un;TA;000;00009;00007;00009900;0000001000;0000001000;0000001000;
Produto Numero9 ;9 ;2;2;00000900;-00000;un;TA;000;00010;00008;00009900;0000001000;0000001000;0000001000;
Produto Numero10 ;10 ;2;2;00001000;-00000;un;TA;000;00001;00009;00009900;0000001000;0000001000;0000001000;

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Int_Status As Integer

Int_Retorno = Daruma_TA1000_ReceberProdutosVendidos()
Daruma_Framework_TA1000_Progress.Show

Int_Status = 0
Do While (Int_Status <> 100)
Int_Status = Daruma_TA1000_LeStatusTransferencia()
Daruma_Framework_TA1000_Progress.PB_TA1000.Value = Int_Status
Loop
Retorno_TA1000
Unload Daruma_Framework_TA1000_Progress
End Sub
· Exemplo em Delphi 7.0:
var
Int_Status: Integer;
begin
Int_Retorno:= Daruma_TA1000_ReceberBancoProdutos();
Framework_TA1000_Progress.Show;
Int_Status:= 0;
While (Int_Status <> 100) Do
begin
Int_Status:= Daruma_TA1000_LeStatusTransferencia();
Framework_TA1000_Progress.PB_TA1000.Position:= Int_Status;
end;
Retorno_TA1000;
Framework_TA1000_Progress.Close;


Daruma_TA1000_ZerarProdutos(Índice 5450)

Método: Daruma_TA1000_ZerarProdutos [Índice 5450]
Previous Top Next

· Definição do Método:
Permite zerar os produtos no TA1000.

· Parâmetros do Método:
Não Há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
Para que esse Metodo seja validado no TA1000, voce precisa chamar o metodo Daruma_TA1000_EnviarBancoProdutos.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_TA1000_ZerarProdutos()

· Exemplo em Delphi 7.0:
begin
Int_Retorno:= Daruma_TA1000_ZerarProdutos();

end;


Daruma_TA1000_ZerarProdutosVendidos(Índice 5456)

Método: Daruma_TA1000_ZerarProdutosVendidos [Índice 5456]
Previous Top Next

· Definição do Método:
Permite zerar os produtos vendidos no TA1000.

· Parâmetros do Método:
Não Há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
Para que esse Metodo seja validado no TA1000, voce precisa chamar o metodo Daruma_TA1000_EnviarBancoProdutos.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_TA1000_ZerarProdutosVendidos()

· Exemplo em Delphi 7.0:
begin
Int_Retorno:= Daruma_TA1000_ZerarProdutosVendidos();

end;


Daruma_TA1000_CadastrarUsuarios(Índice 5422)

Método: Daruma_TA1000_CadastrarUsuarios [Índice 5422]
Previous Top Next

· Definição do Método:
Permite o cadastrar usuáros no TA1000.

· Parâmetros do Método São 13(treze ao todo):
1. Nome: String até 26 carácteres com o nome do usuário.
2. CPF: String com até 13 carácteres contendo o CPF do usuário.
3. Código do Convênio: String com até 6 dígitos contendo o código do convênio.
4. Código do Usuário: String com até 6 dígitos contendo o código do usuário.
5. Próximo Usuário: String com 6 dígitos.
6. Usuário Anterior: String com 6 dígitos.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
Para que esse Metodo seja validado no TA1000, voce precisa chamar o metodo Daruma_TA1000_EnviarBancoUsuarios.
Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Nome As String
Dim Str_CPF As String
Dim Str_Codigo_Convenio As String
Dim Str_Codigo_Usuario As String
Dim Str_Usuario_Anterior As String
Dim Str_Proximo_Usuario As String

Str_Nome = "Usuario1"
Str_CPF = "7876609958700"
Str_Codigo_Convenio = "000000"
Str_Codigo_Usuario = "000000"
Str_Usuario_Anterior = "000000"
Str_Proximo_Usuario = "000000"

Int_Retorno = Daruma_TA1000_CadastrarUsuarios(Str_Nome, Str_CPF, Str_Codigo_Convenio, _
Str_Codigo_Usuario, Str_Usuario_Anterior, Str_Proximo_Usuario)

· Exemplo em Delphi 7.0:
var
Str_Nome: String;
Str_CPF: String;
Str_Codigo_Convenio: String;
Str_Codigo_Usuario: String;
Str_Usuario_Anterior: String;
Str_Proximo_Usuario: String;
begin
Str_Nome:= TX_Nome.'Usuario1';
Str_CPF:= '7876609958700';
Str_Codigo_Convenio:= '000000';
Str_Codigo_Usuario:= '000000';
Str_Usuario_Anterior:= '000000';
Str_Proximo_Usuario:= '000000';
Int_Retorno:= Daruma_TA1000_CadastrarUsuarios(pchar(Str_Nome), pchar(Str_CPF), pchar(Str_Codigo_Convenio), pchar(Str_Codigo_Usuario), pchar(Str_Usuario_Anterior), pchar(Str_Proximo_Usuario));
Framework_TA1000.Retorno_TA1000();


Daruma_TA1000_ConsultarUsuarios(Índice 5443)

Método: Daruma_TA1000_ConsultarUsuarios [Índice 5443]
Previous Top Next

· Definição do Método:
Permite o consultar usuarios no TA1000.

· Parâmetros do Método:
1. Código: String com até 6 carácteres contendo o código do usuário.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observação do Método:
Basta você passar o código do usuário a ser consultado e no mais alocar espaços para receber os dados do usuário.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Codigo_Consultar As String
Dim Str_Nome As String
Dim Str_CPF As String
Dim Str_Codigo_Convenio As String
Dim Str_Codigo_Usuario As String
Dim Str_Usuario_Anterior As String
Dim Str_Proximo_Usuario As String

Str_Codigo_Consultar = TX_Codigo_Consultar.Text
Str_Nome = Space(26)
Str_CPF = Space(13)
Str_Codigo_Convenio = Space(6)
Str_Codigo_Usuario = Space(6)
Str_Usuario_Anterior = Space(6)
Str_Proximo_Usuario = Space(6)

Int_Retorno = Daruma_TA1000_ConsultarUsuarios(Str_Codigo_Consultar, Str_Nome, Str_CPF, Str_Codigo_Convenio, _
Str_Codigo_Usuario, Str_Usuario_Anterior, Str_Proximo_Usuario)

· Exemplo em Delphi 7.0:
var
Str_Codigo_Consultar: String;
Str_Nome: String;
Str_CPF: String;
Str_Codigo_Convenio: String;
Str_Codigo_Usuario: String;
Str_Usuario_anterior: String;
Str_Proximo_Usuario: String;
begin
Str_Codigo_consultar:= Trim(TX_Codigo_Consultar.Text);
SetLength (Str_Nome,25);
SetLength (Str_CPF,11);
SetLength (Str_Codigo_Convenio,4);
SetLength (Str_Codigo_Usuario,5);
SetLength (Str_Usuario_Anterior,5);
SetLength (Str_Proximo_Usuario,5);

Int_Retorno:= Daruma_TA1000_ConsultarUsuarios(pchar(Str_Codigo_Consultar), Str_Nome, Str_CPF, Str_Codigo_Convenio, Str_Codigo_Usuario, Str_Usuario_Anterior, Str_Proximo_Usuario);

TX_Nome.Text:= Str_Nome;
TX_CPF.Text:= Str_CPF;
TX_Codigo_Convenio.Text:= Str_Codigo_Convenio;
TX_Codigo_Usuario.Text:= Str_Codigo_Usuario;
TX_Usuario_Anterior.Text:= Str_Usuario_Anterior;
TX_Proximo_Usuario.Text:= Str_Proximo_Usuario;


Daruma_TA1000_AlterarUsuarios(Índice 5412)

Método: Daruma_TA1000_AlterarUsuarios [Índice 5412]
Previous Top Next

· Definição do Método:
Permite alterar um determinado produto no TA1000.

· Parâmetros do Método:
1. Código do usuário alterado: String com até 6 carácteres contendo o código do usuário a ser alterado.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
Para que esse Metodo seja validado no TA1000, voce precisa chamar o metodo Daruma_TA1000_EnviarBancoUsuarios.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Codigo_Consultar As String
Dim Str_Nome As String
Dim Str_CPF As String
Dim Str_Codigo_Convenio As String
Dim Str_Codigo_Usuario As String
Dim Str_Usuario_Anterior As String
Dim Str_Proximo_Usuario As String

Str_Codigo_Consultar = TX_Codigo_Consultar.Text
Str_Nome = TX_Nome.Text
Str_CPF = TX_CPF.Text
Str_Codigo_Convenio = TX_Codigo_Convenio.Text
Str_Codigo_Usuario = TX_Codigo_Usuario.Text
Str_Usuario_Anterior = TX_Usuario_Anterior.Text
Str_Proximo_Usuario = TX_Proximo_Usuario.Text

Int_Retorno = Daruma_TA1000_AlterarUsuarios(Str_Codigo_Consultar, Str_Nome, Str_CPF, Str_Codigo_Convenio, _
Str_Codigo_Usuario, Str_Usuario_Anterior, Str_Proximo_Usuario)

· Exemplo em Delphi 7.0:
var
Str_Codigo_Consultar: String;
Str_Nome: String;
Str_CPF: String;
Str_Codigo_Convenio: String;
Str_Codigo_Usuario: String;
Str_Usuario_anterior: String;
Str_Proximo_Usuario: String;
begin
Framework_TA1000_AlterarUsuarios.Refresh;
Str_Codigo_Consultar:= TX_Codigo_Consultar.Text;
Str_Nome:= TX_Nome.Text;
Str_CPF:= TX_CPF.Text;
Str_Codigo_Convenio:= TX_Codigo_Convenio.Text;
Str_Codigo_Usuario:= TX_Codigo_Usuario.Text;
Str_Usuario_Anterior:= TX_Usuario_Anterior.Text;
Str_Proximo_Usuario:= TX_Proximo_Usuario.Text;

Int_Retorno:= Daruma_TA1000_AlterarUsuarios(pchar(Str_Codigo_Consultar), pchar(Str_Nome), pchar(Str_CPF), pchar(Str_Codigo_Convenio), pchar(Str_Codigo_Usuario), pchar(Str_Usuario_Anterior), pchar(Str_Proximo_Usuario));
Framework_TA1000.Retorno_TA1000();

end;


Daruma_TA1000_EliminarUsuarios(Índice 5432)

Método: Daruma_TA1000_EliminarUsuarios [Índice 5432]
Previous Top Next

· Definição do Método:
Permite eliminar um determinado produto no TA1000.

· Parâmetros do Método:
1. Código: String com até 13 carácteres contendo o código do produto a ser eliminado.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
Para que esse Metodo seja validado no TA1000, voce precisa chamar o metodo Daruma_TA1000_EnviarBancoUsuarios.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Codigo As String
Str_Codigo = InputBox("Entre com o Codigo do Produto que voce deseja Eliminar:", "Daruma Framework", "0001")
Int_Retorno = Daruma_TA1000_EliminarProdutos(Str_Codigo)

· Exemplo em Delphi 7.0:
var
Str_Codigo: String;
begin

Str_Codigo:= InputBox('Daruma Framework' , 'Entre com o Código do Produto que Você Deseja Eliminar:','0001');
If Str_Codigo = '' then
begin
exit;
end;
int_Retorno:= Daruma_TA1000_EliminarProdutos(pchar(Str_Codigo));

end;


Daruma_TA1000_EnviarBancoUsuarios(Índice 5351)

Método: Daruma_TA1000_EviarBancoUsuarios [Índice 5351]
Previous Top Next

· Definição do Método:
Permite enviar os produtos para o TA1000.

· Parâmetros do Método:
Não Há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Int_Status As Integer

Int_Retorno = Daruma_TA1000_EnviarBancoUsuarios()
Daruma_Framework_TA1000_Progress.Show

Int_Status = 0
Do While (Int_Status <> 100)
Int_Status = Daruma_TA1000_LeStatusTransferencia()
Daruma_Framework_TA1000_Progress.PB_TA1000.Value = Int_Status
Loop
Retorno_TA1000
Unload Daruma_Framework_TA1000_Progress

· Exemplo em Delphi 7.0:
var
Int_Status: Integer;
begin
Int_Retorno:= Daruma_TA1000_EnviarBancoUsuarios();
Framework_TA1000_Progress.Show;
Int_Status:= 0;
while (Int_Status <> 100) Do
begin
Int_Status:= Daruma_TA1000_LeStatusTransferencia();
Framework_TA1000_Progress.PB_TA1000.Position:= Int_Status;
end;
Framework_TA1000.Retorno_TA1000();
Framework_TA1000_Progress.Close;


Daruma_TA1000_ReceberBancoUsuarios(Índice 5361)

Método: Daruma_TA1000_ReceberBancoUsuarios [Índice 5361]
Previous Top Next

· Definição do Método:
Permite receber os produtos vendidos.

· Parâmetros do Método:
Não Há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
Este metodo retornara os produtos em um arquivo TXTcomo nome de Usuarios.plu, que sera em um path indicado no registry.

· O formato do arquivo de retorno pode ser visto abaixo:
Header v1.40 USUARIOS ;00001;00001;00001;bjcpcxfcgfjgkglt
Usuario Numero1 ;877E774E145; 0001
Usuario Numero2 ;877.774.145;2 ;2 ;00001;00003
Usuario Numero3 ;877.774.145;3 ;3 ;00002;00004
Usuario Numero4 ;877.774.145;4 ;4 ;00003;00005
Usuario Numero5 ;877.774.145;5 ;5 ;00004;00006
Usuario Numero6 ;877.774.145;6 ;6 ;00005;00007
Usuario Numero7 ;877.774.145;7 ;7 ;00006;00008
Usuario Numero8 ;877.774.145;8 ;8 ;00007;00009
Usuario Numero9 ;877.774.145;9 ;9 ;00008;00010
Usuario Numero10 ;877.774.145;10 ;10 ;00009;00011

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Int_Status As Integer

Int_Retorno = Daruma_TA1000_ReceberBancoUsuarios()
Daruma_Framework_TA1000_Progress.Show

Int_Status = 0
Do While (Int_Status <> 100)
Int_Status = Daruma_TA1000_LeStatusTransferencia()
Daruma_Framework_TA1000_Progress.PB_TA1000.Value = Int_Status
Loop
Retorno_TA1000
Unload Daruma_Framework_TA1000_Progress

· Exemplo em Delphi 7.0:
var
Int_Status: Integer;
begin
Int_Retorno:= Daruma_TA1000_ReceberBancoUsuarios();
Framework_TA1000_Progress.show;
Int_Status:=0;
While (Int_Status <> 100) do
begin
Int_status:= Daruma_TA1000_LeStatusTransferencia();
Framework_TA1000_Progress.PB_TA1000.Position:= Int_Status;
end;
Framework_TA1000.Retorno_TA1000();
Framework_TA1000_Progress.Close;


Daruma_TA1000_ZerarUsuarios(Índice 5452)

Método: Daruma_TA1000_ZerarUsuarios [Índice 5452]
Previous Top Next

· Definição do Método:
Permite zerar os produtos no TA1000.

· Parâmetros do Método:
Não Há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:
Para que esse Metodo seja validado no TA1000, voce precisa chamar o metodo Daruma_TA1000_EnviarBancoUsuarios.

Exemplos:

· Exemplo em Visual Basic 6.0:
Int_Retorno = Daruma_TA1000_ZerarProdutos()

· Exemplo em Delphi 7.0:
begin
Int_Retorno:= Daruma_TA1000_ZerarProdutos();

end;


Daruma TA1000 Gerar Banco com Produtos

Daruma TA1000 Gerar Banco com Produtos

· Definição do Método:
Algoritimo para gerar-se um banco contendo Produtos

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Int_Contador As Integer
Dim Str_Codigo As String
Dim Str_Descricao As String
Dim Str_Valor As String
Dim Str_Estoque As String
Dim Str_Proximo_Produto As String
Dim Str_Produto_Anterior As String
Dim Int_Quantidade_Produtos As Integer

Int_Quantidade_Produtos = CInt("100")
Int_Contador = 1

Int_Retorno = Daruma_TA1000_ZerarProdutos()
Do While (Int_Contador <= Int_Quantidade_Produtos)

Str_Codigo = CStr(Int_Contador)
Str_Descricao = "Produto Numero" + CStr(Int_Contador)
Str_Valor = String(6 - Len(CStr(Int_Contador)), "0")
Str_Valor = Str_Valor + CStr(Int_Contador) + "00"
Str_Estoque = "00010000"

If Int_Contador = 1 Then
Str_Produto_Anterior = String(5 - Len(CStr(Int_Quantidade_Produtos)), "0")
Str_Produto_Anterior = Str_Produto_Anterior + CStr(Int_Quantidade_Produtos)
Else
Str_Produto_Anterior = String(5 - Len(CStr(Int_Contador)), "0")
Str_Produto_Anterior = Str_Produto_Anterior + CStr(Int_Contador - 1)
End If

If Int_Contador = Int_Quantidade_Produtos Then
Str_Proximo_Produto = "00001"
Else
Str_Proximo_Produto = String(5 - Len(CStr(Int_Contador + 1)), "0")
Str_Proximo_Produto = Str_Proximo_Produto + CStr(Int_Contador + 1)
End If

Int_Retorno = Daruma_TA1000_CadastrarProdutos(Str_Descricao, Str_Codigo, "2", "2", Str_Valor, "D", "0,00", "UN", _
"TA", Str_Proximo_Produto, Str_Produto_Anterior, Str_Estoque)

Int_Contador = Int_Contador + 1
Loop

· Exemplo em Delphi 7.0:

var
Int_Contador: Integer;
Str_Codigo: String;
Str_Descricao: String;
Str_Valor: String;
Str_Estoque: String;
Str_Proximo_Produto: String;
Str_Produto_Anterior: String;
Int_Quantidade_Produtos: Integer;
Int_Casas: Integer;
begin
Int_Quantidade_Produtos:= StrToInt(TX_Quantidade_Produtos.Text);
Int_Contador:= 1;
Int_Retorno:= Daruma_TA1000_ZerarProdutos();
While (Int_Contador <= Int_Quantidade_Produtos) DO
begin

If Int_Contador < 10 then
begin
Str_Codigo:= StringOfChar('0',4 - 1 );
end
Else
If Int_Contador < 100 then
begin
Str_Codigo:= StringOfChar('0',4 - 2 );
end
Else
If Int_Contador < 1000 then
begin
Str_Codigo:= StringOfChar('0',4 - 3 );
end
else
If Int_Contador >= 1000 then
Str_Codigo:= '';

Str_Codigo:= Str_Codigo + IntToStr(Int_Contador);
Str_Descricao:= ('Produto Numero' + IntToStr(Int_Contador));
Str_Valor:= StringOfChar('0',6 - Int_Contador);
Str_Valor:= (Str_Valor + IntToStr(Int_Contador) + '00');
Str_Estoque:= ('00010000');

If Int_Contador = 1 Then
begin
Str_Produto_Anterior:= StringOfChar('0',5 - Int_Quantidade_Produtos);
Str_Produto_Anterior:= Str_Produto_Anterior + IntToStr(Int_Quantidade_Produtos);
end
Else
begin
Str_Produto_Anterior:= StringOfChar('0',5 - Int_Contador);
Str_Produto_Anterior:= Str_Produto_Anterior + IntToStr(Int_Contador - 1);
End;
If Int_Contador = Int_Quantidade_Produtos Then
begin
Str_Proximo_Produto:= '00001';
end
Else
begin
Str_Proximo_Produto:= StringOfChar('0',5 - Int_Contador + 1);
Str_Proximo_Produto:= Str_Proximo_Produto + IntToStr(Int_Contador + 1);
End;
Int_Retorno:= Daruma_TA1000_CadastrarProdutos(pchar(Str_Descricao), pchar(Str_Codigo), '2', '2', pchar(Str_Valor), 'D', pchar('0,00'), pchar('UN'), pchar('TA'), pchar(Str_Proximo_Produto), pchar(Str_Produto_Anterior), pchar(Str_Estoque));
Int_Contador:= Int_Contador + 1;
end;


Daruma TA1000 Gerar Banco com Usuarios

Daruma TA1000 Gerar Banco com Usuarios

· Definição do Método:
Algoritimo para gerar-se um banco contendo Usuarios

· Este Método retornará um dos Valores Inteiros listados Abaixo:
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Int_Contador As Integer
Dim Str_Codigo_Convenio As String
Dim Str_Codigo_Usuario As String
Dim Str_Nome As String
Dim Str_Valor As String
Dim Str_Estoque As String
Dim Str_Proximo_Usuario As String
Dim Str_Usuario_Anterior As String
Dim Int_Quantidade_Usuarios As Integer

Int_Quantidade_Usuarios = CInt("100")
Int_Contador = 1

Int_Retorno = Daruma_TA1000_ZerarUsuarios()
Do While (Int_Contador <= Int_Quantidade_Usuarios)

Str_Codigo_Usuario = CStr(Int_Contador)
Str_Nome = "Usuario Numero" + CStr(Int_Contador)
Str_Codigo_Convenio = String(6 - Len(CStr(Int_Contador)), "0")
Str_Codigo_Convenio = Str_Valor + CStr(Int_Contador)

If Int_Contador = 1 Then
Str_Usuario_Anterior = String(5 - Len(CStr(Int_Quantidade_Usuarios)), "0")
Str_Usuario_Anterior = Str_Usuario_Anterior + CStr(Int_Quantidade_Usuarios)
Else
Str_Usuario_Anterior = String(5 - Len(CStr(Int_Contador)), "0")
Str_Usuario_Anterior = Str_Usuario_Anterior + CStr(Int_Contador - 1)
End If

If Int_Contador = Int_Quantidade_Usuarios Then
Str_Proximo_Usuario = "00001"
Else
Str_Proximo_Usuario = String(5 - Len(CStr(Int_Contador + 1)), "0")
Str_Proximo_Usuario = Str_Proximo_Usuario + CStr(Int_Contador + 1)
End If

Int_Retorno = Daruma_TA1000_CadastrarUsuarios(Str_Nome, "877.774.145-87", Str_Codigo_Convenio, _
Str_Codigo_Usuario, Str_Usuario_Anterior, Str_Proximo_Usuario)

Int_Contador = Int_Contador + 1
Loop

· Exemplo em Delphi 7.0:
var
Int_Contador: Integer;
Str_Codigo_Convenio: String;
Str_Codigo_Usuario: String;
Str_Nome: String;
Str_Valor: String;
Str_Estoque: String;
Str_Proximo_Usuario: String;
Str_Usuario_Anterior: String;
Int_Quantidade_Usuarios: Integer;
begin
Int_Quantidade_Usuarios:= StrToInt(TX_Quantidade_Usuarios.Text);
Int_Contador:= 1;

Int_Retorno:= Daruma_TA1000_ZerarUsuarios();
While (Int_Contador <= Int_Quantidade_Usuarios) Do
begin

If Int_Contador < 10 then
begin
Str_Codigo_Usuario:= StringOfChar('0',5 - 1 );
end
Else
If Int_Contador < 100 then
begin
Str_Codigo_Usuario:= StringOfChar('0',5 - 2 );
end
Else
If Int_Contador < 1000 then
begin
Str_Codigo_Usuario:= StringOfChar('0',5 - 3 );
end
else
If Int_Contador < 10000 then
begin
Str_Codigo_Usuario:= StringOfChar('0',5 - 4 );
end
else
If Int_Contador >= 10000 then
Str_Codigo_Usuario:= '';

Str_Codigo_Usuario:= Str_Codigo_Usuario + IntToStr(Int_Contador);
Str_Nome:= 'Usuario Numero' + IntToStr(Int_Contador);
Str_Codigo_Convenio:=Str_Codigo_Usuario;
If Int_Contador = 1 Then
begin
Str_Usuario_Anterior:= StringOfChar('0',5 - Int_Quantidade_Usuarios);
Str_Usuario_Anterior:= Str_Usuario_Anterior + IntToStr(Int_Quantidade_Usuarios);
end
Else
begin
Str_Usuario_Anterior:= StringOfChar('0', 5 - Int_Contador);
Str_Usuario_Anterior:= Str_Usuario_Anterior + IntToStr(Int_Contador - 1);
End;
If Int_Contador = Int_Quantidade_Usuarios Then
begin
Str_Proximo_Usuario:= '00001';
End
Else
begin
Str_Proximo_Usuario:= StringOfChar('0',5 - Int_Contador + 1);
Str_Proximo_Usuario:= Str_Proximo_Usuario + IntToStr(Int_Contador + 1);
End;
Int_Retorno:= Daruma_TA1000_CadastrarUsuarios(pchar(Str_Nome), pchar('877.774.145-87'), pchar(Str_Codigo_Convenio), pchar(Str_Codigo_Usuario), pchar(Str_Usuario_Anterior), pchar(Str_Proximo_Usuario));
Int_Contador:= Int_Contador + 1;
end;


New item (copy)

New item

Enter topic text here.


New item

Enter topic text here.


Método Daruma_FIB_AbreBilhetePassagem(Índice?????????)

Método: Daruma_FIB_AbreBilhetePassagem[Índice: ?????]
Previous Top Next

· Definição do Método:
Abre o bilhete de passagem.

· Parâmetros do Método: (12 Parâretros).
1. Percurço: String até 39 carácteres com percurso da viagem.
2. Origem: String com até 34 carácteres, com a cidade de origem(localidade de embarque).
3. Destino: String com até 34 carácteres, com a cidade de destino(localidade de destino).
4. UF Destino: String com 2 carácteres, do estado de destino.
5. Categoria: String com 1 caráctere. Sendo: (1->interestadual, 2->intermunicipal e 3->internacional).
6. Modalidade: String com 1 carátere. Sendo: (1->rodoviário, 2->ferroviário e 3->hidroviário).
7. Plataforma: String com até 4 caráteres, com a descrição da plataforma.
8. Poltrona: String com até 4 caráteres, com o número da poltrona.
Data Hora Embarque: String com 14 caráteres, com a data seguida da hora de embarque. Observação! não use separadores, o modelo a ser passado é: DDMMAAAA hhmmss, tudo junto sem espaço.
9. Pretadora: String com até 48 carácteres, com o nome da empresa pratadora do serviço.
10. RG Passegeiro: String com até 29 carácteres, com o número de identidade do passageiro (opcional).
11. Nome Passageiro: String com até 30 carácteres, com o nome do passageiro (opcional).
12. Endereço Passageiro: String com até 79 carácteres, com o endereço do passageiro (opcional).

· Retorno do Método:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Percurso As String
Dim Str_Origem As String
Dim Str_Destino As String
Dim Str_UF As String
Dim Str_Categoria As String
Dim Str_Modalidade As String
Dim Str_Plataforma As String
Dim Str_Poltrona As String
Dim Str_DataHora As String
Dim Str_Prestadora As String
Dim Str_RG_Passageiro As String
Dim Str_Nome_Passageiro As String
Dim Str_Endereco_Passageiro As String

Str_Percurso = "Taubate Foz do Iguacu"
Str_Origem = "Taubate"
Str_Destino = "Foz do Iguacu "
Str_UF = "PR"
Str_Categoria = "1"
Str_Modalidade = "2"
Str_Plataforma = "PT14"
Str_Poltrona = "13C"
Str_DataHora = "25112005190000"
Str_Prestadora = "Itapemirim"
Str_RG_Passageiro = ""
Str_Nome_Passageiro = ""
Str_Endereco_Passageiro = ""
Int_Retorno = Daruma_FIB_AbreBilhetePassagem(Str_Origem, Str_Destino, Str_UF, Str_Percurso, Str_Prestadora, _
Str_Plataforma, Str_Poltrona, Str_Modalidade, Str_Categoria, _
Str_DataHora, Str_RG_Passageiro, Str_Nome_Passageiro, Str_Endereco_Passageiro)

· Exemplo em Delphi 7.0:
Var
Str_Percurso: String;
Str_Origem: String;
Str_Destino: String;
Str_UF:String;
Str_Categoria: String;
Str_Modalidade: String;
Str_Plataforma: String;
Str_Poltrona: String;
Str_DataHora: String;
Str_Prestadora: String;
Str_RG_Passageiro: String;
Str_Nome_Passageiro: String;
Str_Endereco_Passageiro: String;
begin
Str_Percurso:= 'Taubate Foz do Iguacu';
Str_Origem:= 'Taubate';
Str_Destino:= 'Foz do Iguacu';
Str_UF:= 'PR';
Str_Categoria:= '1';
Str_Modalidade:= '2';
Str_Plataforma:= 'PT14';
Str_Poltrona:= '13C';
Str_DataHora:= '25112005190000';
Str_Prestadora:= 'Itapemirim';
Str_RG_Passageiro:= '';
Str_Nome_Passageiro:= '';
Str_Endereco_Passageiro:= '';
Int_Retorno:= Daruma_FIB_AbreBilhetePassagem (pchar(Str_Origem), pchar(Str_Destino), pchar(Str_UF), pchar(Str_Percurso), pchar(Str_Prestadora), pchar(Str_Plataforma), pchar(Str_Poltrona), pchar(Str_Modalidade), pchar(Str_Categoria), pchar(Str_DataHora), pchar(Str_RG_Passageiro), pchar(Str_Nome_Passageiro), pchar(Str_Endereco_Passageiro));


Método Daruma_FIB_VendeItem(Índice??????)

Método: Daruma_FIB_AbreBilhetePassagem[Índice: ?????]
Previous Top

· Definição do Método:
Vende bilhete de passagem .

· Parâmetros do Método: (12 Parâretros).
1. Descrição: String até 21 carácteres com a descrição do produto.
2. Alíquota: String com o valor ou o índice da alíquota tributária. Se for o valor deve ser informado com o tamanho de 4 carácteres ou 5 com a vírgula. Se for o índice da alíquota deve ser 2 carácteres. Ex. (18,00 para o valor ou 05 para o índice).
3. ValorUnitário: String até 8 dígitos para valor unitário.
4. Acrescimo Desconto: Indica se haverá acréscimo ou desconto no cupom. 'A' para acréscimo e 'D' para desconto.
5. Tipo Acrescimo Desconto: Indica se o acréscimo ou desconto é por valor ou por percentual. '$' para desconto por valor e '%' para percentual.
6. Valor Acrescimo Desconto: String com no máximo 11 dígitos para acréscimo ou desconto por valor e 4 dígitos para acréscimo ou desconto por percentual.

· Observação:
- O valor do desconto nunca poderá ser igual ou maior do que o valor do ítem.

· Retorno do Método:
0: Erro de comunicação, não foi possível enviar o método.
1: OK, Sucesso ao enviar o método.
-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método Executou o método porém o ECF sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:
Dim Str_Descricao As String
Dim Str_Situacao_Tributaria As String
Dim Str_Valor As String
Dim Str_Acrescimo_Desconto As String
Dim Str_Tipo_Acrescimo_Desconto As String
Dim Str_Valor_Acrescimo_Desconto As String

Str_Descricao = "Bagagem"
Str_Situacao_Tributaria = "II"
Str_Valor = "5,00"
Str_Acrescimo_Desconto = "D"
Str_Tipo_Acrescimo_Desconto = "$"
Str_Valor_Acrescimo_Desconto = "0,10"

Int_Retorno = Daruma_FIB_VendeItem(Str_Descricao, Str_Situacao_Tributaria, Str_Valor, Str_Acrescimo_Desconto, _
Str_Tipo_Acrescimo_Desconto, Str_Valor_Acrescimo_Desconto)

· Exemplo em Delphi 7.0:
Var
Str_Descricao: String;
Str_Situacao_Tributaria: String;
Str_Valor:String;
Str_Acrescimo_Desconto: String;
Str_Tipo_Acrescimo_Desconto: String;
Str_Valor_Acrescimo_Desconto: String;

begin
Str_Descricao:= 'Bagagem';
Str_Situacao_Tributaria:= 'II';
Str_Valor:= '5,00';
Str_Acrescimo_Desconto:= 'D';
Str_Tipo_Acrescimo_Desconto:= '$';
Str_Valor_Acrescimo_Desconto:= '0,10';
Int_Retorno:= Daruma_FIB_VendeItem(pchar(Str_Descricao), pchar(Str_Situacao_Tributaria), pchar(Str_Valor), pchar(Str_Acrescimo_Desconto), pchar(Str_Tipo_Acrescimo_Desconto), pchar(Str_Valor_Acrescimo_Desconto));


Declarando em Delphi

Declarando em Delphi 7.0
Top

{Declaracao da Dll Integradora Daruma32.dll}

// Métodos do Cupom Fiscal

function Daruma_FI_AbreCupom( CPF_ou_CNPJ: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_VendeItem( Codigo: String; Descricao: String; Aliquota: String; Tipo_de_Quantidade: String; Quantidade: String; Casas_Decimais: Integer; Valor_Unitario: String; Tipo_de_Desconto: String; Valor_do_Desconto: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_VendeItemDepartamento( Codigo: String; Descricao: String; Aliquota: String; Valor_Unitario: String; Quantidade: String; Valor_do_Desconto: String; Valor_do_Acrescimo: String; Indice_Departamento: String; Unidade_Medida: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_VendeItemTresDecimais( Codigo: String; Descricao: String; Aliquota: String; Quantidade: String; Valor_Unitario: String; Acrescimo_ou_Desconto: String; Percentual_Acrescimo_ou_Desconto : String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_FechaCupomResumido( Descricao_da_Forma_de_Pagamento: String; Mensagem_Promocional: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_IniciaFechamentoCupom( Acrescimo_ou_Desconto: String; Tipo_do_Acrescimo_ou_Desconto: String; Valor_do_Acrescimo_ou_Desconto: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_EfetuaFormaPagamento( Descricao_da_Forma_Pagamento: String; Valor_da_Forma_Pagamento: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_EfetuaFormaPagamentoDescricaoForma( Descricao_da_Forma_Pagamento: string; Valor_da_Forma_Pagamento: string; Texto_Livre: string ): integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_IdentificaConsumidor( Nome_do_Consumidor: String; Endereco: String; CPF_ou_CNPJ: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_TerminaFechamentoCupom( Mensagem_Promocional: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_FechaCupom( Forma_de_Pagamento: String; Acrescimo_ou_Desconto: String; Tipo_Acrescimo_ou_Desconto: String; Valor_Acrescimo_ou_Desconto: String; Valor_Pago: String; Mensagem_Promocional: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_CancelaItemAnterior: Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_CancelaItemGenerico( Numero_Item: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_CancelaCupom: Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_AumentaDescricaoItem( Descricao_Extendida: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_UsaUnidadeMedida( Unidade_Medida: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_EmitirCupomAdicional: Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_EstornoFormasPagamento( Forma_de_Origem: String; Nova_Forma: String; Valor_Total_Pago: String ): Integer; StdCall; External 'Daruma32.dll';

// Métodos para Recebimentos e Relatórios

function Daruma_FI_AbreComprovanteNaoFiscalVinculado( Forma_de_Pagamento: String; Valor_Pago: String; Numero_do_Cupom: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_UsaComprovanteNaoFiscalVinculado( Texto_Livre: String ): Integer; StdCall; External 'Daruma32.dll'
function Daruma_FI_FechaComprovanteNaoFiscalVinculado: Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_RelatorioGerencial( Texto_Livre: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_AbreRelatorioGerencial: Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_EnviarTextoCNF( Texto_Livre: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_FechaRelatorioGerencial: Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_RecebimentoNaoFiscal( Indice_do_Totalizador: String; Valor_do_Recebimento: String; Forma_de_Pagamento: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_AbreRecebimentoNaoFiscal( Indice_do_Totalizador: String; Acrescimo_ou_Desconto: String; Tipo_Acrescimo_ou_Desconto: String; Valor_Acrescimo_ou_Desconto: String; Valor_do_Recebimento: String; Texto_Livre: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_EfetuaFormaPagamentoNaoFiscal( Forma_de_Pagamento: String; Valor_da_Forma_Pagamento: String; Texto_Livre: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_Sangria( Valor_da_Sangria: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_Suprimento( Valor_do_Suprimento: String; Forma_de_Pagamento: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_FundoCaixa( Valor_do_Fundo_Caixa: String; Forma_de_Pagamento: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_LeituraX: Integer; StdCall; External 'Daruma32.dll' ;
function Daruma_FI_ReducaoZ( Data: String; Hora: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_ReducaoZAjustaDataHora( Data: String; Hora: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_LeituraMemoriaFiscalData( Data_Inicial: String; Data_Final: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_LeituraMemoriaFiscalReducao( Reducao_Inicial: String; Reducao_Final: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_LeituraMemoriaFiscalSerialData( Data_Inicial: String; Data_Final: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_LeituraMemoriaFiscalSerialReducao( Reducao_Inicial: String; Reducao_Final: String ): Integer; StdCall; External 'Daruma32.dll';

// Métodos Gaveta, Autentica e Outras

function Daruma_FI_VerificaDocAutenticacao: Integer; StdCall; External 'Daruma32.dll'
function Daruma_FI_Autenticacao: Integer; StdCall; External 'Daruma32.dll' Name 'Daruma_FI_Autenticacao';
function Daruma_FI_AutenticacaoStr( Autenticacao_Str :string ): Integer; StdCall; External 'Daruma32.dll'
function Daruma_FI_VerificaEstadoGaveta( Var Estado_Gaveta: Integer ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_VerificaEstadoGavetaStr( Estado_Gaveta: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_AcionaGaveta: Integer; StdCall; External 'Daruma32.dll'
function Daruma_FI_AbrePortaSerial: Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_FechaPortaSerial: Integer; StdCall; External 'Daruma32.dll'
function Daruma_FI_AberturaDoDia( Valor_do_Suprimento: string; Forma_de_Pagamento: string ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_FechamentoDoDia: Integer; StdCall; External 'Daruma32.dll' Name 'Daruma_FI_FechamentoDoDia';
function Daruma_FI_ImprimeConfiguracoesImpressora: Integer; StdCall; External 'Daruma32.dll'

// Métodos Prog e Config

function Daruma_FI_ProgramaAliquota( Valor_Aliquota: String; Tipo_Aliquota: Integer ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_NomeiaTotalizadorNaoSujeitoIcms( Indice_do_Totalizador: Integer; Nome_do_Totalizador: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_ProgramaFormasPagamento( Descricao_das_Formas_Pagamento: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_ProgramaOperador( Nome_do_Operador: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_ProgramaArredondamento: Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_ProgramaTruncamento: Integer; StdCall; External 'Daruma32.dll' Name 'Daruma_FI_ProgramaTruncamento';
function Daruma_FI_LinhasEntreCupons( Linhas_Entre_Cupons: Integer ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_EspacoEntreLinhas( Espaco_Entre_Linhas: Integer ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_ProgramaHorarioVerao: Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_EqualizaFormasPgto: Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_ProgramaVinculados( Vinculado: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_ProgFormasPagtoSemVincular( Descricao_da_Forma_Pagamento: String ): Integer; StdCall; External 'Daruma32.dll';

// Métodos de Configuração e Registry

function Daruma_FI_CfgFechaAutomaticoCupom( Flag: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_CfgRedZAutomatico( Flag: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_CfgImpEstGavVendas( Flag: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_CfgLeituraXAuto( Flag: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_CfgCalcArredondamento( Flag: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_CfgHorarioVerao( Flag: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_CfgSensorAut( Flag: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_CfgCupomAdicional( Flag: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_CfgPermMensPromCNF( Flag: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_CfgEspacamentoCupons( DistanciaCupons: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_CfgHoraMinReducaoZ( Hora_Min_para_ReducaoZ: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_CfgLimiarNearEnd( NumeroLinhas: String ): Integer; StdCall; External 'Daruma32.dll';

function Daruma_Registry_AlteraRegistry( Chave: String; ValorChave: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_Registry_Porta( Porta: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_Registry_Path( Path: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_Registry_Status( Status: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_Registry_StatusFuncao( StatusFuncao: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_Registry_Retorno( Retorno: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_Registry_ControlePorta( ControlePorta: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_Registry_ModoGaveta( ModoGaveta: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_Registry_Log( Log: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_Registry_NomeLog( NomeLog: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_Registry_Separador( Separador: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_Registry_SeparaMsgPromo( SeparaMsgPromo: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_Registry_ZAutomatica( ZAutomatica: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_Registry_XAutomatica( XAutomatica: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_Registry_VendeItemUmaLinha( VendeItemUmaLinha: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_Registry_Default: Integer; StdCall; External 'Daruma32.dll';
function Daruma_Registry_RetornaValor( Produto: String; Chave: String; Valor: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_Registry_TerminalServer( TerminalServer: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_Registry_ErroExtendidoOk( ValorErro: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_Registry_AbrirDiaFiscal( AbrirDiaFiscal: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_Registry_VendaAutomatica( VendaAutomatica: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_Registry_IgnorarPoucoPapel( IgnorarPoucoPapel: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_Registry_ImprimeRegistry( Produto: String ): Integer; StdCall; External 'Daruma32.dll';

// Métodos de Informações e Status

function Daruma_FI_StatusCupomFiscal( StatusCupomFiscal: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_StatusRelatorioGerencial( StatusRelGerencial: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_StatusComprovanteNaoFiscalVinculado( StatusCNFV: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_VerificaImpressoraLigada: Integer; StdCall; External 'Daruma32.dll'
function Daruma_FI_VerificaTotalizadoresParciais( Totalizadores: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_VerificaModoOperacao( Modo: string ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_VerificaTotalizadoresNaoFiscais( Totalizadores: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_VerificaTotalizadoresNaoFiscaisEx( Totalizadores: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_VerificaTruncamento( Flag: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_VerificaAliquotasIss( Flag: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_VerificaIndiceAliquotasIss( Flag: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_VerificaRecebimentoNaoFiscal( Recebimentos: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_VerificaTipoImpressora( Var TipoImpressora: Integer ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_VerificaStatusCheque( StatusCheque: Integer ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_VerificaModeloECF: Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_VerificaDescricaoFormasPagamento( Descricao: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_VerificaXPendente( XPendente: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_VerificaZPendente( ZPendente: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_VerificaDiaAberto( DiaAberto: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_VerificaHorarioVerao( HoraioVerao: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_VerificaFormasPagamento( Formas: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_VerificaFormasPagamentoEx( FormasEx: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_VerificaEpromConectada( Flag: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_VerificaEstadoImpressora( Var ACK: Integer; Var ST1: Integer; Var ST2: Integer ): Integer; StdCall; External 'Daruma32.dll';

function Daruma_FI_ClicheProprietario( Cliche: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_ClicheProprietarioEx( ClicheEx: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_NumeroCaixa( NumeroCaixa: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_NumeroLoja( NumeroLoja: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_NumeroSerie( NumeroSerie: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_VersaoFirmware( VersaoFirmware: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_CGC_IE( CGC: String; IE: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_LerAliquotasComIndice(AliquotasComIndice: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_NumeroCupom( NumeroCupom: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_COO(Inicial: String; Final: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_MinutosImprimindo( Minutos: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_MinutosLigada( Minutos: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_NumeroSubstituicoesProprietario( NumeroSubstituicoes: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_NumeroIntervencoes( NumeroIntervencoes: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_NumeroReducoes( NumeroReducoes: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_NumeroCuponsCancelados( NumeroCancelamentos: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_NumeroOperacoesNaoFiscais( NumeroOperacoes: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_DataHoraImpressora( Data: String; Hora: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_DataHoraReducao( Data: String; Hora: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_DataMovimento( Data: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_ContadoresTotalizadoresNaoFiscais( Contadores: String ): Integer; StdCall; External 'Daruma32.dll';

function Daruma_FI_GrandeTotal( GrandeTotal: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_Descontos( ValorDescontos: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_Acrescimos( ValorAcrescimos: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_Cancelamentos( ValorCancelamentos: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_DadosUltimaReducao( DadosReducao: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_SubTotal( SubTotal: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_RetornoAliquotas( Aliquotas: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_ValorPagoUltimoCupom( ValorCupom: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_ValorFormaPagamento( FormaPagamento: String; Valor: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_ValorTotalizadorNaoFiscal( Totalizador: String; Valor: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_UltimoItemVendido( NumeroItem: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_UltimaFormaPagamento( Descricao_da_Forma: String; Valor_da_Forma: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_TipoUltimoDocumento(TipoUltimoDoc: String ): Integer; StdCall; External 'Daruma32.dll';

function Daruma_FI_MapaResumo: Integer; StdCall; External 'Daruma32.dll' Name 'Daruma_FI_MapaResumo';
function Daruma_FI_RelatorioTipo60Analitico: Integer; StdCall; External 'Daruma32.dll' Name 'Daruma_FI_RelatorioTipo60Analitico';
function Daruma_FI_RelatorioTipo60Mestre: Integer; StdCall; External 'Daruma32.dll' Name 'Daruma_FI_RelatorioTipo60Mestre';
function Daruma_FI_FlagsFiscais( Var Flag: Integer ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_PalavraStatus( PalavraStatus: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_PalavraStatusBinario( PalavraStatusBinario: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_SimboloMoeda( SimboloMoeda: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_RetornoImpressora( Var ACK: Integer; Var ST1: Integer; Var ST2: Integer ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_RetornaErroExtendido( ErroExtendido: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_RetornaAcrescimoNF( AcrescimoNF: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_RetornaCFCancelados( CFCancelados: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_RetornaCNFCancelados( CNFCancelados: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_RetornaCLX(CLX: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_RetornaCNFNV(CNFNV: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_RetornaCNFV(CNFV: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_RetornaCRO(CRO: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_RetornaCRZ(CRZ: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_RetornaCRZRestante( CRZRestante: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_RetornaCancelamentoNF( CancelamentoNF: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_RetornaDescontoNF( DescontoNF: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_RetornaGNF( GNF: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_RetornaTempoImprimindo( TempoImprimindo: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_RetornaTempoLigado( TempoLigado: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_RetornaTotalPagamentos( TotalPagamentos: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_RetornaTroco( Troco: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_RetornaZeros( Zeros: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_RetornaValorComprovanteNaoFiscal( Indice_CNF: String; Informacao: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_RetornaIndiceComprovanteNaoFiscal( DescricaoRegistrCNF: String; RefIndice: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_RetornaRegistradoresNaoFiscais( RegistrNaoFiscais: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI_RetornaRegistradoresFiscais( RegistrFiscais: String ): Integer; StdCall; External 'Daruma32.dll';

// Métodos para TEF

function Daruma_TEF_EsperarArquivo( Path_Resp_TEF: String; Tempo_Espera: String; Travar: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_TEF_ImprimirResposta( Path_Arquivo_Resp_TEF: string; Forma_de_Pagamento: string; Travar_Teclado: string ): Integer; StdCall; External 'Daruma32.dll'
function Daruma_TEF_ImprimirRespostaCartao( Path_Arquivo_Resp_TEF: string; Forma_de_Pagamento: string; Travar_Teclado: string; Valor_da_Forma_Pagamento: String ): Integer; StdCall; External 'Daruma32.dll'
function Daruma_TEF_FechaRelatorio: Integer; StdCall; External 'Daruma32.dll'
function Daruma_TEF_SetFocus( TituloJanela: String ): Integer; StdCall; External 'Daruma32.dll'
function Daruma_TEF_TravarTeclado( Travar: String ): Integer; StdCall; External 'Daruma32.dll'

// Métodos para FS2000
function Daruma_Registry_FS2000_CupomAdicional( CupomAdicional: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_Registry_FS2000_TempoEsperaCheque( TempodeEspera: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI2000_DescontoSobreItemVendido( NumeroItem: String; TipoDesconto: String; ValorDesconto: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI2000_AcrescimosICMSISS( AcrescICMS: String; AcrescISS: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI2000_CancelamentosICMSISS( CancelICMS: String; CancelISS: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI2000_DescontosICMSISS( DescICMS: String; DescISS: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI2000_LeituraInformacaoUltimosCNF( UltimosCNF: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI2000_LeituraInformacaoUltimoDoc( TipoUltimoDoc: String; ValorUltimoDoc: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI2000_VerificaRelatorioGerencial( Gerencial: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI2000_CriaRelatorioGerencial( NomeGerencial: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI2000_AbreRelatorioGerencial( Indice: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI2000_CancelamentoCNFV( COO_CNFV: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI2000_SegundaViaCNFVinculado: Integer; StdCall; External 'Daruma32.dll';

function Daruma_FI2000_StatusCheque( StatusCheque: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI2000_ImprimirCheque( Banco: String; Cidade: String; Data: String; Favorecido: String; Valor: String; PosicaoCheque: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI2000_ImprimirVersoCheque( VersoCheque: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI2000_LiberarCheque: Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI2000_LeituraCodigoMICR( CodigoMICR: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI2000_CancelarCheque: Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI2000_LeituraTabelaCheque( TabelaCheque: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI2000_CarregarCheque( NumeroBanco: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_FI2000_CorrigirGeometriaCheque( NumeroBanco: String; GeometriaCheque: String ): Integer; StdCall; External 'Daruma32.dll';

// Metodos exclusivos para MFD

function Daruma_FIMFD_ImprimeCodigoBarras( Tipo: String; Codigo: String; Largura: String; Altura: String; Posicao: String ): Integer; StdCall; External 'Daruma32.dll';

// Metodos Para TA1000

function Daruma_Registry_TA1000_Porta( Porta: String): Integer; StdCall; External 'Daruma32.dll';
function Daruma_Registry_TA1000_PathProdutos( PathProdutos: String): Integer; StdCall; External 'Daruma32.dll';
function Daruma_Registry_TA1000_PathUsuarios( PathUsuarios: String): Integer; StdCall; External 'Daruma32.dll';
function Daruma_Registry_TA1000_NumeroItensEnviados( NumeroItensEnviados: String): Integer; StdCall; External 'Daruma32.dll';
function Daruma_Registry_TA1000_PathRelatorios( PathRelatorios: String): Integer; StdCall; External 'Daruma32.dll';
//A Função abaixo foi declarada na tela referente ao Cadastrar Produtos}{
function Daruma_TA1000_CadastrarProdutos(Descricao: String; Codigo: String; DecimaisPreco: String; DecimaisQuantidade: String; Preco: String; DescontoAcrescimo: String; ValorDescontoAcrescimo: String; UnidadeMedida: String;Aliquota: String; ProximoProduto: String; ProdutoAnterior: String; Estoque: String): Integer; StdCall; External 'Daruma32.dll';

function Daruma_TA1000_ConsultarProdutos( Descricao: String; Codigo: String; DecimaisPreco: String; DecimaisQuantidade: String; Preco: String; DescontoAcrescimo: String; ValorDescontoAcrescimo: String; UnidadeMedida: String; Aliquota: String; ProximoProduto: String; ProdutoAnterior: String; Estoque: String): Integer; StdCall; External 'Daruma32.dll';
function Daruma_TA1000_AlterarProdutos(Codigo_Consultar: String; Descricao: String; Codigo: String; DecimaisPreco: String; DecimaisQuantidade: String; Preco: String; DescontoAcrescimo: String; ValorDescontoAcrescimo: String; UnidadeMedida: String; Aliquota: String; ProximoProduto: String; ProdutoAnterior: String; Estoque: String ): Integer; StdCall; External 'Daruma32.dll';
function Daruma_TA1000_EliminarProdutos(Codigo: String): Integer; StdCall; External 'Daruma32.dll';
function Daruma_TA1000_EnviarBancoProdutos(): Integer; StdCall; External 'Daruma32.dll';
function Daruma_TA1000_ReceberBancoProdutos(): Integer; StdCall; External 'Daruma32.dll';
function Daruma_TA1000_ReceberProdutosVendidos(): Integer; StdCall; External 'Daruma32.dll';
function Daruma_TA1000_ZerarProdutos(): Integer; StdCall; External 'Daruma32.dll';
function Daruma_TA1000_ZerarProdutosVendidos(): Integer; StdCall; External 'Daruma32.dll';

function Daruma_TA1000_EnviarBancoUsuarios(): Integer; StdCall; External 'Daruma32.dll';
function Daruma_TA1000_ReceberBancoUsuarios(): Integer; StdCall; External 'Daruma32.dll';
function Daruma_TA1000_ZerarUsuarios(): Integer; StdCall; External 'Daruma32.dll';
function Daruma_TA1000_CadastrarUsuarios(Nome: String; CPF: String; CodigoConvenio: String; CodigoUsuario: String; UsuarioAnterior: String; ProximoUsuario: String): Integer; StdCall; External 'Daruma32.dll';
function Daruma_TA1000_ConsultarUsuarios(Codigo_Consultar : String; Nome: String; CPF: String; CodigoConvenio: String; CodigoUsuario: String; UsuarioAnterior: String; ProximoUsuario: String): Integer; StdCall; External 'Daruma32.dll';
function Daruma_TA1000_AlterarUsuarios(Codigo_Consultar : String; Nome: String; CPF: String; CodigoConvenio: String; CodigoUsuario: String; UsuarioAnterior: String; ProximoUsuario: String): Integer; StdCall; External 'Daruma32.dll';
function Daruma_TA1000_EliminarUsuarios(Codigo: String): Integer; StdCall; External 'Daruma32.dll';

function Daruma_TA1000_LeStatusTransferencia(): Integer; StdCall; External 'Daruma32.dll';

var
FormPrincipal: TFormPrincipal;

// Variável geral para tratar o Retorno da Função e tratamento de erros
Daruma_iACK,
Daruma_iST1,
Daruma_iST2,
Int_Retorno : Integer;

Str_ErroExtendido : String;
Int_Retorno: Integer;
Um: Integer;


Declarando em Visual Basic6.0
Top

Global Int_Retorno As Integer
Global Int_Ack As Integer
Global Int_St1 As Integer
Global Int_St2 As Integer
Global Str_ErroExtendido As String
Global Int_Tipo_Aliquota As Integer
Global Str_Informacao As String
Global Int_Informacao As Integer

'*********************************************************************************************************************'
' '
' FS345 '
' '
'*********************************************************************************************************************'

'Metodos Cupom
Public Declare Function Daruma_FI_AbreCupom Lib "Daruma32.dll" (ByVal Cpf_ou_Cnpj As String) As Integer
Public Declare Function Daruma_FI_VendeItem Lib "Daruma32.dll" (ByVal Codigo As String, ByVal Descricao As String, ByVal Aliquota As String, ByVal TipoQuantidade As String, ByVal Quantidade As String, ByVal CasasDecimais As Integer, ByVal ValorUnitario As String, ByVal TipoDesconto As String, ByVal Desconto As String) As Integer
Public Declare Function Daruma_FI_VendeItemDepartamento Lib "Daruma32.dll" (ByVal Codigo As String, ByVal Descricao As String, ByVal Aliquota As String, ByVal ValorUnitario As String, ByVal Quantidade As String, ByVal Acrescimo As String, ByVal Desconto As String, ByVal IndiceDepartamento As String, ByVal UnidadeMedida As String) As Integer
Public Declare Function Daruma_FI_VendeItemTresDecimais Lib "Daruma32.dll" (ByVal Codigo As String, ByVal Descricao As String, ByVal Aliquota As String, ByVal Quantidade As String, ByVal ValorUnitario As String, ByVal Desconto_ou_Acrescimo As String, ByVal Percentual_Desconto_ou_Acrescimo As String) As Integer
Public Declare Function Daruma_FI_FechaCupomResumido Lib "Daruma32.dll" (ByVal FormaPagamento As String, ByVal Mensagem As String) As Integer
Public Declare Function Daruma_FI_IniciaFechamentoCupom Lib "Daruma32.dll" (ByVal AcrescimoDesconto As String, ByVal TipoAcrescimoDesconto As String, ByVal ValorAcrescimoDesconto As String) As Integer
Public Declare Function Daruma_FI_EfetuaFormaPagamento Lib "Daruma32.dll" (ByVal FormaPagamento As String, ByVal ValorFormaPagamento As String) As Integer
Public Declare Function Daruma_FI_EfetuaFormaPagamentoDescricaoForma Lib "Daruma32.dll" (ByVal FormaPagamento As String, ByVal ValorFormaPagamento As String, ByVal TextoLivre As String) As Integer
Public Declare Function Daruma_FI_IdentificaConsumidor Lib "Daruma32.dll" (ByVal NomeConsumidor As String, ByVal Endereco As String, ByVal Cpf_ou_Cnpj As String) As Integer
Public Declare Function Daruma_FI_TerminaFechamentoCupom Lib "Daruma32.dll" (ByVal Mensagem As String) As Integer
Public Declare Function Daruma_FI_FechaCupom Lib "Daruma32.dll" (ByVal FormaPagamento As String, ByVal AcrescimoDesconto As String, ByVal TipoAcrescimoDesconto As String, ByVal ValorAcrecimoDesconto As String, ByVal ValorPago As String, ByVal Mensagem As String) As Integer
Public Declare Function Daruma_FI_CancelaItemAnterior Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_FI_CancelaItemGenerico Lib "Daruma32.dll" (ByVal NumeroItem As String) As Integer
Public Declare Function Daruma_FI_CancelaCupom Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_FI_AumentaDescricaoItem Lib "Daruma32.dll" (ByVal Descricao As String) As Integer
Public Declare Function Daruma_FI_UsaUnidadeMedida Lib "Daruma32.dll" (ByVal UnidadeMedida As String) As Integer
Public Declare Function Daruma_FI_EmitirCupomAdicional Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_FI_EstornoFormasPagamento Lib "Daruma32.dll" (ByVal FormaOrigem As String, ByVal FormaDestino As String, ByVal Valor As String) As Integer

'Metodos para Recebimentos e Relatorios
Public Declare Function Daruma_FI_AbreComprovanteNaoFiscalVinculado Lib "Daruma32.dll" (ByVal FormaPagamento As String, ByVal Valor As String, ByVal NumeroCupom As String) As Integer
Public Declare Function Daruma_FI_UsaComprovanteNaoFiscalVinculado Lib "Daruma32.dll" (ByVal Texto As String) As Integer
Public Declare Function Daruma_FI_FechaComprovanteNaoFiscalVinculado Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_FI_RelatorioGerencial Lib "Daruma32.dll" (ByVal Texto As String) As Integer
Public Declare Function Daruma_FI_AbreRelatorioGerencial Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_FI_EnviarTextoCNF Lib "Daruma32.dll" (ByVal Texto As String) As Integer
Public Declare Function Daruma_FI_FechaRelatorioGerencial Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_FI_RecebimentoNaoFiscal Lib "Daruma32.dll" (ByVal IndiceTotalizador As String, ByVal ValorRecebimento As String, ByVal FormaPagamento As String) As Integer
Public Declare Function Daruma_FI_AbreRecebimentoNaoFiscal Lib "Daruma32.dll" (ByVal IndiceTotalizador As String, ByVal AcrescimoDesconto As String, ByVal TipoAcrescimoDesconto As String, ByVal ValorAcrescimoDesconto As String, ByVal ValorRecebimento As String, ByVal TextoLivreto As String) As Integer
Public Declare Function Daruma_FI_EfetuaFormaPagamentoNaoFiscal Lib "Daruma32.dll" (ByVal FormaPagamento As String, ByVal ValorFormaPagamento As String, ByVal ObsLivre As String) As Integer
Public Declare Function Daruma_FI_Sangria Lib "Daruma32.dll" (ByVal Valor As String) As Integer
Public Declare Function Daruma_FI_Suprimento Lib "Daruma32.dll" (ByVal Valor As String, ByVal FormaPagamento As String) As Integer
Public Declare Function Daruma_FI_FundoCaixa Lib "Daruma32.dll" (ByVal ValorPagamento As String, ByVal FormaPagamento As String) As Integer
Public Declare Function Daruma_FI_LeituraX Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_FI_ReducaoZ Lib "Daruma32.dll" (ByVal Data As String, ByVal Hora As String) As Integer
Public Declare Function Daruma_FI_ReducaoZAjustaDataHora Lib "Daruma32.dll" (ByVal Data As String, ByVal Hora As String) As Integer
Public Declare Function Daruma_FI_LeituraMemoriaFiscalData Lib "Daruma32.dll" (ByVal DataInicial As String, ByVal DataFinal As String) As Integer
Public Declare Function Daruma_FI_LeituraMemoriaFiscalReducao Lib "Daruma32.dll" (ByVal ReducaoInicial As String, ByVal ReducaoFinal As String) As Integer
Public Declare Function Daruma_FI_LeituraMemoriaFiscalSerialData Lib "Daruma32.dll" (ByVal DataInicial As String, ByVal DataFinal As String) As Integer
Public Declare Function Daruma_FI_LeituraMemoriaFiscalSerialReducao Lib "Daruma32.dll" (ByVal ReducaoInicial As String, ByVal ReducaoFinal As String) As Integer

'Metodos Modo Gaveta, Autentica e Outras
Public Declare Function Daruma_FI_VerificaDocAutenticacao Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_FI_Autenticacao Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_FI_AutenticacaoStr Lib "Daruma32.dll" (ByVal AtenticacaoStr As String) As Integer
Public Declare Function Daruma_FI_VerificaEstadoGaveta Lib "Daruma32.dll" (ByRef EstadoGaveta As Integer) As Integer
Public Declare Function Daruma_FI_VerificaEstadoGavetaStr Lib "Daruma32.dll" (ByVal EstadoGaveta As String) As Integer
Public Declare Function Daruma_FI_AcionaGaveta Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_FI_AbrePortaSerial Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_FI_FechaPortaSerial Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_FI_AberturaDoDia Lib "Daruma32.dll" (ByVal Valor As String, ByVal FormaPagamento As String) As Integer
Public Declare Function Daruma_FI_FechamentoDoDia Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_FI_ImprimeConfiguracoesImpressora Lib "Daruma32.dll" () As Integer

'Metodos Prog e Config
Public Declare Function Daruma_FI_ProgramaAliquota Lib "Daruma32.dll" (ByVal Aliquota As String, ByVal ICMS_ou_ISS As Integer) As Integer
Public Declare Function Daruma_FI_NomeiaTotalizadorNaoSujeitoIcms Lib "Daruma32.dll" (ByVal Indice As Integer, ByVal Totalizador As String) As Integer
Public Declare Function Daruma_FI_ProgramaFormasPagamento Lib "Daruma32.dll" (ByVal DescricaoFormasPgto As String) As Integer
Public Declare Function Daruma_FI_ProgramaOperador Lib "Daruma32.dll" (ByVal NomeOperador As String) As Integer
Public Declare Function Daruma_FI_ProgramaArredondamento Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_FI_ProgramaTruncamento Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_FI_LinhasEntreCupons Lib "Daruma32.dll" (ByVal Linhas As Integer) As Integer
Public Declare Function Daruma_FI_EspacoEntreLinhas Lib "Daruma32.dll" (ByVal Dots As Integer) As Integer
Public Declare Function Daruma_FI_ProgramaHorarioVerao Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_FI_EqualizaFormasPgto Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_FI_ProgramaVinculados Lib "Daruma32.dll" (ByVal Descricao As String) As Integer
Public Declare Function Daruma_FI_ProgFormasPagtoSemVincular Lib "Daruma32.dll" (ByVal Descricao As String) As Integer

'Metodos de Configuracao do ECF
Public Declare Function Daruma_FI_CfgFechaAutomaticoCupom Lib "Daruma32.dll" (ByVal Flag As String) As Integer
Public Declare Function Daruma_FI_CfgRedZAutomatico Lib "Daruma32.dll" (ByVal Flag As String) As Integer
Public Declare Function Daruma_FI_CfgLeituraXAuto Lib "Daruma32.dll" (ByVal Flag As String) As Integer
Public Declare Function Daruma_FI_CfgImpEstGavVendas Lib "Daruma32.dll" (ByVal Flag As String) As Integer
Public Declare Function Daruma_FI_CfgCalcArredondamento Lib "Daruma32.dll" (ByVal Flag As String) As Integer
Public Declare Function Daruma_FI_CfgHorarioVerao Lib "Daruma32.dll" (ByVal Flag As String) As Integer
Public Declare Function Daruma_FI_CfgSensorAut Lib "Daruma32.dll" (ByVal Flag As String) As Integer
Public Declare Function Daruma_FI_CfgCupomAdicional Lib "Daruma32.dll" (ByVal Flag As String) As Integer
Public Declare Function Daruma_FI_CfgPermMensPromCNF Lib "Daruma32.dll" (ByVal Flag As String) As Integer
Public Declare Function Daruma_FI_CfgEspacamentoCupons Lib "Daruma32.dll" (ByVal DistanciaCupons As String) As Integer
Public Declare Function Daruma_FI_CfgHoraMinReducaoZ Lib "Daruma32.dll" (ByVal Flag As String) As Integer
Public Declare Function Daruma_FI_CfgLimiarNearEnd Lib "Daruma32.dll" (ByVal NumeroLinhas As String) As Integer
Public Declare Function Daruma_FI_CfgLegProdutos Lib "Daruma32.dll" (ByVal Flag As String) As Integer

'Metodos para Configuracao do Registry
Public Declare Function Daruma_Registry_AlteraRegistry Lib "Daruma32.dll" (ByVal NomeChave As String, ByVal ValorChave As String) As Integer
Public Declare Function Daruma_Registry_Porta Lib "Daruma32.dll" (ByVal NomePorta As String) As Integer
Public Declare Function Daruma_Registry_Path Lib "Daruma32.dll" (ByVal Path As String) As Integer
Public Declare Function Daruma_Registry_Status Lib "Daruma32.dll" (ByVal Status As String) As Integer
Public Declare Function Daruma_Registry_StatusFuncao Lib "Daruma32.dll" (ByVal StatusFuncao As String) As Integer
Public Declare Function Daruma_Registry_Retorno Lib "Daruma32.dll" (ByVal Retorno As String) As Integer
Public Declare Function Daruma_Registry_ControlePorta Lib "Daruma32.dll" (ByVal ControlePorta As String) As Integer
Public Declare Function Daruma_Registry_ModoGaveta Lib "Daruma32.dll" (ByVal ModoGaveta As String) As Integer
Public Declare Function Daruma_Registry_Log Lib "Daruma32.dll" (ByVal Log As String) As Integer
Public Declare Function Daruma_Registry_NomeLog Lib "Daruma32.dll" (ByVal NomeLog As String) As Integer
Public Declare Function Daruma_Registry_Separador Lib "Daruma32.dll" (ByVal Separador As String) As Integer
Public Declare Function Daruma_Registry_SeparaMsgPromo Lib "Daruma32.dll" (ByVal SeparaMsgPromo As String) As Integer
Public Declare Function Daruma_Registry_ZAutomatica Lib "Daruma32.dll" (ByVal ZAutomatica As String) As Integer
Public Declare Function Daruma_Registry_XAutomatica Lib "Daruma32.dll" (ByVal XAutomatica As String) As Integer
Public Declare Function Daruma_Registry_VendeItemUmaLinha Lib "Daruma32.dll" (ByVal VendeItem1Lin13Dig As String) As Integer
Public Declare Function Daruma_Registry_Default Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_Registry_RetornaValor Lib "Daruma32.dll" (ByVal Produto As String, ByVal Chave As String, ByVal Valor As String) As Integer
Public Declare Function Daruma_Registry_TerminalServer Lib "Daruma32.dll" (ByVal TerminalServer As String) As Integer
Public Declare Function Daruma_Registry_ErroExtendidoOk Lib "Daruma32.dll" (ByVal ValorErro As String) As Integer
Public Declare Function Daruma_Registry_AbrirDiaFiscal Lib "Daruma32.dll" (ByVal AbrirDiaFiscal As String) As Integer
Public Declare Function Daruma_Registry_VendaAutomatica Lib "Daruma32.dll" (ByVal VendaAutomatica As String) As Integer
Public Declare Function Daruma_Registry_IgnorarPoucoPapel Lib "Daruma32.dll" (ByVal IgnorarPoucoPapel As String) As Integer
Public Declare Function Daruma_Registry_ImprimeRegistry Lib "Daruma32.dll" (ByVal Produto As String) As Integer

'Metodos de Status
Public Declare Function Daruma_FI_StatusCupomFiscal Lib "Daruma32.dll" (ByVal StsCF As String) As Integer
Public Declare Function Daruma_FI_StatusRelatorioGerencial Lib "Daruma32.dll" (ByVal StsGerencial As String) As Integer
Public Declare Function Daruma_FI_StatusComprovanteNaoFiscalVinculado Lib "Daruma32.dll" (ByVal StsCNFV As String) As Integer
Public Declare Function Daruma_FI_VerificaImpressoraLigada Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_FI_VerificaTotalizadoresParciais Lib "Daruma32.dll" (ByVal Totalizadores_Parciais As String) As Integer
Public Declare Function Daruma_FI_VerificaModoOperacao Lib "Daruma32.dll" (ByVal Modo As String) As Integer
Public Declare Function Daruma_FI_VerificaTotalizadoresNaoFiscais Lib "Daruma32.dll" (ByVal Totalizadores As String) As Integer
Public Declare Function Daruma_FI_VerificaTotalizadoresNaoFiscaisEx Lib "Daruma32.dll" (ByVal Totalizadores As String) As Integer
Public Declare Function Daruma_FI_VerificaTruncamento Lib "Daruma32.dll" (ByVal Flag As String) As Integer
Public Declare Function Daruma_FI_VerificaAliquotasIss Lib "Daruma32.dll" (ByVal AliquotasIss As String) As Integer
Public Declare Function Daruma_FI_VerificaRecebimentoNaoFiscal Lib "Daruma32.dll" (ByVal Recebimentos As String) As Integer
Public Declare Function Daruma_FI_VerificaTipoImpressora Lib "Daruma32.dll" (ByRef TipoImpressora As Integer) As Integer
Public Declare Function Daruma_FI_VerificaIndiceAliquotasIss Lib "Daruma32.dll" (ByVal AliquotaIss As String) As Integer
Public Declare Function Daruma_FI_VerificaModeloECF Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_FI_VerificaDescricaoFormasPagamento Lib "Daruma32.dll" (ByVal Descricao As String) As Integer
Public Declare Function Daruma_FI_VerificaXPendente Lib "Daruma32.dll" (ByVal XPendente As String) As Integer
Public Declare Function Daruma_FI_VerificaZPendente Lib "Daruma32.dll" (ByVal ZPendente As String) As Integer
Public Declare Function Daruma_FI_VerificaDiaAberto Lib "Daruma32.dll" (ByVal DiaAberto As String) As Integer
Public Declare Function Daruma_FI_VerificaHorarioVerao Lib "Daruma32.dll" (ByVal HorarioVerao As String) As Integer
Public Declare Function Daruma_FI_VerificaFormasPagamento Lib "Daruma32.dll" (ByVal FormasPagto As String) As Integer
Public Declare Function Daruma_FI_VerificaFormasPagamentoEx Lib "Daruma32.dll" (ByVal FormasPagtoEx As String) As Integer
Public Declare Function Daruma_FI_VerificaEpromConectada Lib "Daruma32.dll" (ByVal Flag As String) As Integer
Public Declare Function Daruma_FI_VerificaEstadoImpressora Lib "Daruma32.dll" (ByRef ACK As Integer, ByRef ST1 As Integer, ByRef ST2 As Integer) As Integer

'Metodos de Informacao do ECF e Contadores
Public Declare Function Daruma_FI_ClicheProprietario Lib "Daruma32.dll" (ByVal Cliche As String) As Integer
Public Declare Function Daruma_FI_ClicheProprietarioEx Lib "Daruma32.dll" (ByVal ClicheProprietarioEx As String) As Integer
Public Declare Function Daruma_FI_NumeroCaixa Lib "Daruma32.dll" (ByVal NumeroCaixa As String) As Integer
Public Declare Function Daruma_FI_NumeroLoja Lib "Daruma32.dll" (ByVal NumeroLoja As String) As Integer
Public Declare Function Daruma_FI_NumeroSerie Lib "Daruma32.dll" (ByVal NumeroSerie As String) As Integer
Public Declare Function Daruma_FI_VersaoFirmware Lib "Daruma32.dll" (ByVal VersaoFirmware As String) As Integer
Public Declare Function Daruma_FI_CGC_IE Lib "Daruma32.dll" (ByVal CGC As String, ByVal IE As String) As Integer
Public Declare Function Daruma_FI_LerAliquotasComIndice Lib "Daruma32.dll" (ByVal AliquotasComIndice As String) As Integer
Public Declare Function Daruma_FI_NumeroCupom Lib "Daruma32.dll" (ByVal NumeroCupom As String) As Integer
Public Declare Function Daruma_FI_COO Lib "Daruma32.dll" (ByVal Coo_Inicial As String, ByVal COO_Final As String) As Integer
Public Declare Function Daruma_FI_MinutosImprimindo Lib "Daruma32.dll" (ByVal Minutos As String) As Integer
Public Declare Function Daruma_FI_MinutosLigada Lib "Daruma32.dll" (ByVal Minutos As String) As Integer
Public Declare Function Daruma_FI_NumeroSubstituicoesProprietario Lib "Daruma32.dll" (ByVal NumeroSubstituicoes As String) As Integer
Public Declare Function Daruma_FI_NumeroIntervencoes Lib "Daruma32.dll" (ByVal NumeroIntervencoes As String) As Integer
Public Declare Function Daruma_FI_NumeroReducoes Lib "Daruma32.dll" (ByVal NumeroReducoes As String) As Integer
Public Declare Function Daruma_FI_NumeroCuponsCancelados Lib "Daruma32.dll" (ByVal NumeroCancelamentos As String) As Integer
Public Declare Function Daruma_FI_NumeroOperacoesNaoFiscais Lib "Daruma32.dll" (ByVal NumeroOperacoes As String) As Integer
Public Declare Function Daruma_FI_DataHoraImpressora Lib "Daruma32.dll" (ByVal Data As String, ByVal Hora As String) As Integer
Public Declare Function Daruma_FI_DataHoraReducao Lib "Daruma32.dll" (ByVal Data As String, ByVal Hora As String) As Integer
Public Declare Function Daruma_FI_DataMovimento Lib "Daruma32.dll" (ByVal Data As String) As Integer
Public Declare Function Daruma_FI_ContadoresTotalizadoresNaoFiscais Lib "Daruma32.dll" (ByVal Contadores As String) As Integer

'Metodos Totalizadores Gerais
Public Declare Function Daruma_FI_GrandeTotal Lib "Daruma32.dll" (ByVal GrandeTotal As String) As Integer
Public Declare Function Daruma_FI_Descontos Lib "Daruma32.dll" (ByVal ValorDescontos As String) As Integer
Public Declare Function Daruma_FI_Acrescimos Lib "Daruma32.dll" (ByVal ValorAcrescimos As String) As Integer
Public Declare Function Daruma_FI_Cancelamentos Lib "Daruma32.dll" (ByVal ValorCancelamentos As String) As Integer
Public Declare Function Daruma_FI_DadosUltimaReducao Lib "Daruma32.dll" (ByVal DadosReducao As String) As Integer
Public Declare Function Daruma_FI_SubTotal Lib "Daruma32.dll" (ByVal SubTotal As String) As Integer
Public Declare Function Daruma_FI_RetornoAliquotas Lib "Daruma32.dll" (ByVal cAliquotas As String) As Integer
Public Declare Function Daruma_FI_ValorPagoUltimoCupom Lib "Daruma32.dll" (ByVal ValorCupom As String) As Integer
Public Declare Function Daruma_FI_ValorFormaPagamento Lib "Daruma32.dll" (ByVal FormaPagamento As String, ByVal ValorForma As String) As Integer
Public Declare Function Daruma_FI_ValorTotalizadorNaoFiscal Lib "Daruma32.dll" (ByVal Totalizador As String, ByVal ValorTotalizador As String) As Integer
Public Declare Function Daruma_FI_UltimoItemVendido Lib "Daruma32.dll" (ByVal NumeroItem As String) As Integer
Public Declare Function Daruma_FI_UltimaFormaPagamento Lib "Daruma32.dll" (ByVal FormaPagamento As String, ByVal ValorForma As String) As Integer
Public Declare Function Daruma_FI_TipoUltimoDocumento Lib "Daruma32.dll" (ByVal TipoUltimoDoc As String) As Integer

'Metodos Relatorios Fiscais e Relatorios
Public Declare Function Daruma_FI_MapaResumo Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_FI_RelatorioTipo60Analitico Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_FI_RelatorioTipo60Mestre Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_FI_FlagsFiscais Lib "Daruma32.dll" (ByRef Flag As Integer) As Integer
Public Declare Function Daruma_FI_PalavraStatus Lib "Daruma32.dll" (ByVal PalavraStatus As String) As Integer
Public Declare Function Daruma_FI_PalavraStatusBinario Lib "Daruma32.dll" (ByVal PalavraStatusBinario As String) As Integer
Public Declare Function Daruma_FI_SimboloMoeda Lib "Daruma32.dll" (ByVal SimboloMoeda As String) As Integer
Public Declare Function Daruma_FI_RetornoImpressora Lib "Daruma32.dll" (ByRef ACK As Integer, ByRef ST1 As Integer, ByRef ST2 As Integer) As Integer
Public Declare Function Daruma_FI_RetornaErroExtendido Lib "Daruma32.dll" (ByVal ErroExtendido As String) As Integer
Public Declare Function Daruma_FI_RetornaAcrescimoNF Lib "Daruma32.dll" (ByVal AcrescimoNF As String) As Integer
Public Declare Function Daruma_FI_RetornaCFCancelados Lib "Daruma32.dll" (ByVal CNCancelados As String) As Integer
Public Declare Function Daruma_FI_RetornaCNFCancelados Lib "Daruma32.dll" (ByVal CNFCancelados As String) As Integer
Public Declare Function Daruma_FI_RetornaCLX Lib "Daruma32.dll" (ByVal RetornaCLX As String) As Integer
Public Declare Function Daruma_FI_RetornaCNFNV Lib "Daruma32.dll" (ByVal RetornaCNFNV As String) As Integer
Public Declare Function Daruma_FI_RetornaCNFV Lib "Daruma32.dll" (ByVal RetornaCNFV As String) As Integer
Public Declare Function Daruma_FI_RetornaCRO Lib "Daruma32.dll" (ByVal RetornaCRO As String) As Integer
Public Declare Function Daruma_FI_RetornaCRZ Lib "Daruma32.dll" (ByVal RetornaCRZ As String) As Integer
Public Declare Function Daruma_FI_RetornaCRZRestante Lib "Daruma32.dll" (ByVal RetornaCRZRestante As String) As Integer
Public Declare Function Daruma_FI_RetornaCancelamentoNF Lib "Daruma32.dll" (ByVal CancelamentoNF As String) As Integer
Public Declare Function Daruma_FI_RetornaDescontoNF Lib "Daruma32.dll" (ByVal DescontoNF As String) As Integer
Public Declare Function Daruma_FI_RetornaGNF Lib "Daruma32.dll" (ByVal RetornaGNF As String) As Integer
Public Declare Function Daruma_FI_RetornaTempoImprimindo Lib "Daruma32.dll" (ByVal TempoImprimindo As String) As Integer
Public Declare Function Daruma_FI_RetornaTempoLigado Lib "Daruma32.dll" (ByVal TempoLigado As String) As Integer
Public Declare Function Daruma_FI_RetornaTotalPagamentos Lib "Daruma32.dll" (ByVal TotalPagamentos As String) As Integer
Public Declare Function Daruma_FI_RetornaTroco Lib "Daruma32.dll" (ByVal Troco As String) As Integer
Public Declare Function Daruma_FI_RetornaValorComprovanteNaoFiscal Lib "Daruma32.dll" (ByVal IndiceRegistrCNF As String, ByVal Ref_Valor As String) As Integer
Public Declare Function Daruma_FI_RetornaIndiceComprovanteNaoFiscal Lib "Daruma32.dll" (ByVal DescricaoRegistrCNF As String, ByVal Ref_Indice As String) As Integer
Public Declare Function Daruma_FI_RetornaRegistradoresNaoFiscais Lib "Daruma32.dll" (ByVal RegistrNaoFiscais As String) As Integer
Public Declare Function Daruma_FI_RetornaRegistradoresFiscais Lib "Daruma32.dll" (ByVal RegistradoresFiscais As String) As Integer

'Metodos TEF
Public Declare Function Daruma_TEF_EsperarArquivo Lib "Daruma32.dll" (ByVal PathArquivo As String, ByVal Tempo As String, ByVal Travar As String) As Integer
Public Declare Function Daruma_TEF_ImprimirResposta Lib "Daruma32.dll" (ByVal PathArquivo As String, ByVal Forma As String, ByVal Travar As String) As Integer
Public Declare Function Daruma_TEF_ImprimirRespostaCartao Lib "Daruma32.dll" (ByVal PathArquivo As String, ByVal Forma As String, ByVal Travar As String, ByVal ValorPagamento As String) As Integer
Public Declare Function Daruma_TEF_FechaRelatorio Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_TEF_SetFocus Lib "Daruma32.dll" (ByVal TituloJanela As String) As Integer
Public Declare Function Daruma_TEF_TravarTeclado Lib "Daruma32.dll" (ByVal Travar As String) As Integer

'**********************************************************************************************************************'
' '
' FS2000 '
' '
'**********************************************************************************************************************'

'Metodos exclusivos
Public Declare Function Daruma_Registry_FS2000_CupomAdicional Lib "Daruma32.dll" (ByVal CupomAdicional As String) As Integer
Public Declare Function Daruma_Registry_FS2000_TempoEsperaCheque Lib "Daruma32.dll" (ByVal TempodeEspera As String) As Integer
Public Declare Function Daruma_FI2000_DescontoSobreItemVendido Lib "Daruma32.dll" (ByVal NumeroItem As String, ByVal TipoDesconto As String, ByVal ValorDesconto As String) As Integer
Public Declare Function Daruma_FI2000_AcrescimosICMSISS Lib "Daruma32.dll" (ByVal AcrescICMS As String, ByVal AcrescISS As String) As Integer
Public Declare Function Daruma_FI2000_CancelamentosICMSISS Lib "Daruma32.dll" (ByVal CancelICMS As String, ByVal CancelISS As String) As Integer
Public Declare Function Daruma_FI2000_DescontosICMSISS Lib "Daruma32.dll" (ByVal DescICMS As String, ByVal DescISS As String) As Integer
Public Declare Function Daruma_FI2000_LeituraInformacaoUltimosCNF Lib "Daruma32.dll" (ByVal UltimosCNF As String) As Integer
Public Declare Function Daruma_FI2000_LeituraInformacaoUltimoDoc Lib "Daruma32.dll" (ByVal TipoUltimoDoc As String, ByVal ValorUltimoDoc As String) As Integer
Public Declare Function Daruma_FI2000_VerificaRelatorioGerencial Lib "Daruma32.dll" (ByVal Gerencial As String) As Integer
Public Declare Function Daruma_FI2000_CriaRelatorioGerencial Lib "Daruma32.dll" (ByVal NomeGerencial As String) As Integer
Public Declare Function Daruma_FI2000_AbreRelatorioGerencial Lib "Daruma32.dll" (ByVal Indice As String) As Integer
Public Declare Function Daruma_FI2000_CancelamentoCNFV Lib "Daruma32.dll" (ByVal COO_CNFV As String) As Integer
Public Declare Function Daruma_FI2000_SegundaViaCNFVinculado Lib "Daruma32.dll" () As Integer

'Metodos para cheques
Public Declare Function Daruma_FI2000_StatusCheque Lib "Daruma32.dll" (ByVal StatusCheque As String) As Integer
Public Declare Function Daruma_FI2000_ImprimirCheque Lib "Daruma32.dll" (ByVal Banco As String, ByVal Cidade As String, ByVal Data As String, ByVal Favorecido As String, ByVal Valor As String, ByVal PosicaoCheque As String) As Integer
Public Declare Function Daruma_FI2000_ImprimirVersoCheque Lib "Daruma32.dll" (ByVal VersoCheque As String) As Integer
Public Declare Function Daruma_FI2000_LiberarCheque Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_FI2000_LeituraCodigoMICR Lib "Daruma32.dll" (ByVal CodigoMICR As String) As Integer
Public Declare Function Daruma_FI2000_CancelarCheque Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_FI2000_LeituraTabelaCheque Lib "Daruma32.dll" (ByVal TabelaCheque As String) As Integer
Public Declare Function Daruma_FI2000_CarregarCheque Lib "Daruma32.dll" (ByVal NumeroBanco As String) As Integer
Public Declare Function Daruma_FI2000_CorrigirGeometriaCheque Lib "Daruma32.dll" (ByVal NumeroBanco As String, ByVal GeometriaCheque As String) As Integer

'*********************************************************************************************************************'
' '
' TA1000 '
' '
'*********************************************************************************************************************'

'Metodos para Registry
Public Declare Function Daruma_Registry_TA1000_Porta Lib "Daruma32.dll" (ByVal Porta As String) As Integer
Public Declare Function Daruma_Registry_TA1000_PathProdutos Lib "Daruma32.dll" (ByVal PathProdutos As String) As Integer
Public Declare Function Daruma_Registry_TA1000_PathUsuarios Lib "Daruma32.dll" (ByVal PathUsuarios As String) As Integer
Public Declare Function Daruma_Registry_TA1000_NumeroItensEnviados Lib "Daruma32.dll" (ByVal NumeroItensEnviados As String) As Integer
Public Declare Function Daruma_Registry_TA1000_PathRelatorios Lib "Daruma32.dll" (ByVal PathRelatorios As String) As Integer

'Metodos para Produtos
Public Declare Function Daruma_TA1000_CadastrarProdutos Lib "Daruma32.dll" (ByVal Descricao As String, ByVal Codigo As String, ByVal DecimaisPreco As String, ByVal DecimaisQuantidade As String, ByVal Preco As String, ByVal DescontoAcrescimo As String, ByVal ValorDescontoAcrescimo As String, ByVal UnidadeMedida As String, ByVal Aliquota As String, ByVal ProximoProduto As String, ByVal ProdutoAnterior As String, ByVal Estoque As String) As Integer
Public Declare Function Daruma_TA1000_ConsultarProdutos Lib "Daruma32.dll" (ByVal Descricao As String, ByVal Codigo As String, ByVal DecimaisPreco As String, ByVal DecimaisQuantidade As String, ByVal Preco As String, ByVal DescontoAcrescimo As String, ByVal ValorDescontoAcrescimo As String, ByVal UnidadeMedida As String, ByVal Aliquota As String, ByVal ProximoProduto As String, ByVal ProdutoAnterior As String, ByVal Estoque As String) As Integer
Public Declare Function Daruma_TA1000_AlterarProdutos Lib "Daruma32.dll" (ByVal Codigo_Consultar As String, ByVal Descricao As String, ByVal Codigo As String, ByVal DecimaisPreco As String, ByVal DecimaisQuantidade As String, ByVal Preco As String, ByVal DescontoAcrescimo As String, ByVal ValorDescontoAcrescimo As String, ByVal UnidadeMedida As String, ByVal Aliquota As String, ByVal ProximoProduto As String, ByVal ProdutoAnterior As String, ByVal Estoque As String) As Integer
Public Declare Function Daruma_TA1000_EliminarProdutos Lib "Daruma32.dll" (ByVal Codigo As String) As Integer
Public Declare Function Daruma_TA1000_EnviarBancoProdutos Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_TA1000_ReceberBancoProdutos Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_TA1000_ReceberProdutosVendidos Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_TA1000_ZerarProdutos Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_TA1000_ZerarProdutosVendidos Lib "Daruma32.dll" () As Integer

'Metodos para Usuarios
Public Declare Function Daruma_TA1000_EnviarBancoUsuarios Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_TA1000_ReceberBancoUsuarios Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_TA1000_ZerarUsuarios Lib "Daruma32.dll" () As Integer
Public Declare Function Daruma_TA1000_CadastrarUsuarios Lib "Daruma32.dll" (ByVal Nome As String, ByVal CPF As String, ByVal CodigoConvenio As String, ByVal CodigoUsuario As String, ByVal UsuarioAnterior As String, ByVal ProximoUsuario As String) As Integer
Public Declare Function Daruma_TA1000_ConsultarUsuarios Lib "Daruma32.dll" (ByVal Codigo_Consultar As String, ByVal Nome As String, ByVal CPF As String, ByVal CodigoConvenio As String, ByVal CodigoUsuario As String, ByVal UsuarioAnterior As String, ByVal ProximoUsuario As String) As Integer
Public Declare Function Daruma_TA1000_AlterarUsuarios Lib "Daruma32.dll" (ByVal Codigo_Consultar As String, ByVal Nome As String, ByVal CPF As String, ByVal CodigoConvenio As String, ByVal CodigoUsuario As String, ByVal UsuarioAnterior As String, ByVal ProximoUsuario As String) As Integer
Public Declare Function Daruma_TA1000_EliminarUsuarios Lib "Daruma32.dll" (ByVal Codigo As String) As Integer
Public Declare Function Daruma_TA1000_LeStatusTransferencia Lib "Daruma32.dll" () As Integer

'*********************************************************************************************************************'
' '
' DUAL '
' '
'*********************************************************************************************************************'

'Metodos para Registry
Public Declare Function Daruma_Registry_DUAL_Enter Lib "Daruma32.dll" (ByVal Enter As String) As Integer
Public Declare Function Daruma_Registry_DUAL_Espera Lib "Daruma32.dll" (ByVal Espera As String) As Integer
Public Declare Function Daruma_Registry_DUAL_ModoEscrita Lib "Daruma32.dll" (ByVal ModoEscrita As String) As Integer
Public Declare Function Daruma_Registry_DUAL_Porta Lib "Daruma32.dll" (ByVal Porta As String) As Integer
Public Declare Function Daruma_Registry_DUAL_Tabulacao Lib "Daruma32.dll" (ByVal Tabulacao As String) As Integer

'Metodos para Status
Public Declare Function Daruma_DUAL_VerificaStatus Lib "Daruma32.dll" () As Integer 'Verificar Status
Public Declare Function Daruma_DUAL_VerificaDocumento Lib "Daruma32.dll" () As Integer 'Verifica Documento

'Metodos para Autenticacao a Impressao
Public Declare Function Daruma_DUAL_ImprimirTexto Lib "Daruma32.dll" (ByVal TextoLivre As String, ByVal TamanhoTexto As Integer) As Integer 'Imprimir Texto Livre
Public Declare Function Daruma_DUAL_Autenticar Lib "Daruma32.dll" (ByVal NumVias As String, ByVal Texto As String, ByVal TempoAguardar As String) As Integer 'Autenticar
Public Declare Function Daruma_DUAL_AcionaGaveta Lib "Daruma32.dll" () As Integer 'AcionaGaveta

'Declaracoes globais
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

' Funcoes globais
Public Function Daruma_MostrarRetorno()
Int_Ack = 0
Int_St1 = 0
Int_St2 = 0
Daruma_FI_RetornoImpressora Int_Ack, Int_St1, Int_St2

Str_ErroExtendido = Space(4)
Daruma_FI_RetornaErroExtendido Str_ErroExtendido

MsgBox "Retorno do Metodo = " + CStr(Int_Retorno) + Chr(13) + Chr(10) _
+ "Ack = " + CStr(Int_Ack) + Chr(13) + Chr(10) _
+ "St1 = " + CStr(Int_St1) + Chr(13) + Chr(10) _
+ "St2 = " + CStr(Int_St2) + Chr(13) + Chr(10) _
+ "Erro Extendido = " + Str_ErroExtendido, , "Daruma Framework Retorno do Metodo"

End Function

'Retornos da DUAL
Public Function Retorno_DUAL()

If Int_Retorno = 1 Then
MsgBox "1(um) - Impressora OK!", vbInformation, "Daruma Framework"
End If
If Int_Retorno = -50 Then
MsgBox "-50 - Impressora OFF-LINE!", vbCritical, "Daruma Framework"
End If
If Int_Retorno = -51 Then
MsgBox "-51 - Impressora Sem Papel!", vbCritical, "Daruma Framework"
End If
If Int_Retorno = -27 Then
MsgBox "-27 - Erro Generico!", vbCritical, "Daruma Framework"
End If
If Int_Retorno = 0 Then
MsgBox "0 - Impressora Desligada!", vbCritical, "Daruma Framework"
End If
End Function

'Retornos do TA1000
Public Function Retorno_TA1000()

If Int_Retorno = 1 Then
MsgBox "1(um) - Metodo Executado com Sucesso!", vbInformation, "Daruma Framework"
Else
MsgBox CStr(Int_Retorno) + " Erro Generico!", vbCritical, "Daruma Framework"
End If
End Function


Possíveis valores retornados no RET

Retornos

Top

· Retornos:
1: Ok método enviado com sucesso.
-1: Erro de comunicação.
-2: Parâmetro inválido passado no método.
-3: Alíquota não programada no ECF.
-4: A Chave ou Valor no Registry Não foi encontrado.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-24:Forma de pagamento não programada.
-25:Totalizador Não Fiscal Não Programado.
-27: A Função Executou o Comando porém o ECF sinalizou Erro, chame a DARUMA_FIR_RETORNOIMPRESSORA para identificar o Erro.
-28: Time-Out, o Tempo esgotou e o Arquivo não foiu encontrado no Path passado como Parâmetro
-31: Forma de pagamento não finalizada.