Форум: "Основная";
Текущий архив: 2007.01.21;
Скачать: [xml.tar.bz2];
ВнизПроблемы с печатью! Информации нет, помогите! Найти похожие ветки
← →
Шоломицкий С. А. (2006-11-25 13:50) [0]Имеется принтер HP 9050.
В нём есть из того что мне нужно: нижний лоток, верхний лоток, лоток ручной подачи.
Мне очень надо уметь печатать с любого из этих трёх лотков.
Облазил весь интернет, нашёл единственный пример, который у меня никак не работат. Вот он:
var
ADevice, ADriver, APort: array[0..255] of char;
ADeviceMode: THandle;
DevMode: PDevMode;
begin
with Printer do
begin
GetPrinter(ADevice, ADriver, APort, ADeviceMode);
SetPrinter(ADevice, ADriver, APort, 0);
GetPrinter(ADevice, ADriver, APort, ADeviceMode);
DevMode := GlobalLock(ADeviceMode);
if not Assigned(DevMode) then
ShowMessage("Не могу установить принтер")
else
begin
with DevMode^ do
begin
dmDefaultSource := DMBIN_UPPER;
end;
GlobalUnlock(ADeviceMode);
SetPrinter(ADevice, ADriver, APort, ADeviceMode);
end;
end;
Printer.BeginDoc;
Printer.Canvas.TextOut(50, 50, "Печать из верхнего лотка");
with DevMode^ do
begin
dmDefaultSource := DMBIN_LOWER;
end;
Printer.NewPageDC(DevMode);
Printer.Canvas.TextOut(50, 50, "Печать из нижнего лотка");
Printer.EndDoc;
ЗаместоdmDefaultSource := DMBIN_LOWER;
иdmDefaultSource := DMBIN_UPPER;
можно подставлять цифры (как бы номер лотка).
Ставил самые разные, от 1 до 10..во всех случаях оба листа берутся из нижнего лотка!
Кстати, в коде есть вот это
procedure TPrinter.NewPageDC(DM: PDevMode);
begin
CheckPrinting(True);
EndPage(DC);
if Assigned(DM) then
ResetDC(DC, DM^);
StartPage(DC);
Inc(FPageNumber);
Canvas.Refresh;
end;
Нашёл, что это нужно для изменеиня любых установок во время печати.
Короче, ничего не получается...
А надо очень...
Пожалуйста, помогите!!!!
← →
Leonid Troyanovsky © (2006-11-25 14:05) [1]
> Шоломицкий С. А. (25.11.06 13:50)
> Облазил весь интернет, нашёл единственный пример,
http://groups.google.com/group/borland.public.delphi.nativeapi.win32/msg/78ab555fb875269c
--
Regards, LVT.
← →
Шоломицкий С. А. (2006-11-25 14:11) [2]спасибо..жалко я не на работе и не могу это проверить..
хотя данный вами код особо не отличается от того, что я написал..
он вообще, в принципе, такой же(
← →
Leonid Troyanovsky © (2006-11-25 14:19) [3]
> Шоломицкий С. А. (25.11.06 14:11) [2]
> хотя данный вами код особо не отличается от того, что я
> написал..
> он вообще, в принципе, такой же(
Этот код, вообще-то, дал Peter Below.
Ну, а отличия, все же, заметны. Например:
dmFields := dmFields or DM_DEFAULTSOURCE;
Кста, Printer это из Printers.pas.
--
Regards, LVT.
← →
Шоломицкий С. А. (2006-11-25 15:10) [4]Спасибо большое. Надеюсь сработает...
а во тесли нет...то можно вешаться прям((
← →
Leonid Troyanovsky © (2006-11-25 15:13) [5]
> Шоломицкий С. А. (25.11.06 15:10) [4]
> а во тесли нет...то можно вешаться прям((
Перед повешанием, все же, желательно
информировать общественность о срабатывании.
Для пользы будущих поколений, так сказать.
--
Regards, LVT.
← →
Anatoly Podgoretsky © (2006-11-25 15:17) [6]> Leonid Troyanovsky (25.11.2006 15:13:05) [5]
Это можно сказать только после повешания.
← →
Leonid Troyanovsky © (2006-11-25 15:29) [7]
> Anatoly Podgoretsky © (25.11.06 15:17) [6]
> Это можно сказать только после повешания.
Анатолий, нас могут заподозрить в заинтересованности.
--
Regards, LVT.
← →
Anatoly Podgoretsky © (2006-11-25 15:33) [8]> Leonid Troyanovsky (25.11.2006 15:29:07) [7]
Не нас, а вас
← →
Leonid Troyanovsky © (2006-11-25 15:45) [9]
> Anatoly Podgoretsky © (25.11.06 15:33) [8]
> Не нас, а вас
Я уже на полдороги в Баден-Баден.
--
Regards, LVT.
← →
Шоломицкий С. А. (2006-11-26 00:17) [10]Обязательно сообщу, что да как, но только в понедельник(
← →
Андрей Сенченко © (2006-11-26 13:10) [11]Общественность заинтересована в принципе только двумя вещами из обширного списка "Что да как"
1. DM_DEFAULTSOURCE
2. Собственно как там там повешенье
... отсутствие ответа на 2й вопрос будет воспринято с пониманием.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2007.01.21;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.047 c