XML com Modo Pré-Venda e Tratamento de Retornos: DarumaFramework

Neste artigo veja 3 destaques nos recursos da DarumaFramework.dll. A DarumaFramework.dll é uma DLL de alto nível, que foi desenvolvida com o propósito de trazer facilidades em um desenvolvimento rápido e fácil, com nossos produtos.

Neste artigo veja 3 destaques nos recursos da DarumaFramework.dll. A DarumaFramework.dll é uma DLL de alto nível, que foi desenvolvida com o propósito de trazer facilidades em um desenvolvimento rápido e fácil, com nossos produtos.Vamos conhecer estes recursos:

1º Recurso: O XML

Este XML substitui a funcionalidade de armazenar informações ou “bits” nos registros do sistema operacional. Disponibilizando desta forma a facilidade do acesso a estas mesmas informações e na alteração da mesma, em tempo real de execução.

O DarumaFramework.XML pode ser manipulado e lido sem que seja necessário a criação de rotinas na aplicação para isto, e este procedimento é feito com apenas duas funções aregRetornaValorChave_DarumaFramework e aregAlterarValor_Daruma.

[DllImport("DarumaFrameWork.dll")]         public static extern int regRetornaValorChave_DarumaFramework(string sProduto, string sChave, [MarshalAs(UnmanagedType.VBByRefStr)] ref string szRetorno);   private void métodoRegRetornaValorECFDarumaToolStripMenuItem_Click(object sender, EventArgs  e)         {      string Str_Valor = new string(' ', 30); DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.regRetornaValorChave_DarumaFramework( "ECF", "ModoPreVenda", ref Str_Valor);                      }
C#
function regRetornaValorChave_Daruma(pszProduto:string;pszChave:string;pszValor:string):Integer;  StdCall; External 'DarumaFramework.dll';    Str_Valor := StringOFChar(#0,100); Int_Retorno := regRetornaValorChave_DarumaFramework(‘ECF’, ‘ModoPreVenda’, Str_Valor);
Delphi
Declare Function regRetornaValorChave_DarumaFramework Lib "DarumaFramework.dll" (ByVal sProduto As String, sChave As String, ByVal sValor As String) As Integer   Private Sub regRetornaValorChave_DarumaFramework_Click() Dim Str_Valor As String Str_Valor = Space(100)  iRetorno = regRetornaValorChave_DarumaFramework("ECF", "ModoPreVenda", Str_Valor)           MsgBox ("Valor da Chave = " + Str_Valor)  End Sub
VB6

Nos exemplos acima capturamos o valor da chave “ModoPreVenda”.

[DllImport("DarumaFrameWork.dll")] public static extern int regAlterarValor_Daruma(string pszChave, string pszValor); private void métodoRegAlterarValorECFDaruma_Click(object sender, EventArgs e) { DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.regAlterarValor_Daruma(“ECF\ModoPreVenda", "1"); }
C#
function regAlterarValor_Daruma(pszPathChave:string,pszValor:string):Integer; StdCall; External 'DarumaFramework.dll'; Int_Retorno:=regAlterarValor_Daruma(‘ECF\ModoPreVenda','1');
DELPHI
Public Declare Function regAlterarValor_Daruma Lib "DarumaFramework.dll" (ByVal sProduto_Chave As String, ByVal sValor As String) As Integer Private Sub regAlterarValor_ECF_Daruma_Click(Index As Integer) iRetorno = regAlterarValor_Daruma("ECF\ModoPreVenda", "1") End Sub
VB6

Nos exemplos acima alteramos o valor da chave ModoPreVenda, o que irá habilitar o modo de Pré-Venda (Venda Bufferizada).

2º Recurso: Modo Pré-Venda

O modo Pré-Venda é um recurso onde é possível efetuar toda a venda de itens armazenando em um buffer, para depois imprimir o Cupom Fiscal todo de uma só vez.

A DarumaFramework.dll disponibiliza este recurso, que está presente nas linhas de impressoras MACH. Já imaginou só? Imprimir um Cupom Fiscal de,por exemplo: 50 itens em 3 segundos?

E tudo isto, só habilitando a chave no XML.Localizada na sub chave, no produto.

3º Recurso: Tratamento de Retornos

Os mais de 230 métodos disponibilizados na DarumaFramework.dll possuem retornos,que indicam se a execução do método ocorreu com sucesso ou não, se tem algum aviso com relação à execução e ainda no caso de uma não execução nos indica o Erro,de uma maneira bem rápida e prática. Constituído por 3 funções: rStatusUltimoCmdInt_ECF_Darum, eInterpretarErro_ECF_Daruma e eInterpretarAviso_ECF_Daruma

Vejao exemplo prático:

private void métodoILeituraXECFDarumaToolStripMenuItem_Click(object sender, EventArgs e) { DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iLeituraX_ECF_Daruma(); int Int_NumErro = 0; int Int_NumAviso = 0; if (DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno == 1) { System.Windows.Forms.MessageBox.Show("Método executado com Sucesso!"); } else { StringBuilder Str_Msg_NumErro = new StringBuilder(300); StringBuilder Str_Msg_NumAviso = new StringBuilder(300); DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.rStatusUltimoCmdInt_ECF_Daruma (ref Int_NumErro, ref Int_NumAviso); DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.eInterpretarErro_ECF_Daruma (Int_NumErro, Str_Msg_NumErro); DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.eInterpretarAviso_ECF_Daruma (Int_NumAviso, Str_Msg_NumAviso); System.Windows.Forms.MessageBox.Show(Convert.ToString((Str_Msg_NumAviso))); System.Windows.Forms.MessageBox.Show(Convert.ToString((Str_Msg_NumErro))); } }
C#
Private Sub LeituraX_Click() Dim int_erro, int_aviso As Integer Dim str_erro, str_aviso As String str_erro = Space(100) str_aviso = Space(100) iRetorno = iLeituraX_ECF_Daruma If (iRetorno < 1) Then iRetorno = rStatusUltimoCmdInt_ECF_Daruma(int_erro, int_aviso) iRetorno = eInterpretarAviso_ECF_Daruma(int_aviso, str_aviso) iRetorno = eInterpretarErro_ECF_Daruma(int_erro, str_erro) MsgBox (CStr(str_erro) + CStr(str_aviso)) Else MsgBox ("Método executado com Sucesso") End If End Sub
VB6
procedure TLeituraXECFDaruma1Click( Sender: TObject); begin Int_Retorno:= iLeituraX_ECF_Daruma(); Int_NumErro:= 0; Int_NumAviso:= 0; Str_Msg_NumErro:=StringOFChar(' ',300); Str_Msg_NumAviso:=StringOFChar(' ',300); Str_Msg_RetMetodo:=StringOFChar(' ',300); Int_Retorno:=rStatusUltimoCMDInt_ECF_Daruma(Int_NumErro, Int_NumAviso); // Mensagem do erro Int_Retorno:=eInterpretarErro_ECF_Daruma(Int_NumErro, Str_Msg_NumErro); // Mensagem aviso Int_Retorno:=eInterpretarAviso_ECF_Daruma(Int_NumAviso, Str_Msg_NumAviso); Str_Erro:=Str_Msg_NumErro; Str_Aviso:=Str_Msg_NumAviso; Str_Msg_Retorno_Metodo:=Str_Msg_RetMetodo; Application.MessageBox( Pchar('Número Erro = ' + pchar(Str_Erro) + #13 + 'Número Aviso = ' + pchar(Str_Aviso)), 'DarumaFramework Retorno do Método', mb_ok); end;
Delphi
Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados