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

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

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.

Olá pessoal,

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.

 

Vamosconhecer 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 a

regRetornaValorChave_DarumaFramework e aregAlterarValor_Daruma.

Leitura:
Para obtermos valores do XML utilizaremos a função: regRetornaValorChave_DarumaFramework.

Este método retorna o valor de uma chave do registry/XML.

Parâmetros 

Produto : Nome do produto.
Chave : Nome da Chave 
Valor : Variável String por referência com 100 espaços alocados para que possa retornar na variável o valor da Chave que você deseja.


C#:

 [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);
           
        }

 

DELPHI:

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);

VB6:

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


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

 


Alteração:

Veremos agora como fazer a alteração de uma chave no XML com a função 
regAlterarValor_Daruma:

 

Parâmetros:

Chave: Produto e Chave a serem modificados (Ex.:
ECF\ModoPreVenda).
Valor: Novo valor para a Chave



C#
 

[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");
}

 

 

 

DELPHI:

 

function regAlterarValor_Daruma(pszPathChave:string,pszValor:string):Integer; StdCall; External 'DarumaFramework.dll';

Int_Retorno:=regAlterarValor_Daruma(‘ECF\ModoPreVenda','1');



 

VB6:

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

 

//Nos exemplos acimaalteramos 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 esterecurso, 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ídopor 3 funções:

·       rStatusUltimoCmdInt_ECF_Darum

·       eInterpretarErro_ECF_Daruma

·       eInterpretarAviso_ECF_Daruma

 

Vejao exemplo prático:

 

C#

        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)));

            }
   }

 

VB6

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

 

Delphi:

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;

 

end;

 

Um abraço!

 

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?