Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Enviar impressão


Pirambu!

Pergunta

15 respostass a esta questão

Posts Recomendados

  • 0
no meu PC não tem conector DB9 e DB25 apenas USB, tem como eu mandar impressão para impressora de cupom, usando conector RJ11 da placa de Fax/Modem?

Não ....

Amigo, a conexão da impressora é serial e paralela ( Interface de Comunicação Dual: Paralela DB25 e Serial (RS232C) DB9. ), possui as duas saídas.

Para trabalhar com RJ45 você terá que utilizar um conversor serial/RJ45 ou paralela/RJ45. Funciona perfeitamente bem

Para trabalhar com USB você terá que suar um conversor DB25/USB

http://images.tigerdirect.ca/itemDetails/M...164-out3-hl.jpg ou

Para trabalhar com USB você terá que usar um conversor DB9/DB25/USB

http://media.digikey.com/photos/Assmann%20..._DA-70119-R.jpg

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Jhonas, eu tenho este codigo para escrever na porta paralela LPT1 é só para confirmar porque eu pensava que o fato de ser LPT1 era especifico da porta paralela.

procedure TForm1.´butomClick(Sender: TObject);
var
Porta:TextFile;
// o P = pagina; o L = Linha da pagina
P,L:integer;
Begin
//direciona a porta
  Assignfile(porta,'LPT1');
  //e manda abrir
  REWRITE(porta);
  QryGrupo.First;
  P:=1;
  While not QryGrupo.Eof do
  begin
    writeln(porta,'xxxxxxxxxxxxxxxxxxxxxxxx');
    writeLN(porta,xxxxxxxxx:' + inttostr(P));
    writeln(porta,'.........................................');
    writeln(porta,xxxxx);
    writeln(porta,'.........................................');
    L:= 6;
    while (not QryGrupo.Eof) and (L<=58) do
    begin
      writeln(porta,inttostr(xxxx.Value) + ' ' + xxxx.value);
      L:= L+1;
      QryGrupo.Next;
      IF L > 58 then
        begin
        P:= P + 1;
        writeln(porta,#12);
        end;
   end;
  end;
   closefile(porta);
end;

end.

Link para o comentário
Compartilhar em outros sites

  • 0
Jhonas, eu tenho este codigo para escrever na porta paralela LPT1 é só para confirmar porque eu pensava que o fato de ser LPT1 era especifico da porta paralela.

E é .... entretanto para voce poder usar o cabo conversor ( o cabo converte sua Impressora Paralela em USB ) e neste caso ela estará instalada na porta USB

Se voce usa o winXP em propriedades da Impressora

1. Entre nas configurações da impressora e encontre a opção: Ativar spool de impressão (Aba portas).

2. Assinale a caixa LPT1 e USB (que esta conectado sua impressora).

3. Salve as alteracoes.

Feito isso todas as impressões direcionadas a porta LPT1 serao redirecionados para a porta USB.

OBS: Não precisa alterar nada no seu código

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Fiz um teste aqui ... sem problemas e está redirecionando da LPT1 para a porta USB

procedure TForm1.Button1Click(Sender: TObject);
var
  Porta:TextFile;
  // o P = pagina; o L = Linha da pagina
  P,L:integer;
Begin
  //direciona a porta
  Assignfile(porta,'LPT1');
  //e manda abrir
  REWRITE(porta);
  Query1.First;
  P:=1;
  While not Query1.Eof do
  begin
    writeln(porta,'xxxxxxxxxxxxxxxxxxxxxxxx');
    writeln(porta,'xxxxxxxxx:' + inttostr(P));
    writeln(porta,'.........................................');
    writeln(porta,'xxxxx');
    writeln(porta,'.........................................');
    L:= 0;
    while (not Query1.Eof) and (L<=58) do
    begin
      writeln(porta,floattostr(query1num.Value));
      L:= L+1;
      Query1.Next;
      IF L > 58 then
        begin
        P:= P + 1;
        writeln(porta,#12);
        end;
   end;
  end;
   closefile(porta);

end;

Verifique o seu código

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Jhonas, realmente não dá certo continua informando "file no found", mas resolvir usando este codigo abaixo funcionou sem problema. obrigado pela força.

const
  cEspacoLinha = 5;
  cMargemSuperior = 50;
  cMargemEsquerda = 30;
var
  AlturaLinha, Y, I: integer;
begin

  Printer.BeginDoc;
  try
    { Usa na impressora a mesma fonte do memo }
    Printer.Canvas.Font.Assign(Memo.Font);

    AlturaLinha := Printer.Canvas.TextHeight('Tg');

    Y := cMargemSuperior;
    for I := 0 to Memo.Lines.Count -1 do begin

      if Y > Printer.PageHeight then begin
        Printer.NewPage;
        Y := cMargemSuperior;
      end;

      Printer.Canvas.TextOut(cMargemEsquerda, Y, Memo.Lines[I]);

      Y := Y + AlturaLinha + cEspacoLinha;
    end;
  finally
    Printer.EndDoc;
  end;
end;

Link para o comentário
Compartilhar em outros sites

  • 0
Jhonas, apenas uma observação: eu tentei compilar o comando que envia a impressão direto para a porta "LPT1" em um computador que tem saida "LPT1" aceitou sem problema mas no meu que não tem essa porta ele mostra uma mensagem de "arquivo não encontrado."
Link para o comentário
Compartilhar em outros sites

  • 0
eu tentei compilar o comando que envia a impressão direto para a porta "LPT1" em um computador que tem saida "LPT1" aceitou sem problema mas no meu que não tem essa porta ele mostra uma mensagem de "arquivo não encontrado."

Neste caso voce pode tentar direcionar a impressão para outra porta

procedure TForm1.Button1Click(Sender: TObject);
var
  Porta:TextFile;
  // o P = pagina; o L = Linha da pagina
  P,L:integer;
Begin
  //direciona a porta
  Assignfile(porta,'USB001');
  //e manda abrir
  REWRITE(porta);
  Query1.First;
  P:=1;
  While not Query1.Eof do
  begin
    writeln(porta,'xxxxxxxxxxxxxxxxxxxxxxxx');
    writeln(porta,'xxxxxxxxx:' + inttostr(P));
    writeln(porta,'.........................................');
    writeln(porta,'xxxxx');
    writeln(porta,'.........................................');
    L:= 0;
    while (not Query1.Eof) and (L<=58) do
    begin
      writeln(porta,floattostr(query1num.Value));
      L:= L+1;
      Query1.Next;
      IF L > 58 then
        begin
        P:= P + 1;
        writeln(porta,#12);
        end;
   end;
  end;
   closefile(porta);

end;

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...