Impressora Bematech
Alguém tem algum modelo de como imprimir em impressora Bematech não fiscal?
Amilton/pr
Curtidas 0
Respostas
Pauloroger
20/10/2006
procedure TForm_Recebimentos.EmiteCupom;
var
PortaRecibo : string;
Impressora : TextFile;
ArqIni : TIniFile;
begin
//Impressão de cupom em Impressora de 40 Colunas
//Le o arquivo INI
ArqIni := TIniFile.Create(ExtractFilePath(Paramstr(0))+FileName);
PortaRecibo := ArqIni.ReadString(´WCaixa´, ´PortaRecibo´, ´´);
//abre porta para Impr. 40 colunas Epson
IniciaPorta(PortaRecibo);
FormataTX(´IniciaFita´);
//Pega Porta Com1, LPT1 conforme Conexao.ini
AssignFile(Impressora, PortaRecibo);
//AssignFile(Impressora, ´LPT1:´);
//Abre a Porta da Impressora
Rewrite(Impressora);
Write(Impressora);
Writeln(Impressora, Format(´¬40s´,[´x´]));
Writeln(Impressora);//salta linha
Writeln(Impressora);//salta linha
Writeln(Impressora);//salta linha
Writeln(Impressora, #2715 + ´CMSP..:´);
//Imprime a string Diretoria Financeira alinhado a esquerda dentro de 40 caracteres
Write(Impressora, Format(´¬38s´,[´ **** Circulo Militar de Sao Paulo ****´]));
Writeln(Impressora);//salta linha
Write(Impressora, Format(´¬26s´,[´ * TESOURARIA *´]));
Writeln(Impressora);//salta linha
Write(Impressora, Format(´-¬30s´,[´ CNPJ: 61.916.763/0001-71´]));
Writeln(Impressora);//salta linha
Write(Impressora, Format(´¬-40s´,[´----------------------------------------´]));
Writeln(Impressora);//salta linha
Write(Impressora, Format(´¬28s´,[´--* RECIBO N. ´ + IntToStr(DM.SP_NOVO_ID_RECE.ParamByName(´ID´).AsInteger) + ´ *--´]));
Writeln(Impressora);//salta linha
Writeln(Impressora);//salta linha
Write(Impressora, Format(´¬-40s´,[´GRUPO : ´ + ComboGrupos.Text ]));
Writeln(Impressora);//salta linha
Write(Impressora, Format(´¬-40s´,[´DATA/HORA : ´ + DateToStr(Date) + ´ - ´ + TimeToStr(Time)]));
Writeln(Impressora);//salta linha
Write(Impressora, Format(´¬-40s´,[´OPERADOR : ´ + Form_Usuario.Edit1.Text + ´ - N. ´ + IntToStr(DM.CDS_AcessoID.Value) ]));
Writeln(Impressora);//salta linha
Write(Impressora, Format(´¬-40s´,[´FORMA : ´ + ComboFormaPagto.Text ]));
Writeln(Impressora);//salta linha
Write(Impressora, Format(´¬-40s´,[´TAXA : ´ + RxDBLookupList1.DisplayValue + ´ - Cod. ´ + RxDBLookupList1.KeyValue]));
Writeln(Impressora);//salta linha
Write(Impressora, Format(´¬-40s´,[´VALOR R$ : ´ + FormatFloat(´#,0.00´, CurrencyEdit_Total.Value)]));
Writeln(Impressora);//salta linha
Write(Impressora, Format(´¬-40s´,[´----------------------------------------´]));
Writeln(Impressora);//salta linha
Write(Impressora, Format(´¬-40s´,[´OBS. : ´ + Edt_Obs.Text ]));
Writeln(Impressora);//salta linha
Writeln(Impressora);//salta linha
Writeln(Impressora);//salta linha
Write(Impressora, Format(´¬-40s´,[´D.S.I.´ ]));
Writeln(Impressora);//salta linha
Writeln(Impressora);//salta linha
//Fecha Saida para Impressão
System.Close(Impressora);
end;
Obs. eu leio um arquivo INI para veriricar a porta da impressora.
var
PortaRecibo : string;
Impressora : TextFile;
ArqIni : TIniFile;
begin
//Impressão de cupom em Impressora de 40 Colunas
//Le o arquivo INI
ArqIni := TIniFile.Create(ExtractFilePath(Paramstr(0))+FileName);
PortaRecibo := ArqIni.ReadString(´WCaixa´, ´PortaRecibo´, ´´);
//abre porta para Impr. 40 colunas Epson
IniciaPorta(PortaRecibo);
FormataTX(´IniciaFita´);
//Pega Porta Com1, LPT1 conforme Conexao.ini
AssignFile(Impressora, PortaRecibo);
//AssignFile(Impressora, ´LPT1:´);
//Abre a Porta da Impressora
Rewrite(Impressora);
Write(Impressora);
Writeln(Impressora, Format(´¬40s´,[´x´]));
Writeln(Impressora);//salta linha
Writeln(Impressora);//salta linha
Writeln(Impressora);//salta linha
Writeln(Impressora, #2715 + ´CMSP..:´);
//Imprime a string Diretoria Financeira alinhado a esquerda dentro de 40 caracteres
Write(Impressora, Format(´¬38s´,[´ **** Circulo Militar de Sao Paulo ****´]));
Writeln(Impressora);//salta linha
Write(Impressora, Format(´¬26s´,[´ * TESOURARIA *´]));
Writeln(Impressora);//salta linha
Write(Impressora, Format(´-¬30s´,[´ CNPJ: 61.916.763/0001-71´]));
Writeln(Impressora);//salta linha
Write(Impressora, Format(´¬-40s´,[´----------------------------------------´]));
Writeln(Impressora);//salta linha
Write(Impressora, Format(´¬28s´,[´--* RECIBO N. ´ + IntToStr(DM.SP_NOVO_ID_RECE.ParamByName(´ID´).AsInteger) + ´ *--´]));
Writeln(Impressora);//salta linha
Writeln(Impressora);//salta linha
Write(Impressora, Format(´¬-40s´,[´GRUPO : ´ + ComboGrupos.Text ]));
Writeln(Impressora);//salta linha
Write(Impressora, Format(´¬-40s´,[´DATA/HORA : ´ + DateToStr(Date) + ´ - ´ + TimeToStr(Time)]));
Writeln(Impressora);//salta linha
Write(Impressora, Format(´¬-40s´,[´OPERADOR : ´ + Form_Usuario.Edit1.Text + ´ - N. ´ + IntToStr(DM.CDS_AcessoID.Value) ]));
Writeln(Impressora);//salta linha
Write(Impressora, Format(´¬-40s´,[´FORMA : ´ + ComboFormaPagto.Text ]));
Writeln(Impressora);//salta linha
Write(Impressora, Format(´¬-40s´,[´TAXA : ´ + RxDBLookupList1.DisplayValue + ´ - Cod. ´ + RxDBLookupList1.KeyValue]));
Writeln(Impressora);//salta linha
Write(Impressora, Format(´¬-40s´,[´VALOR R$ : ´ + FormatFloat(´#,0.00´, CurrencyEdit_Total.Value)]));
Writeln(Impressora);//salta linha
Write(Impressora, Format(´¬-40s´,[´----------------------------------------´]));
Writeln(Impressora);//salta linha
Write(Impressora, Format(´¬-40s´,[´OBS. : ´ + Edt_Obs.Text ]));
Writeln(Impressora);//salta linha
Writeln(Impressora);//salta linha
Writeln(Impressora);//salta linha
Write(Impressora, Format(´¬-40s´,[´D.S.I.´ ]));
Writeln(Impressora);//salta linha
Writeln(Impressora);//salta linha
//Fecha Saida para Impressão
System.Close(Impressora);
end;
Obs. eu leio um arquivo INI para veriricar a porta da impressora.
GOSTEI 0
Poeta Noturno
20/10/2006
Oi colega,
No próprio site da bematech você encontra um exemplo desenvolvido em delphi 5, que não requer alteração nenhuma para ser aberto no delphi 7, que demonstra todas as funções da bematech não fiscal.
Dê uma olhadinha...
Abraço
Poeta Noturno
No próprio site da bematech você encontra um exemplo desenvolvido em delphi 5, que não requer alteração nenhuma para ser aberto no delphi 7, que demonstra todas as funções da bematech não fiscal.
Dê uma olhadinha...
Abraço
Poeta Noturno
GOSTEI 0
Amilton/pr
20/10/2006
pauloroger . . . onde estão as funções/procedures que vc usou no seu exemplo,e, como é o arquivo .ini que vc le pra verificar a porta da impressora. . . .os dados da impressão não deveriam vir da própria tabela? . . . pq recebe num arquivo .ini?
Obrigado pela atenção . . .
Obrigado pela atenção . . .
GOSTEI 0
Pauloroger
20/10/2006
este é meu arquivo de nome conexao.ini
[wcaixa]
DriverName=UIB FireBird15
BlobSize=-1
CommitRetain=False
Database=192.168.0.200:C:\DADOS\WCAIXA.FDB
ErrorResourceFile=
LocaleCode=0000
Password=masterkey
RoleName=RoleName
ServerCharSet=
SQLDialect=3
Interbase TransIsolation=ReadCommited
User_Name=SYSDBA
WaitOnLocks=True
Skin=Paulo.skn
PortaRecibo=LPT1:
[wcaixa]
DriverName=UIB FireBird15
BlobSize=-1
CommitRetain=False
Database=192.168.0.200:C:\DADOS\WCAIXA.FDB
ErrorResourceFile=
LocaleCode=0000
Password=masterkey
RoleName=RoleName
ServerCharSet=
SQLDialect=3
Interbase TransIsolation=ReadCommited
User_Name=SYSDBA
WaitOnLocks=True
Skin=Paulo.skn
PortaRecibo=LPT1:
GOSTEI 0