Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2016, 22:07   #1
lichking
Пользователь
 
Регистрация: 31.10.2016
Сообщений: 54
По умолчанию Распечатка файла

распечатка файла delphi 10.1 Berlin отправить на распечатку средствами delphi
lichking вне форума Ответить с цитированием
Старый 31.10.2016, 22:33   #2
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

запечатка файла delphi 10.1 Berlin отправить на запечатку средствами delphi
come-on вне форума Ответить с цитированием
Старый 01.11.2016, 07:15   #3
Replicant
Форумчанин
 
Аватар для Replicant
 
Регистрация: 17.08.2009
Сообщений: 139
По умолчанию

Код:
Пример кода : Относительно простой пример
const
  TOTAL_PAGES = 4;      // Сколько страниц печатать
var
  printDialog    : TPrintDialog;
  page, startPage, endPage : Integer;

begin
  // Создание диалога выбора принтера
  printDialog := TPrintDialog.Create(Form1);

  // Установка опций диалога печати
  printDialog.MinPage := 1;               
  printDialog.MaxPage := TOTAL_PAGES;
  printDialog.ToPage  := TOTAL_PAGES;
  printDialog.Options := [poPageNums];

  // Если пользователь выбрал принтер (или значение по умолчанию), то печатаем!
  if printDialog.Execute then
  begin
    // Используйте функцию Printer, чтобы получить доступ к глобальному объекту TPrinter.
    // Set to landscape orientation
    Printer.Orientation := poLandscape;

    // Установите заголовок printjob - как оно появляется в менеджере задания по выводу на печать
    Printer.Title := 'Test print for Delphi';

    // Устанавливаем число копий для печати каждой страницы
    Printer.Copies := printDialog.Copies;

    // Начало печати
    Printer.BeginDoc;

    // Пользователь выбрал диапазон страниц?
    if printDialog.PrintRange = prPageNums then
    begin
      startPage := printDialog.FromPage;
      endPage   := printDialog.ToPage;
    end
    else // Все страницы
    begin
      startPage := 1;
      endPage   := TOTAL_PAGES;
    end;

    // Установка номера начальной страницы
    page := startPage;

    // Продолжаем печатать пока всё OK
    while (not Printer.Aborted) and Printer.Printing do
    begin
      // Пишем номер страницы
      Printer.Canvas.Font.Color := clBlue;
      Printer.Canvas.TextOut(40,  20, 'Page number = '+IntToStr(page));

      // Увеличиваем номер страницы
      Inc(page);

      // Теперь начинаем новую страницу - если она не последняя
      if (page <= endpage) and (not printer.aborted)
      then Printer.NewPage;
    end;

    // Конец печати
    Printer.EndDoc;
  end;
end;

Последний раз редактировалось Replicant; 01.11.2016 в 07:17.
Replicant вне форума Ответить с цитированием
Старый 01.11.2016, 22:24   #4
lichking
Пользователь
 
Регистрация: 31.10.2016
Сообщений: 54
По умолчанию

А как с помощью OpenDialog1 присвоить распечатке нужный фаил
lichking вне форума Ответить с цитированием
Старый 02.11.2016, 02:12   #5
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Цитата:
Сообщение от lichking Посмотреть сообщение
А как с помощью OpenDialog1 присвоить распечатке нужный фаил
А может тебе и кофе еще сварить?
northener вне форума Ответить с цитированием
Старый 02.11.2016, 09:53   #6
lichking
Пользователь
 
Регистрация: 31.10.2016
Сообщений: 54
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
А может тебе и кофе еще сварить?
к сожалению варка кофе не решает этой проблемы
lichking вне форума Ответить с цитированием
Старый 02.11.2016, 12:04   #7
Replicant
Форумчанин
 
Аватар для Replicant
 
Регистрация: 17.08.2009
Сообщений: 139
По умолчанию

Цитата:
Сообщение от lichking Посмотреть сообщение
А как с помощью OpenDialog1 присвоить распечатке нужный фаил
Код:
uses
     ShellApi
procedure TForm1.ButtonClick(Sender: TObject);
begin
if OpenDialog1.Execute then
  ShellExecute(Handle, 'Print', PWideChar(Opendialog1.FileName), nil, nil, SW_Hide);
end;

Последний раз редактировалось Replicant; 02.11.2016 в 12:09.
Replicant вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
распечатка ценников illyxin Microsoft Office Excel 17 01.09.2013 19:59
распечатка nolte Microsoft Office Excel 3 22.09.2012 23:31
Распечатка DBGrid??? $T@LKER БД в Delphi 13 07.05.2010 10:50
Распечатка Memo Волк Общие вопросы Delphi 7 20.04.2010 12:44