MATRICIAL COM VB.NET EM USB

NILSONTRES 24/05/2012 17:33:32
#402704
Pessoal,
Como que vcs estão fazendo para imprimir um cupom não fiscal em mattricial com vb.net e porta usb.
Tem aparecido muitas impressoras com saida USB, no VB6 , Sem problemas, eu compartilho a impressora e chamo assim:
Open [Ô][Ô] & MatricialCompartilhada & [Ô][Ô] For Output As #1
Isso resolve, mas no VB 2010 não existe essa chamada, e se vc não chamar a impressora via DOS, ela imprimi a pagina
inteira, o que não pode acontecer pois a impressão deve parar ao final dos itens e Totais.
Alguem tem conseguido isso ?
Utilizar o DOSPRINT, não queria ficar com componentes de terceiros vinculado, embora não testei ainda se funcina mesmo,
só ouvi dizer, fazer a chamada assim: TYPE C:\Pedido.Txt >prn
tambem não esta dando jeito.
Alguma luz ?
NILSONTRES 25/05/2012 10:16:18
#402752
Acho que o jeito sera criar uma dll no vb6 para chamar a impressão pelo metodo Print do vb6.
Agora até quando tera suporte no windos essa dll, não sei.
AJSO 25/05/2012 11:12:05
#402756
Resposta escolhida
Caro NILSONTRES

Já começa o desenvolvimento em VB.Net ou C# nesta dll pois já é possivel suporte para o XP/7 e 8

Não muda muito veja este excemplo:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim sw As New IO.StreamWriter([Ô]C:LIXOLista.txt[Ô])
sw.WriteLine(Chr(27) & [Ô]0[Ô])
sw.WriteLine(Space(10) & Mid([Ô]APENAS UM TESTE 1[Ô], 1, 30))
[ô]ATIVAR NEGRITO
sw.WriteLine(Chr(27) & [Ô]E[Ô])
sw.WriteLine(Space(10) & Mid([Ô]APENAS UM TESTE 2[Ô], 1, 30))
[ô]DESATIVAR NEGRITO
sw.WriteLine(Chr(27) & [Ô]F[Ô])
[ô]ATIVAR ITALICO
sw.WriteLine(Chr(27) & [Ô]4[Ô])
sw.WriteLine(Space(10) & Mid([Ô]APENAS UM TESTE 3[Ô], 1, 30))
[ô]DESATIVAR ITALICO
sw.WriteLine(Chr(27) & [Ô]5[Ô])
[ô]ATIVAR CONDENSADO
sw.WriteLine(Chr(27) & Chr(15))
sw.WriteLine(Space(10) & Mid([Ô]APENAS UM TESTE 4[Ô], 1, 30))
[ô]DESATIVAR CONDENSADO
sw.WriteLine(Chr(18))
sw.WriteLine([Ô][Ô])
sw.WriteLine([Ô][Ô])
sw.Flush()
sw.Close()

Dim s1 As New IO.StreamWriter([Ô]C:LIXOImprimi.bat[Ô])
s1.Write([Ô]TYPE C:LIXOLista.Txt >prn[Ô])
s1.Flush()
s1.Close()
System.Diagnostics.Process.Start([Ô]C:LIXOImprimi.bat[Ô])
End Sub



Boa Sorte
NILSONTRES 25/05/2012 12:24:32
#402763
AJSO,
Então, tenho esse codigo, e funciona beleza com a imptressora na lpt1, o problema é, não chama a impressora LX-300 por exemplo, se ela estiver plugada via adaptador USB.
Eu disse fazer a dll em VB6, para poder chamar Open [Ô][Ô] & MatricialCompartilhada & [Ô][Ô] For Output As #1
Que resolve esse problema, mas em .net não da.
OCELOT 25/05/2012 14:13:40
#402786
Veja se é isso aqui que você quer: http://support.microsoft.com/kb/322090/en-us
AJSO 25/05/2012 15:10:21
#402795
Caro NILSONTRES

IO.StreamWriter
IO.StreamReader

é uma versão do Framework para utilização de utilixzação de Leitura e escrita

Citação:

:
Open [Ô][Ô] & MatricialCompartilhada & [Ô][Ô] For Output As #1



