Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 30.11.2009, 19:55   #1
Влад12
Пользователь
 
Аватар для Влад12
 
Регистрация: 03.05.2009
Адрес: Россия, Курган
Сообщений: 10
Репутация: 10

icq: 459-887-444
По умолчанию Печать. Что делает MS и не делает Delphi

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

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

icq: 459-887-444
По умолчанию

Это понятно. В программе я использую графическую печать рисунков и текста в т.ч. Структура процедуры печати примерно такая:
Код:
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 в 16:53.
Влад12 вне форума   Ответить с цитированием
Старый 30.11.2009, 22:55   #4
mihali4
*
Профессионал
 
Регистрация: 22.11.2006
Адрес: Москва
Сообщений: 9,201
Репутация: 2695
По умолчанию

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

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

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

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

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

icq: 459-887-444
По умолчанию

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

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

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

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

всё перепробовал...
bip вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


22:25.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.