Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marostegan

LPT1 para USB

Recommended Posts

olá pessoa... estou com o seguinte problema...

ha alguns anos atrás fiz um sisteminha de caixa.... e as autenticações eram impressas numa impressora Serial...

porém agora preciso passar esse sistema para imprimir numa impressora USB...

 

só que eu nao sei como faz isso!!! :blink:

 

o código que uso atualmente pra a SERIAL é o seguinte:

 

var

F : TextFile;

i : integer;

SL: TStringList;

 

begin

if autrecebe.text <> '' then

ShowMessage('Clique em OK para autenticar!');

AssignFile(F,'LPT1');

Rewrite(F);

i := 0;

Writeln(F, edtvaziu.text + edtvaziu.text + edtvaziu.text + edtvaziu.text + edtvaziu.text + edtvaziu.text + edtvaziu.text + edtvaziu.text + edtvaziu.text + edtvaziu.text + edtvaziu.text + edtextorecebe.text + edttiengo01.text + edtvaziu.text + edtcifraozinho.text + autrecebe.text + edtvaziu.text + edtrc.text + edtvaziu.text + edtcontador.text);

Writeln(F,#12); //enjeta a página

CloseFile(F);

 

AssignFile(F,'LPT1');

Rewrite(F);

i := 0;

Writeln(F, edtvaziu.text + edtvaziu.text + edtvaziu.text + edtvaziu.text + edtvaziu.text + edtvaziu.text + edtvaziu.text + edtvaziu.text + edtvaziu.text + edtvaziu.text + edtvaziu.text + edtextorecebe.text + edttiengo01.text + edtvaziu.text + edtcifraozinho.text + autrecebe.text + edtvaziu.text + edtrc.text + edtvaziu.text + edtcontador.text);

Writeln(F,#12);

CloseFile(F);

 

AssignFile(F,'LPT1');

Rewrite(F);

i := 0;

Writeln(F, edtvaziu.text + edtvaziu.text + edtvaziu.text + edtvaziu.text + edtvaziu.text + edtvaziu.text + edtvaziu.text + edtvaziu.text + edtvaziu.text + edtvaziu.text + edtvaziu.text + edtextorecebe.text + edttiengo01.text + edtvaziu.text + edtcifraozinho.text + autrecebe.text + edtvaziu.text + edtrc.text + edtvaziu.text + edtcontador.text);

Writeln(F,#12);

CloseFile(F);

 

memo1.Lines.Add (edtrecebee.text);

memo1.Lines.Add (edtcifraozinho.text + autrecebe.text + edtvaziu.text + edt_numero.text + edtcontador.text);

memo1.Lines.Add (edtbranco.text);

autrecebe.Clear;

 

SL:=TStringList.Create;

SL.Add(edtrela.TEXT);

SL.Add(edthoraa.text);

SL.Add(edtdataa.TEXT);

SL.Add(edtbranco.TEXT);

SL.Add(edtfinzinho.TEXT);

SL.Add(edtbranco.TEXT);

SL.Add(memo1.TEXT);

SL.SaveToFile('C:\Arquivos de programas\siscaixa\descricao_autenticacoes.txt');

SL.Free

 

end;

 

alguem sabe o que faço para passar a mandar a impressão pra porta USB?

 

 

valew pessoal!!!!

 

abraçoss

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo ja tentou tirar ali na função a palavra "LPT1"?

 

 

será q ele nao manad direto para a imporessora padrao do sistema independente se esta ligada a USB ou nao?

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo ja tentou tirar ali na função a palavra "LPT1"?

 

 

será q ele nao manad direto para a imporessora padrao do sistema independente se esta ligada a USB ou nao?

 

olá!! td bem?

 

ntão já tentei deixar assim:

 

AssignFile(F,'');

 

só que dai da pau no programa quando você clica em imprimir!

 

ASSIM >>> AssignFile(F,); ou ASSIM >>> AssignFile(F');

 

não funciona...

 

e se eu colocar no lugar de LPT1 o USB... tb dá pau!

 

o pior de tudo é que eu tentei fazer o windows receber comando e mandar pra usb usando o seguinte comando no DOS:

 

net use lpt1 \\maquinaondeestaaimpressora\nomedaimpressora

 

 

ai a impressora ate recebe para imprimir.. mas fica assim imprimindo.... "documento de nivel inferior" (e aonde geralmente aparece o numero de paginas para imprimir aparece assim N/D)

 

 

e pra ajudar meu cliente precisa desse sistema funcionando logo....

 

faz 2 anos q funciona certinhu com impressora LPT1... mas agora que precisou colocar uma USB... não funciona mais...

 

até adaptador USB / SERIAL eu comprei e tentei colocar pra ver se funciona... mais nada de funcionar.... com o adaptador a impressora num da nem sinal de vida... nem o word imprime nela....

 

 

obs.: a impressora que estamos usando eh uma HP3535....

 

 

(desculpa o texto enorme) rs..

 

 

e agora... tem alguma programação no delphi que manda imprimir na usb??

 

 

obrigado....

 

 

[]´sss

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá...

 

isso vale ressaltar:

 

o mais engraçado de tudo é que eu acabei de testar esse comando do net use numa impressora HP Photosmart 3180 e funcionou certinho... o sistema manda pro LPT1 e cai na usb....

 

ai voltei a testar (fiz toda a mesma configuração) para a HP3535 e a safada não funciona!!! huauhahua....

 

será que alguem entende essas coisas?

 

 

=~~

 

vlw...

 

[]´ss a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem, o mais certo é eu mudar mesmo o meu código de programação...

 

alguem saberia me explicar como eu clico em um botaão e ele manda impressão pra uma impressora USB??

 

 

orbigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se funciona, mas ao Invés de usar LPT1, tenta usar USB001. É Como o Windows identifica a porta da impressora se você olhar nas propriedades da impressora.

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentei fazer isso tb!!

 

mais nada de funcionar!!!

 

=~~

 

 

to ficando desesperadooo... isso precisa funcionar!!!

 

não sei o que fazer.....

Compartilhar este post


Link para o post
Compartilhar em outros sites

pessoal... alguem sabe como eu mando um texto que ta dentro de uma DBEdit para imprimir numa impressora USB quando clicar num botao (imprimir) ??

 

valews....

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá pessoal!

 

bom, to postando aqui porque consegui uma solução... então vou falar aqui como eu fiz!

 

depois de varrer a net em busca de uma solução pra sai numa impressora USB... eu fiquei até feliz quando vi que era super fácil... hehehe....

 

foi simples, é so montar um relatório e quando clicar no imprimir ele pega todas informações de memo, edits e talz e manda pro relatório.... (q você monta do jeito que quiser... fik mtooo bom!) e dai é so clicar na impressorinha e boa!!!

 

o melhor que ele manda direto na impressora padrão configurada... e ainda você pode escolher qq uma outra caso precise... inclusive da rede....

 

não sei se existe outro jeito melhor e/ou mais fácil... esse foi o jeito que achei aqui e que me ajudou mtoo!!!

 

no entando, vou colocar aqui um passo-a-passo q achei... axo q possa vir a ser útil pra mais alguem qq dia desses! XD

 

vai ae:

 

 

Desenhando o Relatório

1) Adicione um form ao seu projeto o qual estará seu relatório. Dê um nome ao form, tipo RelImprimeEdit;

2) Da paleta do Quickreport adicione um componente QuickRep (o 1º da lista) e posicioneo no canto superior esquerdo para facilitar o trabalho de desenho. Como você não iremos obter as informações de uma tabela, mas sim iremos "prencher" o relatório utilizando de labels, defina a propriedade PrintIfEmpty para TRUE;

3) Dê um duplo click na "folha" branca que apareceu (QuickRep) e configure as informações do papel (tamanho e posicionamento: Portrait ou Landscape), defina as margens (observe que a unidade de medida deve estar em MM), defina o tamanho padrão das letras (será utilizado para cada componente que você adicionar ao relatório), defina as bandas que você quer no relatório (header, title, footer, ...). Em meu exemplo adicionei Page header, Detail e Page footer;

4) Estas bandas adicionadas ao relatório podem ser ajustadas em sua altura. Então ajuste conforme necessário;

5) Para colocar um texto de título na banda PageHeader, vá na paleta do QuickReport localize o componente QRLabel (passando o mouse sobre os componentes da paleta você vê no hint o nome dos componentes, caso tenha dúvida). Clique nele para selecionar e a seguir clique na banda PageHeader. Ajuste posição e faça os ajustes das propriedades que você necessitar modificar.

6) Para imprimir o conteúdo dos Edit's que você deseja, você também utilizará os componentes QRLabel (eventualmente um QRMemo ou QRRichEdit). Entretando, estes QRLabel's são adicionados na banda Detail. Coloque-os de acordo com sua necessidade. Por ex. um para o label e outro para receber o valor;

7) Para adicionar o nº de página, data/hora do sistema no rodapé da página (PageFooter), você utiliza o componente QRSysData e altera sua propriedade Data (qrsDateTime, qrsPageNumber, ...)

 

 

Preparando o relatório para mostrar os dados

Na sessão Public da declaração do form do relatório (RelImprimeEdit), defina uma procedure que conterá todos os parâmetros a serem passados. Em meu exemplo teremos apenas doi parâmetros: Nome e Endereço;

 

type

TRelImprimeEdit = class(TForm)

...

public

procedure Imprime(Nome, Endereco :string);

end;

implementation

...