Estab chamada foi substituida por outras que fazem igualmente e melhor no Framework

Este é exatamente para VB.Net

FileOpen(1, MatricialCompartilhada, OpenMode.Output)

Print(textolinha)

[ô] Caso queira utilizar linha por linha
[ô] PrintLine(1, textolinha)
FileClose(1)


Você deve compartilhar a impressora no própiro micro e manda para o compartilhamento do micro local, fica assim seu MatricialCompartilhada = [Ô]\\micro\compartilhamento[Ô]


coloquei um exemplo com fontes para darem uma olhada............


Boa sorte
NILSONTRES 26/05/2012 08:15:10
#402853
AJSO,
Primeiramente obrigado por se interessar em me ajudar.
Não sabia, achava que isso só manipulava arquivos.
Então, utilizando seu exemplo e mais um outro semelhante ao seu que encontrei no google, recebo a seguinte mensagem de erro.

[Ô]FileStream foi solicitado a abrir um dispositivo que não era um arquivo. Para obter suporte para dispositivos como [ô]com1:[ô] ou [ô]lpt1:[ô], chame CreateFile e use os construtores de FileStream que utilizam um manipulador do sistema operacional como um IntPtr.[Ô]

Nessa linha:
FileOpen(1, [Ô]\
ag_64\LX-300[Ô], OpenMode.Output)

Pelo que entendi, esta realmente fazendo a chamada a impressora, mas diz que de uma maneira errada, é claro que uma mensagem pode
estar ligada direta ou indiretamente ao problema.
O que sera ? Não entendi como utilizar o CreateFile.

Obrigado
NILSONTRES 26/05/2012 11:53:17
#402863
olha só:
Consegui fazendo dessa forma:
System.IO.File.Copy([Ô]c:\cupom.txt[Ô], [Ô]\
agescritorio\EpsonLX300[Ô])
ou
System.IO.File.Copy([Ô]c:\cupom.txt[Ô], [Ô]LPT1[Ô])

O primeiro metodo é bom porque resolve até a questão de a impressora estar ligada na USB.
é Claro que utilzando o metodo createfile, acho que devamos ter o controle sobre a porta, e controlar melhor a impressão, como espaçamento, fonte etc.
Se aparecer algo a esse nivel melhor.
AJSO 26/05/2012 12:07:34
#402865
Caro NILSONTRES

[ô]Caso a menssage mfor esta [Ô]FileStream was asked to open a device that was not a file[Ô][Ô][Ô][Ô][Ô][Ô][Ô][Ô][ô]

Na máquina em que você esta desenvolven do será necessário utilizar esta referencia no projeto pois trata-se de versóes antigas do visual Basic

Faça esta referencia no seu projeto para executar estes comando que lhe passei

Adicionar esta biblioteca no seu projeto onde executa a o Comando [ô]FileOpen(1, MatricialCompartilhada, OpenMode.Output)[ô]

Imports Microsoft.VisualBasic.FileIO


Boa sorte
NILSONTRES 26/05/2012 14:59:54
#402881
AJSO,
A Mensagem é essa mesmo, mas não adiantou referenciar Imports Microsoft.VisualBasic.FileIO
Continua o erro.
AJSO 27/05/2012 12:29:46
#402912
Caro NILSONTRES

Citação:

:
AJSO,
A Mensagem é essa mesmo, mas não adiantou referenciar Imports Microsoft.VisualBasic.FileIO
Continua o erro.



Sabe o que eu percebi é que se rodar este comando em um Visual Studio 2005 Projeto VB.Net Framework 2.0 com Sistema Operacional Windows Professional XP x86 funciona sem problemas

Mas se passar estes mesmo comando para Visual Studio 2012 Projeto VB.Net Framework 4.0 com Sistema Operacional Windows Seven Ultimate tanto x86 e x64 o problema persistes

Vou investigar para analisar este problema se é por causa do framework ou do S.O.

Vou colocar em anexo um projetinho básico feito em VS2012 framework 4.0 que testei


Boa sorte
Página 1 de 2 [14 registro(s)]
Tópico encerrado , respostas não são mais permitidas