![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
![]() Estoy imprimiendo directamente sin pasar por Windows con la siguiente rutina que la tome de esta pagina:
Var MyPrinter: TextFile; begin AssignFile(MyPrinter,'LPT1'); System.Rewrite(MyPrinter); Writeln(MyPrinter, Cadena); System.CloseFile(MyPrinter); end; mi problema es que solo me imprime 10 lineas cuando son mas me da el siguiente error I/O error 231 en realidad no se que significa esto y no se como resolverlo, agradeceria toda la ayuda que me puedan dar.... |
#2
|
||||
|
||||
La verdad no recuerdo que quiere decir el código de error 231, pero probablemente es porque la impresora está fuera de línea o algo asi...
Podes implementar la impresión de una forma un poco mas segura de esta forma: Código:
Procedure PrintLine(printer : TextFile; Line : String); Var IOR : Integer; Cancelado : Boolean; Begin Cancelado := False; repeat {$I-} writeln(printer, Line); IOR := IOResult; {$I+} if IOR <> 0 Then Cancelado := MessageDlg('Error al imprimir, desea reintentar?', [mbYes, mbNo], 0) = mrNo; until (IOR = 0) or (Cancelado); if Cancelado Then Raise Exception.Create('Impresión cancelada por el usuario!'); End; Var printer : TextFile; Begin AssignFile(Printer, 'lpt1'); rewrite(Printer); PrintLine(Printer, 'Hola esto es una prueba!'); PrintLine(Printer, '1'); PrintLine(Printer, '2'); .. PrintLine(Printer, '999'); PrintLine(Printer, '1000'); CloseFile(Printer); End. Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
![]() |
|
|
![]() |
|