Показать сообщение отдельно
  #16  
Старый 17.11.2013, 21:25
Delphi_Source Delphi_Source вне форума
Прохожий
 
Регистрация: 01.10.2013
Сообщения: 32
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от poli-smen
Да. Но присутствия компонента TPrintDialog недостаточно для вывода этого диалогового окна - ещё нужно вызвать метод Execute этого компонента:
Код:
if PrintDialog1.Execute then // Если пользователь нажал кнопку "ОК" в диалоге печати...
begin
  // ... тогда печатаем
end;

Процесс печати подредактировал:

Код:
procedure TForm1.Button2Click(sender: tobject);
var i:integer;
Prn, Txt: TextFile;
begin
//Если запущен диалог печати и не было отмены
if PrintDialog1.Execute then begin
//Задание количества копий
Printer.Copies:=PrintDialog1.Copies;
//Задание параметров шрифта
Printer.Canvas.Font.Name:='Times New Roman';
Printer.Canvas.Font.Size:=14;
//Связывание текстового файла с принтером по умолчанию
AssignPrn(Prn); // Переназначаем вывод в файл на вывод в принтер
  AssignFile(Txt, 'C:\ТекстДок.txt');
  Rewrite(Prn); // Готовим принтер к печати
  Rewrite(Txt);
  Printer.Canvas.Font:= Memo.Font;

  // Цикл печати:
  for i := 0 to Memo.Lines.Count - 1 do
  begin
    Writeln(Prn, Memo.Lines[i]);
    Writeln(Txt, Memo.Lines[i]);
  end;

  CloseFile(Prn);
  CloseFile(Txt);
end;
end;
end.


Теперь появилось стандартное диалоговое окно для выбора параметров печати.
Текст с Memo автоматически отображается в текстовом документе.
Все идеально! Спасибо большущее.

Скажите, а если я изменю текст в этом файле, то он отобразится на поле Memo в Delphi автоматически при запуске этого приложения?
Ответить с цитированием