Emissao de cheques

01/02/2003

0

Ola pessoal,
Alguem teria/conhece algum componente para tratamento de porta serial ? Seria utilizado para emissao de cheques nessas maquinas especificas para isso, pela porta serial.
Agradeco alguma informacao,
Fabio


Anonymous

Anonymous

Responder

Posts

01/02/2003

Fern4ndø ßlek4ute

cara uma forma é vc verificar o modelo da maquina, depois baixar a dll no site do fabricante, geralmente ele vem com um exemplo de como utilizar a ddl ... o esquema e vc mandar a função para a dll e a maquina imprime tal campo .... mas existem outros metodos ....boa sorte cara


Responder

01/02/2003

Marfred

Qual é sual impressora de cheques ?


Responder

03/02/2003

Anonymous

Viste o site abaixo, tudo sobre cheques e como utilizar a porta serial.

Baixe o exemplo do componente Async32, o componente também pode ser baixado.

[url]www.veloso.kit.net[/url]


Responder

03/02/2003

Anonymous

A impressora é TSP. Porem o que estou precisando é uma forma geral de tratamento da porta serial, independente da impressora. Abrir, parametrizar, gravar, fechar, etc...

Fabio


Responder

03/02/2003

Anonymous

O estrutura de funcionamento do vaComm é a seguinte:
ABRIR A PORTA SERIAL:
Todo equipamento que será ligado a serial é internamente gravado os seguintes parâmetros: velocidade, paridade, databits, stopbits. Por sua vez estes parâmetros devem ser iguais na hora de configurar a porta serial do seu micro. Se sua impressora estiver configurada para trabalhar na velocidade de 2400 e você colocou na VaComm.baudrate = 9600, então não irá fazer a comunicação. Em resumo você primeiro deverá saber qual a configuração da balança: velocidade,paridade,databits e stobits.
A propriedade que identifica a porta é PortNum: 1 (com1) , 2 (com2), etc
Um exemplo:
VaComm1.PortNum:=1
VaComm1.BaudRate:=9600
VaComm1.Parity:=N
VaComm1.Databits:=8
VaComm1.StopBits:=2

Uma vez sabendo a configuração da balança coloque os valores nas propriedades do VaComm antes de executar o comando vaComm1.open:
if not vaComm1.active then vaComm.open;

ENVIAR OU RECEBER COMANDOS
Para enviar é mais fácil:

10 (corresponde ao LF ou seja Line Feed)
13 (corresponde ao CR ou Enter)
então, (#10 + 13) o efeito será um ENTER (pular para próxima linha)

Então o comando será:
variavel:=5 + 10 + 13 (tipo string)
if vaComm1.active then
vaComm1.WriteText(variavel);

Para fazer a leitura:
procedure VaComm1RxChar(Sender: TObject; Count: Integer);
begin
variavel:=variavel + vaComm1.ReadText;
end;

Obs: Este evento verifica se há dados na porta serial.

FECHAR A PORTA SERIAL
if vaComm1.active then Vacomm1.close;


Visite o site para baixar exemplos para Delphi 6:
[url]www.veloso.kit.net[/url]

viste o site para baixar exemplos para Delphi 5
[url]www.tecsimi.com.br/download/delphi45.zip[/url]


Responder

09/02/2003

Marfred

[quote:3f41436bf4=´Porta Serial´]A impressora é TSP. Porem o que estou precisando é uma forma geral de tratamento da porta serial, independente da impressora. Abrir, parametrizar, gravar, fechar, etc...

Fabio[/quote:3f41436bf4]

Kra estou com poblemas com essa impressora tbm... naum consigo imprimir nela... sai uns caracteres estranhos...

se conseguir, por favor me ajude.....


Responder

14/02/2003

Marfred

Preciso urgente saber como faço p/ imprimir certo nessa impressora
(TSP - Tecnologia - Modelo Slip 80)....

o q consigo imprimir são sóh uns caracteres estranhos....

Ex:

çxxxxçççcccxxxxxcxxxxxxxxxxçççxxxxxçccccccccçccccxxxxxxçççcxxxxxçxxxxçççcccxxxxxxxxxxxxxxçccccxxxxxxçççcxxxxxçxxxxçççcccxxxxxcxxxxxxxxxxçççxxxxxçccccccccçxxxxxxçççcxxxxx

Os procedimentos q jáh usei são os seguintes:

Procedimento 1

VAR I:INTEGER;
DATACHEQUE, BANCO, FAVORECIDO, CIDADE, TOTGE, X_DATA, LIN, FIMLINHA, TEXTO:STRING;
REL:TEXTFILE;
VALOR:DOUBLE;
begin
IF NOT(EDIT17.TEXT=´S´) AND NOT (EDIT17.TEXT=´N´) THEN
BEGIN
EDIT17.SETFOCUS;
EXIT;
END;
IF EDIT17.TEXT=´S´ THEN
BEGIN
VALOR:=1500; /// EXEMPLO DE VALOR R$1.500,00
PORTA:=´COM1´;
// TECLA:=INKEY();
// HA_PAPEL=.F.;
BANCO:=´311´;
DATACHEQUE:=´07/02/2003´;
FAVORECIDO:=´TESTE DE IMPRESSAO´;
CIDADE:=´RAFARD - SP´;
TOTGE:=FLOATTOSTR(VALOR*100);
TOTGE:=MI010101F.STRZERO(TOTGE,14);
X_DATA:=COPY(DATACHEQUE,1,2)+COPY(DATACHEQUE,4,2)+COPY(DATACHEQUE,9,2);
LIN:=CHR(27)+´b´+BANCO+CHR(27)+´f´+FAVORECIDO+´$´+CHR(27)+´c´+CIDADE+´$´+CHR(27)+´d´+X_DATA+CHR(27)+´v´+TOTGE+´$´;
FIMLINHA:=CHR(13)+CHR(10);
// (HANDLE:=FOPEN(PORTA,1));
// IF HANDLE<=0 THEN
// BEGIN
// APPLICATION.MESSAGEBOX(´Erro de abertura da Porta de Comunicação´,´ERRO´,mb_ok+mb_iconerror);
// EXIT;
// END;
TEXTO:=LIN;
TEXTO:=TEXTO+FIMLINHA;
ASSIGNFILE(REL,PORTA);
REWRITE(REL);
FOR I:=1 TO LENGTH(TEXTO) DO
BEGIN
LETRA:=COPY(TEXTO,I,1);
WRITE(REL,LETRA);
END;
CLOSEFILE(REL);
// FCLOSE(HANDLE);
LABEL11.CAPTION:=´Retire o Cheque e insira no verso. (S) Continua (N) Cancela´;
EDIT17.VISIBLE:=FALSE;
EDIT16.VISIBLE:=TRUE;
EDIT16.TEXT:=´S´;
EDIT16.SETFOCUS;
END;

=============================================

Procedimento 2

o mesmo do anterior apenas mudando os parametros da impressora q saum os chrs... (naum sei é a mesma coisa esses chrs com o procedimento acima)


LIN:=CHR(27)+chr(162)+BANCO+CHR(27)+chr(160)+FAVORECIDO+´$´+CHR(27)+chr(161)+CIDADE+´$´+CHR(27)+chr(164)+X_DATA+CHR(27)+chr(163)+TOTGE+´$´;

=============================================


Me ajudem gelera !!!!


Responder

14/02/2003

Anonymous

Eu já trabalhei com impressoras de cheques e nunca tive problemas. Os códigos a serem enviados são os mesmos que deveriam ser enviados para uma impressora paralela comum. A única diferença está na necessidade da configuração dos parâmetros da porta com o comando MODE. É preciso saber quais os parâmetros para a referida impressora.

Por exemplo:
MODE COM1: b=1800 p=0 d=8 s=1 // esse comando deve ser dado no ´DOS´

depois é só mandar os dados para a impressora.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar