imprimir em linha
AssignFile(IMPRESSORA,´LPT1:´);
{abre a porta da impressão }
Rewrite(IMPRESSORA);
{envia caractere de controle para comprimir a impressão}
Write(IMPRESSORA);
Writeln(impressora,#27´0´);
{ Imprime o caractere ´x´ (marcando Nota de Saída) e salta para próxima linha}
Writeln(Impressora,Format(´¬52s´,[´X´]));
{ salta duas linhas}
Writeln(impressora,27´0´);
Writeln(impressora,27´0´);
Writeln(impressora,27´0´);
Writeln(Impressora,Format(´¬72s´,[qrcarnecodnota.AsString]));
{ Imprime a string ´Vendas´, alinhado à esquerda´-´ dentro de uma área de quarenta caracteres}
Write(Impressora,Format(´¬-30s´,[´VENDAS´]));
{ Imprime a string ´5.12´, e salta para próxima linha}
Writeln(Impressora,Format(´¬-42s´, [´5.12´]));
{ Salta duas linhas}
Writeln(impressora,27´0´);
Writeln(Impressora,27´0´);
{ ---- Impressão dos Dados do Consumidor-----}
{ Imprime a Razão Social, alinhado à esquerda dentro de uma área de 90 caracteres}
Write (Impressora,Format(´¬-50s´, [ qrcarnenome.Value]));
{ Imprime a CGC, alinhado à esquerda dentro de umaárea de 30 caracteres}
Write(Impressora,Format(´¬-20s´, [qrcarnecnpj.Value]));
{ Imprime a Data de Emissão, baseada na data atual e salta para próxima linha}
Writeln(Impressora,DatetoStr(qrcarnedata.Value));
{ Salta uma linha}
Writeln(Impressora,#27´0´);
{ Imprime Endereço,alinhado à esquerda´-´ dentro de uma área de 70 carcateres}
Write(Impressora,Format(´¬-41s´,[qrcarnelogradouro.Value +´,´+qrcarnenumero.Value]));
{Imprime Bairro, dentro de uma área de 35 carcateres}
bairros := qrcarnebairro.Value;
Write(Impressora,Format(´¬-18s´,[bairros]));
{ Imprime CEP, dentro de uma área de 15 carcateres}
Write(Impressora,Format(´¬-11s´, [qrcarnecep.Value]));
{Imprime a Data de Saída, baseada na Hora Atual e Salta para próxima Linha}
Writeln(Impressora,DatetoStr(qrcarnedata.Value));
{ Salta uma linha}
Writeln(Impressora,#27´0´);
{ Imprime Munícipio, dentro de uma área de 60 caracteres}
Write(Impressora, Format(´¬-30s´, [qrcarnecidade.Value]));
{ Imprime DD+Telefone, dentro de uma área de 30 caracteres}
fone := qrcarneFONE_RESIDENCIAL.AsString;
Write(Impressora,Format(´¬-16s´,[FONE]));
{ Imprime Estado (UF), dentro de uma área de 5 caracteres}
Write(Impressora,Format(´¬-5s´,[qrcarneestado.Value]));
{ Imprime Inscrição Estadual, dentro de uma área de 25 caracteres}
Write(Impressora,Format(´¬-19s´,[qrcarneINSCESTADUAL.AsString]));
{ Imprime a Hora de Saída, baseada na Hora Atual e Salta para próxima Linha}
Writeln(Impressora,TimetoStr(time));
{ Salta três linhas}
Writeln(Impressora);
Writeln(Impressora);
qrcarne.First;
{ Início do Laço}
While not (qrcarne.Eof) do
Begin
Write(Impressora,#15,Format(´¬-9s´,[qrcarnecodparcela.AsString]));
Write(Impressora,15,Format(´¬-10s´, [qrcarnedvencimento.AsString ]));
Write(Impressora,Format(´¬-3s´,[´ R$´]));
Writeln(Impressora,Format(´¬10.2f´,[qrcarnevalor.Value]));
qrcarne.next;
end;
For Contador:= 1 to (9- qrcarne.recordCount)do
Writeln(Impressora);
meu problema esta na impressao em linha, neste laço esta imprimindo
01 R$ 200,00 10/10/2007
02 R$ 200,00 10/11/2007
03 R$ 200,00 10/12/2007
04 R$ 200,00 10/10/2007
eu gostaria que impressão fosse assim
01 R$ 200,00 10/10/2007 02 R$ 200,00 10/10/2007 etc
ate quatro posicoes e pulasse para proxima linha e imprimisse mais quatro e depois mais quatro totalizando 12 vezes
agradeço toda ajuda
{abre a porta da impressão }
Rewrite(IMPRESSORA);
{envia caractere de controle para comprimir a impressão}
Write(IMPRESSORA);
Writeln(impressora,#27´0´);
{ Imprime o caractere ´x´ (marcando Nota de Saída) e salta para próxima linha}
Writeln(Impressora,Format(´¬52s´,[´X´]));
{ salta duas linhas}
Writeln(impressora,27´0´);
Writeln(impressora,27´0´);
Writeln(impressora,27´0´);
Writeln(Impressora,Format(´¬72s´,[qrcarnecodnota.AsString]));
{ Imprime a string ´Vendas´, alinhado à esquerda´-´ dentro de uma área de quarenta caracteres}
Write(Impressora,Format(´¬-30s´,[´VENDAS´]));
{ Imprime a string ´5.12´, e salta para próxima linha}
Writeln(Impressora,Format(´¬-42s´, [´5.12´]));
{ Salta duas linhas}
Writeln(impressora,27´0´);
Writeln(Impressora,27´0´);
{ ---- Impressão dos Dados do Consumidor-----}
{ Imprime a Razão Social, alinhado à esquerda dentro de uma área de 90 caracteres}
Write (Impressora,Format(´¬-50s´, [ qrcarnenome.Value]));
{ Imprime a CGC, alinhado à esquerda dentro de umaárea de 30 caracteres}
Write(Impressora,Format(´¬-20s´, [qrcarnecnpj.Value]));
{ Imprime a Data de Emissão, baseada na data atual e salta para próxima linha}
Writeln(Impressora,DatetoStr(qrcarnedata.Value));
{ Salta uma linha}
Writeln(Impressora,#27´0´);
{ Imprime Endereço,alinhado à esquerda´-´ dentro de uma área de 70 carcateres}
Write(Impressora,Format(´¬-41s´,[qrcarnelogradouro.Value +´,´+qrcarnenumero.Value]));
{Imprime Bairro, dentro de uma área de 35 carcateres}
bairros := qrcarnebairro.Value;
Write(Impressora,Format(´¬-18s´,[bairros]));
{ Imprime CEP, dentro de uma área de 15 carcateres}
Write(Impressora,Format(´¬-11s´, [qrcarnecep.Value]));
{Imprime a Data de Saída, baseada na Hora Atual e Salta para próxima Linha}
Writeln(Impressora,DatetoStr(qrcarnedata.Value));
{ Salta uma linha}
Writeln(Impressora,#27´0´);
{ Imprime Munícipio, dentro de uma área de 60 caracteres}
Write(Impressora, Format(´¬-30s´, [qrcarnecidade.Value]));
{ Imprime DD+Telefone, dentro de uma área de 30 caracteres}
fone := qrcarneFONE_RESIDENCIAL.AsString;
Write(Impressora,Format(´¬-16s´,[FONE]));
{ Imprime Estado (UF), dentro de uma área de 5 caracteres}
Write(Impressora,Format(´¬-5s´,[qrcarneestado.Value]));
{ Imprime Inscrição Estadual, dentro de uma área de 25 caracteres}
Write(Impressora,Format(´¬-19s´,[qrcarneINSCESTADUAL.AsString]));
{ Imprime a Hora de Saída, baseada na Hora Atual e Salta para próxima Linha}
Writeln(Impressora,TimetoStr(time));
{ Salta três linhas}
Writeln(Impressora);
Writeln(Impressora);
qrcarne.First;
{ Início do Laço}
While not (qrcarne.Eof) do
Begin
Write(Impressora,#15,Format(´¬-9s´,[qrcarnecodparcela.AsString]));
Write(Impressora,15,Format(´¬-10s´, [qrcarnedvencimento.AsString ]));
Write(Impressora,Format(´¬-3s´,[´ R$´]));
Writeln(Impressora,Format(´¬10.2f´,[qrcarnevalor.Value]));
qrcarne.next;
end;
For Contador:= 1 to (9- qrcarne.recordCount)do
Writeln(Impressora);
meu problema esta na impressao em linha, neste laço esta imprimindo
01 R$ 200,00 10/10/2007
02 R$ 200,00 10/11/2007
03 R$ 200,00 10/12/2007
04 R$ 200,00 10/10/2007
eu gostaria que impressão fosse assim
01 R$ 200,00 10/10/2007 02 R$ 200,00 10/10/2007 etc
ate quatro posicoes e pulasse para proxima linha e imprimisse mais quatro e depois mais quatro totalizando 12 vezes
agradeço toda ajuda
Famatec
Curtidas 0
Respostas
Massuda
22/08/2007
Use WriteLn para imprimir algo e pular de linha, use Write para imprimir sem mudar de linha.
Inclua uma variável para contar quantos registros da query QrCarne foram impressos; imprima todos os dados usando Write e a cada 4 imprima uma string vazia com WriteLn (equivale a mandar saltar a linha).
Inclua uma variável para contar quantos registros da query QrCarne foram impressos; imprima todos os dados usando Write e a cada 4 imprima uma string vazia com WriteLn (equivale a mandar saltar a linha).
GOSTEI 0
Famatec
22/08/2007
nao entendi como fazer a soma e implemetar 4 nesta rotina
GOSTEI 0