Ver Mensaje Individual
  #2  
Antiguo 09-01-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Reputación: 24
__cadetill Va por buen camino
Un ejemplo de impresión con ficheros de texto

Código:
procedure TForm1.ImprimirClick(Sender: TObject);
var F : TextFile;
    i, j : integer;
    temp : string;
begin
     AssignFile(F, 'c:\lolo.txt');
     Rewrite(F);

     // Ponemos título de las columnas
     temp := 'Columna1 Columna2 Columna3 Columna4 Columna5';
     Writeln(F, temp);
     for i := 0 to ListView1.Items.Count - 1 do
      begin
           temp := ListView1.Items[i].Caption;
           for j := 0 to ListView1.Items[i].SubItems.Count - 1 do
               temp := temp + ' ' + ListView1.Items[i].SubItems[j];
           Writeln(F, temp);
      end;

     CloseFile(F);
end;
(esto imprime el contenido de un TListView)

Otro ejemplo con Canvas
Código:
procedure TForm1.ImprimirCanvasClick(Sender: TObject);
var y, i, j : integer;
    temp : string;
begin
     Printer.BeginDoc; 
     With Printer.canvas do
      Begin
           Printer.Title := 'El titulo del documento que quiero'; 
           Font.Name := 'MS Sans Serif'; 
           Font.Color := ClBlack; 
           Pen.Color := ClBlack; 
           Font.Size := 12; 
           Font.Name := 'Times New Roman';
           Font.Size := 12;

           // imprimimos ListView
           temp := 'Titulo que sale escrito en el papel';
           y := 100;
           TextOut(10, y, temp);
           for i := 0 to ListView1.Items.Count - 1 do
            begin
                 inc(y, 20);
                 temp := ListView1.Items[i].Caption;
                 for j := 0 to ListView1.Items[i].SubItems.Count - 1 do
                     temp := temp + ' ' + ListView1.Items[i].SubItems[j];
                 TextOut(10, y, temp);
            end;
      end;
     Printer.EndDoc;
end;
Para abrir el cajón portamonedas, sólo has de enviarle los siguientes códigos

Código:
procedure AbrirCajon;
var f : TextFile;
begin
     AssignFile(f,'lpt1');
     try
        Rewrite(f);
        Writeln(f,#27+'p0'+#100+#0);
     finally
            CloseFile(f);
     end;
end;
Para el tema de la guillotina..... ni idea
Responder Con Cita