Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Leer un *.txt y Luego Imprimirlo (https://www.clubdelphi.com/foros/showthread.php?t=38346)

newdelphi7 12-12-2006 04:55:54

Leer un *.txt y Luego Imprimirlo
 
Buenas, probablemente la pregunta este fuera de lugar porque en realidad mi problema no es realizar la impresion, sino como leer un archivo txt....

Estoy haciendo una aplicacion en PHP y no encontre forma de pasarle los comandos de ESC para hacer imprimir una impresora Star Sp200 y/o Epson Tm-300, por lo que al final termine guardando los datos a imprimir en un archivo "imprimir.TXT"

La idea es realizar una aplicacion en Delphi que lea los datos en el fichero imprimir.txt y lo mande directamente a la impresora con este comando:
var
iImpresora : TextFile;
begin
Assignfile(iImpresora,'Lpt1');

Rewrite(iImpresora);
Writeln(iImpresora,' AQUI IRIA LO QUE VA A LEER EN CADA LINEA y SERA LO QUE SALDRA EN LA IMPRESORA');
CloseFile(iImpresora);
end;


Aqui mi pregunta: el fichero consta de 15 a 25 Lineas promedio me gustaria saber como puedo yo leer el fichero linea por linea e irlo guardando en una variable hasta que sea fin de archivo y no se imprima mas..... Nota: cada linea tiene como 30 caracteres mas o menos...

Gracias por su ayuda y su tiempo, de antemano.....

ElKurgan 12-12-2006 08:22:18

Una forma sencilla de hacerlo sería como sigue:

Código:

var
  iImpresora : TextFile;
  vLista: TStringList;
begin
  Assignfile(iImpresora,'Lpt1');
  Rewrite(iImpresora);
  vLista := TStringList.Create;
  try
    vLista.Strings.LoadFromFile('ElFicheroQueQuieroLeer');
    Writeln(iImpresora, vLista.Strings.Text );
  finally
    CloseFile(iImpresora);
    vLista.Free;
  end;
end;

Un saludo

ElKurgan 12-12-2006 08:26:35

Bueno, la prisa es mala consejera... Bastaba con poner esto:

Código:

  ...
  try
    vLista.LoadFromFile('ElFicheroQueQuieroLeer');
    Writeln(iImpresora, vLista.Text );
  finally
  ...

Mis disculpas...

newdelphi7 12-12-2006 14:50:06

Gracias elKurjan pero mira el Metodo que yo use
 
Gracias, pero no solo la prisa es mala consejera, sino tambien la falta de conocimiento en la materia, anoche me sente y pude hacer el sistemita... mira como lo hice.

Código:

Var
iImpresora: TextFile;
Fichero: TextFile;
Linea: String;
Contador: integer;
begin
Contador :=0;
AssignFile(Fichero,'C:\Tarjeta\tarjeta.txt');
Assignfile(iImpresora,'Lpt1');
Reset(Fichero);
While Eof(Fichero)=False Do
 Begin
 Readln(Fichero,Linea);
 Rewrite(iImpresora);
 Writeln(iImpresora, Linea);
 Inc(Contador);
 end;
Closefile(Fichero);
end;

Gracias de todas formas probare el metodo que me diste, a ver que tal y gracias de nuevo......


La franja horaria es GMT +2. Ahora son las 05:50:17.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi