Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 23-02-2012
Avatar de ethangio
ethangio ethangio is offline
Miembro
 
Registrado: jul 2008
Posts: 63
Poder: 19
ethangio Va por buen camino
Newtron pero entonces como mando la secuencia de corte ??

He probado estos ejemplos de codigo y no me sale .. Tengo en el Form 1 listview y 1 memo

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var F : TextFile;
    i, j : integer;
    temp : string;
begin
     //AssignFile(F, 'COM3'); //corta localmente e imprime
     AssignPrn(F); //solo imprime 
     Rewrite(F);

     // Ponemos título de las columnas
     temp := 'Columna1 Columna2 Columna3 Columna4 Columna5';
     Writeln(F, temp);
     Writeln(F,'Hola linea 1');
     Writeln(F,#13+#10);
     Writeln(F,'Hola despues del enter linea 2');
     Writeln(F,#13+#10);
     Writeln(F,#13+#10);
     Writeln(F,#13+#10);
     Writeln(F,#13+#10); // secuencia de enter
     Writeln(F,#27+#109); //secuencia de corte
     CloseFile(F);
end;

procedure TForm1.Button2Click(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;
                 inc(y, 20);
                 TextOut(10, y, #27+#109);
      end;
     Printer.EndDoc;
end;

procedure TForm1.Button3Click(Sender: TObject);
var
  r: TRect;
  i: Integer;
begin
  with Printer do
    begin
      r := Rect(200,200,(Pagewidth - 200),(PageHeight - 200));
      BeginDoc;
      Canvas.Brush.Style := bsClear;
      for i := 0 to Memo1.Lines.Count do
      begin
       Canvas.TextOut(200,200 + (i *
                   Canvas.TextHeight(Memo1.Lines.Strings[i])),
                   Memo1.Lines.Strings[i]);
      end;

       Canvas.TextOut(200,200 + (9 *
                   Canvas.TextHeight(Memo1.Lines.Strings[9])),
                   #27+#109);

      Canvas.Brush.Color := clBlack;
      Canvas.FrameRect(r);
      EndDoc;
    end;
end;

procedure TForm1.Button4Click(Sender: TObject);
var
Handle: THandle;
N: DWORD;
DocInfo1: TDocInfo1;
s : string;
begin
if not OpenPrinter(PChar('\\ethan-PC\caja'), Handle, nil) then begin
ShowMessage('Printer «\\ethan-PC\caja» not found.');
Exit;
end;

with DocInfo1 do begin
pDocName := PChar('Document Name');
pOutputFile := nil;
pDataType := 'RAW';
end;

StartDocPrinter(Handle, 1, @DocInfo1);

s := 'First line of first page' + #13+#10;
WritePrinter(Handle, PChar(s), Length(s), N);
s := 'Second line of first page' + #13+#10;
WritePrinter(Handle, PChar(s), Length(s), N);
s := #27+#109;
WritePrinter(Handle, PChar(s), Length(s), N);

EndPagePrinter(Handle);

{s := 'First line of second page' + #13#10;
WritePrinter(Handle, PChar(s), Length(s), N);
s := 'Second line of second page' + #13#10;
WritePrinter(Handle, PChar(s), Length(s), N);
}
EndPagePrinter(Handle);

EndDocPrinter(Handle);

ClosePrinter(Handle);
end;

procedure TForm1.Button5Click(Sender: TObject);
var
  PrinterHandle: THandle;
  DocInfo: TDocInfo1;
  i: Integer;
  B: Byte;
  Escritos: DWORD;
  Str : String;
begin
  Str:='linea 1 ,,, '+#13+#10+'linea 2...'+#27+#109;
  if OpenPrinter(PChar('\\ethan-PC\caja'), PrinterHandle, nil) then
  try
    FillChar(DocInfo,Sizeof(DocInfo),#0);
    with DocInfo do
    begin
      pDocName:= PChar('Printer Test');
      pOutputFile:= nil;
      pDataType:= 'RAW';
    end;
    if StartDocPrinter(PrinterHandle, 1, @DocInfo) <> 0 then
    try
      if StartPagePrinter(PrinterHandle) then
      try
        while Length(Str) > 0 do
        begin
          if Copy(Str, 1, 1) = '\' then
          begin
            if Uppercase(Copy(Str, 2, 1)) = 'X' then
              Str[2]:= '$';
            if not TryStrToInt(Copy(Str, 2, 3),i) then
              Exit;
            B:= Byte(i);
            Delete(Str, 1, 3);
          end else B:= Byte(Str[1]);
          Delete(Str,1,1);
          WritePrinter(PrinterHandle, @B, 1, Escritos);
        end;
      finally
        EndPagePrinter(PrinterHandle);
      end;
    finally
      EndDocPrinter(PrinterHandle);
    end;
  finally
    ClosePrinter(PrinterHandle);
  end;
end;

jeje son mis ejemplos para imprimir .. Saludos

Newtron hay forma de saber por medio del nombre de la impresora local en que puerto esta conectada ???
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Imprimir con una impresora que no es la predeterminada principiante22 Varios 3 20-11-2008 11:37:25
Error al imprimir en impresora en red santiago14 Impresión 1 04-10-2007 14:52:27
Imprimir en impresora remota jlrbotella API de Windows 1 12-06-2007 23:48:19
Imprimir en impresora Virtual Alexander Impresión 2 23-11-2006 14:32:41
Imprimir directamente en la impresora? danytorres Impresión 1 12-01-2004 21:23:07


La franja horaria es GMT +2. Ahora son las 16:53:09.


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