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

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

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

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

Купить рекламу на форуме 15-35 тыс рублей в месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2009, 18:55   #1
Влад12
Пользователь
 
Аватар для Влад12
 
Регистрация: 03.05.2009
Сообщений: 10
По умолчанию Печать. Что делает MS и не делает Delphi

Проблема заключается в следующем. Не могу печатать на домашнем принтере из своих программ. Индикаторы вообще никак не реагируют. Но стоит распечатать что-нибудь из Excel или Word, начинает работать печать и из моих программ. В чем дело: в драйверах или в настройках принтера, которую предварительно производят оффисные программы? Прошу помочь разобраться. Заранее благодарен.
Влад12 вне форума Ответить с цитированием
Старый 30.11.2009, 19:10   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Принтер инициализируется командой Printer.BeginDoc.
После окончания печати не забудьте поставить Printer.EndDoc.
mihali4 вне форума Ответить с цитированием
Старый 30.11.2009, 21:35   #3
Влад12
Пользователь
 
Аватар для Влад12
 
Регистрация: 03.05.2009
Сообщений: 10
По умолчанию

Это понятно. В программе я использую графическую печать рисунков и текста в т.ч. Структура процедуры печати примерно такая:
Код:
procedure TForm1.BtnPrintClick(Sender: TObject);
begin
  if Not PrintDoc.Execute then Exit;
  Printer.Orientation := poPortrait;
  Printer.BeginDoc;
    Printer.Refresh;
    with Printer.Canvas do begin
      ...
    end;
  Printer.EndDoc;
end;
Знаю, что выбор принтера происходит, но сам принтер почему-то "молчит". После печати чего-нибудь в Word, например, спокойно начинает все печатать.

Последний раз редактировалось mihali4; 01.12.2009 в 15:53.
Влад12 вне форума Ответить с цитированием
Старый 30.11.2009, 21:55   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

А по шагам проходили эту процедурку?
На первой строке на Exit не уходит?

З.Ы. Оформляйте код по правилам!

Последний раз редактировалось mihali4; 01.12.2009 в 15:53.
mihali4 вне форума Ответить с цитированием
Старый 01.12.2009, 08:58   #5
М_Виктор
Пользователь
 
Регистрация: 18.09.2009
Сообщений: 49
По умолчанию

Цитата:
Сообщение от Влад12 Посмотреть сообщение
Структура процедуры печати примерно такая:
procedure TForm1.BtnPrintClick(Sender: TObject);
begin
...
Printer.BeginDoc;
Printer.Refresh;
...
end;
А для чего здесь строка Printer.Refresh ?

Последний раз редактировалось mihali4; 01.12.2009 в 15:54.
М_Виктор вне форума Ответить с цитированием
Старый 01.12.2009, 17:22   #6
Влад12
Пользователь
 
Аватар для Влад12
 
Регистрация: 03.05.2009
Сообщений: 10
По умолчанию

М_Виктор. Print.Refresh возможно лишняя (Refresh, по-моему, восстанавливает установки принтера по умолчанию).

mihali4. Нет, на Exit не уходит-проверял.Запускал программу при открытых окнах "Принтеры и факсы" и своего принтера "hp LaserJet P1005". При нажатии "ОК" в графе "Состояние" появлялась надпись "Идет печать", но сам принтер "молчал"
Влад12 вне форума Ответить с цитированием
Старый 01.12.2009, 18:41   #7
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

А если с использованием PrintDialog и PrinterSetupDialog ?
mihali4 вне форума Ответить с цитированием
Старый 05.05.2010, 20:04   #8
bip
Новичок
Джуниор
 
Регистрация: 05.05.2010
Сообщений: 2
По умолчанию

У меня такая же проблема.
Помогите разобраться в чём дело?
bip вне форума Ответить с цитированием
Старый 05.05.2010, 20:04   #9
bip
Новичок
Джуниор
 
Регистрация: 05.05.2010
Сообщений: 2
По умолчанию

всё перепробовал...
bip вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что делает эта строчка??? marselik Общие вопросы C/C++ 2 02.11.2009 13:54
Что делает этот код? lucky Общие вопросы Delphi 4 17.06.2009 17:02
функция high что делает? Ivan3000 Помощь студентам 2 04.06.2009 14:05
Что делает эта прога StudentPolitech Общие вопросы C/C++ 1 25.03.2009 22:54
Что делает этот while do? Levhik Общие вопросы C/C++ 4 25.01.2009 17:27