procedure TRelImprimeEdit.Imprime(Nome, Endereco :string);

begin

// inicializa os QRLabel's correspondentes aos campos informados

QRLNome.Caption := Nome;

QRLEndereco.Caption := Endereco;

// Aqui o relatório será apresentado na tela, para visualizar e imprimir

QuickRep1.Preview;

end;

 

Chamando o relatório para mostrar os dados

No form que chama a impressão (RelImprimeEdit), utilizei um botão para isto. Então, no evento OnClick do mesmo adicionamos o código que cria/destroi o form do relatório dinamicamente:

 

procedure TFrmMain.Button1Click(Sender: TObject);

begin

RelImprimeEdit := TRelImprimeEdit.Create(Self);

try

RelImprimeEdit.Imprime(Edit1.Text, Edit2.Text);

finally

RelImprimeEdit.Free;

end;

end;

 

Como criamos o relatório dinamicamente, devemos remover o mesmo da auto-criação. Para isso, no menu principal do Delphi, vá em Projects->Options e na guia Form localize e remova o form RelImprimeEdit da caixa Auto-create forms

 

bom galeria... é isso ai!! se alguém precisa de alguma força na hora de monta ae da um toque!!!

 

 

abraçosss!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O post é antigo mas muita gente ainda não sabe como enviar uma LPT1 via USB em Delphi. Mas é muito simples: Obviamente compre um cabo adaptador Paralela <--> USB e siga os passos:

 

1) Instale sua impressora matricial 80 ou 40 colunas (inclusive Não Fiscal) com o driver correto ou genérico; instale na LPT1 e depois vá em propriedades e direcione para a USB0001 ou USB0002 ou USB003 etc. ou seja, terá que investigar qual USB ela ficou plugada!

 

2) Compartilhe esta impressora na rede mesmo que seja para um único micro (já saberá por que....);

 

3) A impressora não precisa ficar como padrão!

 

4) No seu aplicativo Delphi direcione a impressão para o seguinte caminho:

 

\\NomeDoComputadorOndeAImpressoraEstáInstalada\NomeDoCompartilhamento

 

Exemplo: \\ComputadorSecreto\HP3540

 

Pronto! Sem stress, se toda a impressão for direcionada para o compartilhamento acima esta impressora não precisa ficar como padrão!

 

Nota: Mesmo que você instale direto numa porta USB o seu Windows poderá não reconhecê-la, por isso, instale mesmo na LPT1, mesmo estando com o cabo plugado em USB, e depois vá em propriedades e teste USB por USB até ver em qual delas a impressão funciona! Só isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O post é antigo mas muita gente ainda não sabe como enviar uma LPT1 via USB em Delphi. Mas é muito simples: Obviamente compre um cabo adaptador Paralela <--> USB e siga os passos:

 

1) Instale sua impressora matricial 80 ou 40 colunas (inclusive Não Fiscal) com o driver correto ou genérico; instale na LPT1 e depois vá em propriedades e direcione para a USB0001 ou USB0002 ou USB003 etc. ou seja, terá que investigar qual USB ela ficou plugada!

 

2) Compartilhe esta impressora na rede mesmo que seja para um único micro (já saberá por que....);

 

3) A impressora não precisa ficar como padrão!

 

4) No seu aplicativo Delphi direcione a impressão para o seguinte caminho:

 

\\NomeDoComputadorOndeAImpressoraEstáInstalada\NomeDoCompartilhamento

 

Exemplo: \\ComputadorSecreto\HP3540

 

Pronto! Sem stress, se toda a impressão for direcionada para o compartilhamento acima esta impressora não precisa ficar como padrão!

 

Nota: Mesmo que você instale direto numa porta USB o seu Windows poderá não reconhecê-la, por isso, instale mesmo na LPT1, mesmo estando com o cabo plugado em USB, e depois vá em propriedades e teste USB por USB até ver em qual delas a impressão funciona! Só isso.

 

 

 

 

Isso acima de colocar a impressora em modo de compartilhamento até funciona mais o PC tem que estar conectado a net ou a rede senão não funciona. Até agora não consgui fazer funcionar em USB. Alguem tem idéias? ahuahauahu

 

Abraço t+ !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se já conseguiram. Caso ainda não, acho que isso ajuda (embora esteja meio confuso de entender!):

https://www.mail-archive.com/delphi-br@yahoogrupos.com.br/msg81993.html

 

http://info.abril.com.br/forum/viewtopic.php?t=1743

 

________________________________________________________________________

Imprimir um TMemo:

 

http://www.tecnobyte.com.br/dica3.html?pagina=dica3.html

 

Comigo Funcionou!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.