Visual Basic - Imprimir textbox crea muchos archivos

Life is soft - evento anual de software empresarial
   
Vista:

Imprimir textbox crea muchos archivos

Publicado por Fernando (3 intervenciones) el 13/12/2011 17:46:15
Hola: el caso es que tengo una maquina conectada por puerto serie y me quiero hacer un programita para que me haga un informe (va rellenando un textbox) y yo lo pueda imprimir. El caso es que la maquina me manda cadenas por el puerto cada 30 sg y las va introduciendo el en textbox y cada vez que introduce algo en el textbox se me genera un PDF (tengo el PDFCreator como impresora predeterminada). Entonces en un informe de a lo mejor 20 lineas tengo 40 PDF creados, no se si me explico bien. Lo que queria hacer es: en el informe que me envia la maquina me lo finaliza siempre con la fecha y la hora (---DD.MM.AAAA---HH:MM---), ¿podria averiguar cuando llega eso y decirle que imprima ahi? , o ¿como hago para que me genere solo un documento y que lo vaya completando con todos los informes que vaya haciendo?.Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Imprimir textbox crea muchos archivos

Publicado por Christian (666 intervenciones) el 13/12/2011 17:54:44
Usas el MSComm ? quizas tenga que ver con los protocolos, puede el envio de datos sea muy rapido y no llega a guardarse en buffer y lo este mandando a imprimir
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Imprimir textbox crea muchos archivos

Publicado por Fernando (3 intervenciones) el 13/12/2011 22:29:05
Hola, gracias por contestar: si que uso el mscomm. Te enseño el codigo, es baratillo pero bueno...lo hice en primer lugar para ejecutarlo desde el programa, de ahi que no tenga programado para cerrar puerto ni nada. El caso es que el textbox me lo cumplimenta perfecto pero a la hora de imprimir me la monta..



Private Sub Conectar_Click()

On Error Resume Next
Puerto.PortOpen = True

If Puerto.PortOpen Then
Form1.Caption = "Puerto abierto"
Else
Form1.Caption = "no se puede abrir el puerto"
End If

End Sub

Private Sub Form_Load()
Recibir.Text = Recibir.Text + Puerto.Input

Printer.Print ""
Printer.FontName = "Arial"
Printer.FontSize = 18
Printer.FontBold = False
Printer.Print Recibir.Text
Printer.EndDoc


End Sub

Private Sub Form_Unload(Cancel As Integer)

If Puerto.PortOpen Then
Puerto.PortOpen = False
End If

End Sub

Private Sub Puerto_OnComm()

Puerto.CommPort = 1
Puerto.Settings = "9600,N,8,1"
Puerto.Handshaking = comNone
Puerto.InBufferSize = 512
Puerto.OutBufferSize = 512
Puerto.InputLen = 0
Puerto.RThreshold = 1
Puerto.SThreshold = 0
Puerto.NullDiscard = True
Puerto.CTSTimeout = 0
Puerto.CDTimeout = 0
Puerto.DSRTimeout = 0

End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar