Palavra de Status na DarumaFramework.dll
Olá pessoal,
No exemplo da imagem acima foi aberto um Cupom Fiscal e em seguida chamado o método para capturar a Flag Fiscal, que retornou 33, onde 33 é a somatória de: S4 1 = Já emitiu RZ não pendente hoje b2 0 = Não há RZ pendente ? 4 1 = RZ do dia anterior pendente b1 0 = Near End não detectado ? 2 1 = Near End detectado
b0 0 = Bobina de papel presente ? 1 1 = Bobina de papel ausente
Veja que 10 é a soma de 2+8... J Confira a tabela para visualizar todas as informações de retornos: Link Mas não para por ai, está função retorna o status binário de 18 informações muito uteis em relação ao ECF. Seu parâmetro é: pszStatus 18 Variável por referência que ira receber 18 dígitos. Link [DllImport("DarumaFrameWork.dll")]
{ string Str_StatusBin = new string(' ', 20); DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.rStatusImpressoraBinario_ECF_Daruma(ref Str_StatusBin); DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.DarumaFramework_Mostrar_Retorno(DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno);
TB_Retorno.Text = "Status Binário da Impressora: " + Str_StatusBin.ToString(); }
Delphi:
VB6: Private Sub botao_Click() Dim Int_Status As Integer
Int_Status = Space(18) iRetorno = rStatusImpressoraBinario_ECF_Daruma(Int_Status) MsgBox(CStr(Int_Status))
Sintaxe: [GS] [ACK] Parâmetros: Nenhum Resposta: S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 [DDMMAA] [CR] Nota: Em modo Resposta Estendida, a palavra de status é acrescida de 6 dígitos, correspondentes a Data do Movimento
iIndice 2 Índice da Informação desejada public static extern int rConsultaStatusImpressoraInt_ECF_Daruma(int iIndice, ref int IStatus);
{ int Int_Valor = 0; string Str_Indice = Microsoft.VisualBasic.Interaction.InputBox("Informe o Índice desejado:", "Daruma Framework", "1", posX, posY);
DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp. rConsultaStatusImpressoraInt_ECF_Daruma(Convert.ToInt32(Str_Indice), ref Int_Valor); MessageBox.Show("Status = " + Int_Valor.ToString()); } Temos também a opção de passar o Índice e Obtermos a informação em texto do status da impressora referente ao índice informado. Com nossa ultima função de hoje que é: rConsultaStatusImpressoraStr_ECF_Daruma.
Seus parâmetros são: iIndice 2 Índice da Informação desejada C# public static extern int rConsultaStatusImpressoraStr_ECF_Daruma(int iIndice, [MarshalAs(UnmanagedType.VBByRefStr)] ref string StrStatus); [DllImport("DarumaFrameWork.dll")] private void métodoRConsultaStatusImpressoraStrECFDarumaToolStripMenuItem_Click( object sender, EventArgs e) { string Str_Valor = new string(' ', 60); string Str_Indice = Microsoft.VisualBasic.Interaction.InputBox("Informe o Índice desejado:", "Daruma Framework", "1");
DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp. rConsultaStatusImpressoraStr_ECF_Daruma(Convert.ToInt32(Str_Indice), ref Str_Valor);
MessageBox.Show("Status = " + Str_Valor); }
SetLength (Str_Informacao,150); Int_Retorno := rConsultaStatusImpressoraStr_ECF_Daruma(1, Str_Informacao);
VB6: Dim Str_Indice, Str_Retorno As String
Str_Indice = TB_Indice.Text
Str_Indice = Space(2) iRetorno = rConsultaStatusImpressoraStr_ECF_Daruma(Str_Indice, Str_Retorno) MsgBox (Str_Retorno) End Sub
Comunicação Direta:
Sintaxe: [GS] [ACK] Parâmetros: Nenhum Resposta: S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 [DDMMAA] [CR] Nota: Em modo Resposta Estendida, a palavra de status é acrescida de 6 dígitos, correspondentes a Data do Movimento.
Ai vai mais uma dica para facilitar seu desenvolvimento!
|
Sign up to our newsletter
Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.
Related articles
Indentificando consumidor no inicio ou no final do cupom fiscal.
Passagem de CPF em qualquer momento do cupom fiscal.