Foros del Web » Programación para mayores de 30 ;) » .NET »

procedimiento impresion ticket

Estas en el tema de procedimiento impresion ticket en el foro de .NET en Foros del Web. hola amigos, alguien me puede ayudar con algún procedimiento de impresion en una impresora de tickets generico text de windows, gracias?...
  #1 (permalink)  
Antiguo 10/04/2012, 09:25
 
Fecha de Ingreso: diciembre-2011
Mensajes: 70
Antigüedad: 12 años, 4 meses
Puntos: 2
procedimiento impresion ticket

hola amigos, alguien me puede ayudar con algún procedimiento de impresion en una impresora de tickets generico text de windows, gracias?
  #2 (permalink)  
Antiguo 16/04/2012, 16:19
 
Fecha de Ingreso: diciembre-2011
Mensajes: 70
Antigüedad: 12 años, 4 meses
Puntos: 2
Respuesta: procedimiento impresion ticket

bueno, nadie me ha ayudado así que lo hago yo mismo por si algún día alguien lo necesita, funciona bien...
Código:
'Se declaran las constantes ya las funciones API del Sistema

Public Const GENERIC_WRITE = &H40000000 
Public Const OPEN_EXISTING = 3 
Public Const FILE_SHARE_WRITE = &H2 
Public LPTPORT As String 
Public hPort As Integer, hPortP As IntPtr 
Public retval As Integer
Public Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Integer, ByVal dwShareMode As Integer, ByRef lpSecurityAttributes As SECURITY_ATTRIBUTES, ByVal dwCreationDisposition As Integer, ByVal dwFlagsAndAttributes As Integer, ByVal hTemplateFile As Integer) As Integer

Public Declare Function CloseHandle Lib "kernel32" Alias "CloseHandle" (ByVal hObject As Integer) As Integer

Public Structure SECURITY_ATTRIBUTES 
Private nLength As Integer 
Private lpSecurityDescriptor As Integer 
Private bInheritHandle As Integer 
End Structure 

Ya despues en un boton copiamos y pegamos esto:

Dim SA As SECURITY_ATTRIBUTES 
Dim outFile As FileStream 
LPTPORT = "LPT1" 
hPort = CreateFile(LPTPORT, GENERIC_WRITE, FILE_SHARE_WRITE, SA, OPEN_EXISTING, 0, 0) 
hPortP = New IntPtr(hPort) 

Dim Safe As New Microsoft.Win32.SafeHandles.SafeFileHandle(hPortP, True) 
outFile = New System.IO.FileStream(Safe, IO.FileAccess.Write) 

Dim fileWriter As New StreamWriter(outFile) 
fileWriter.WriteLine(" " & " Nombre de Empresa") 
fileWriter.WriteLine(" " & " Direccion, etc ")
fileWriter.WriteLine(" " & " Fecha : " & Date.Today) 
fileWriter.WriteLine(" " & "---------------------------------------") 
fileWriter.WriteLine(" " & "Articulo " & " Precio " & " Cantidad " & " Total ") 
fileWriter.WriteLine(" " & "---------------------------------------")
'Aqui puede ir un ciclo For que lea el contenido de un DataSet que contenga los datos a imprimir por ejemplo
'O bueno de donde quieran imprimir los datos
fileWriter.WriteLine(" " & "---------------------------------------")
fileWriter.WriteLine(" " & " Total$ " & var_Total) 'Aqui obviamente la variable donde tienen el total
fileWriter.WriteLine(" " & "Gracias Por Su Compra")
fileWriter.Flush()
  #3 (permalink)  
Antiguo 17/04/2012, 10:15
Avatar de emmax  
Fecha de Ingreso: agosto-2010
Ubicación: Sonora
Mensajes: 172
Antigüedad: 13 años, 8 meses
Puntos: 8
Respuesta: procedimiento impresion ticket

Gracias por el aporte.

Saludos.....
  #4 (permalink)  
Antiguo 28/04/2012, 11:12
 
Fecha de Ingreso: diciembre-2011
Mensajes: 70
Antigüedad: 12 años, 4 meses
Puntos: 2
Respuesta: procedimiento impresion ticket

un placceerr :)
  #5 (permalink)  
Antiguo 29/04/2012, 18:35
 
Fecha de Ingreso: abril-2012
Mensajes: 4
Antigüedad: 12 años
Puntos: 0
Respuesta: procedimiento impresion ticket

Gran aporte el tuyo camarada me sera de gran utilidad.
  #6 (permalink)  
Antiguo 25/09/2012, 13:34
 
Fecha de Ingreso: septiembre-2009
Mensajes: 6
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: procedimiento impresion ticket

Amigo gracias por tu código. Estoy ejecutandolo en .Net pero me da el siguiente error:

"Invalid handle. Parameter name: handle"

en esta línea:
outFile = New System.IO.FileStream(Safe, IO.FileAccess.Write)

pero me he percatado que en:

hPort = CreateFile(LPTPORT, GENERIC_WRITE, FILE_SHARE_WRITE, SA, OPEN_EXISTING, 0, 0)
hPortP = New IntPtr(hPort)

"hPort " viene con -1. Podrias ayudarme? Gracias!
  #7 (permalink)  
Antiguo 25/09/2012, 13:38
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: procedimiento impresion ticket

Hola ipod1987, puedes tambien usar este otro tipo de imprecion de tickets Imprimir tickets. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #8 (permalink)  
Antiguo 25/09/2012, 15:38
 
Fecha de Ingreso: marzo-2011
Mensajes: 342
Antigüedad: 13 años, 1 mes
Puntos: 97
Respuesta: procedimiento impresion ticket

Cita:
Iniciado por Aquaventus Ver Mensaje
Hola ipod1987, puedes tambien usar este otro tipo de imprecion de tickets Imprimir tickets. Saludos!.
Interesante ;)

Etiquetas: impresion, procedimiento, ticket
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 17:28.