Emissao de cheques
01/02/2003
0
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
Posts
01/02/2003
Fern4ndø ßlek4ute
03/02/2003
Anonymous
Baixe o exemplo do componente Async32, o componente também pode ser baixado.
[url]www.veloso.kit.net[/url]
03/02/2003
Anonymous
Fabio
03/02/2003
Anonymous
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]
09/02/2003
Marfred
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.....
14/02/2003
Marfred
(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 !!!!
14/02/2003
Anonymous
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.
Clique aqui para fazer login e interagir na Comunidade :)