Показать сообщение отдельно
  #4  
Старый 30.04.2011, 15:59
dmi3j dmi3j вне форума
Прохожий
 
Регистрация: 29.04.2011
Сообщения: 2
Репутация: 10
По умолчанию

звыняйте.
вот полностю код.
Код:
  Result := True;
  Screen.Cursor := crHourglass;
  with Printer do
    try
      PrinterIndex := Prnt;
      BeginDoc;
      with Canvas.Font do
      begin
        Name := 'Arial Cyr';
        Size := 9;//7; //10;
        PInch := PixelsPerInch;
        Style := [fsBold];
      end;
      try
        for J := Low(Bmp) to High(Bmp) do
          begin
          DrawPrintReportBmp(Canvas, 0, PInch, Bmp[J]);
          end;
        for I := Low(Arr) to High(Arr) do
          DrawPrintReportRec(Canvas, CopyNo, PInch, Arr[i], False, DotMatrix);
      finally
        EndDoc;
      end;         
  finally
    Screen.Cursor := crDefault;
  end;

procedure DrawPrintReportBmp(Canvas: TCanvas; PageNo, PerInch: Integer;
  const Rec: TPrintReportBmp);
begin
  with Rec do
    //if (AtPage <= 0) or (AtPage = PageNo) then
      ImageDrawIn(Canvas, PerInch, X, Y, W, H, FileName);
end;


procedure ImageDrawIn(Canvas: TCanvas; PerInch: Integer;
  X, Y, W, H: Extended; const FileName: String);
var
  Jpg: TJpegImage;
  PX, PY, PW, PH: Integer;
begin
  if not FileExists(FileName) then
  begin
    ErrorFmtDlg(SDataModErrorTemplateNotExists, [FileName]);
    Exit;
  end;
  PX := Round(PerInch * X / 2.54);
  PY := Round(PerInch * Y / 2.54);
  PW := Round(PerInch * W / 2.54);
  PH := Round(PerInch * H / 2.54);
  Jpg := TJPEGImage.Create;
  try
    Jpg.LoadFromFile(FileName);
//    sleep(1500);
    Canvas.StretchDraw(Bounds(PX, PY, PW, PH), Jpg);
  finally
    Jpg.Free;
  end;
end;
Админ: Пользуемся тегами для оформления кода!
Ответить с цитированием