![]() |
![]() |
| Paypal | 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 |
![]() |
|
|
|