Цитата:
Сообщение от 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 автоматически при запуске этого приложения?