Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.09;
Скачать: CL | DM;

Вниз

Посоветуйте плз компонент для печати   Найти похожие ветки 

 
Dy1 ©   (2007-07-22 13:31) [0]

KOLPrint Богуслава
а) жутко глючит (КОЛнМЦК 2.71, Д7)
б) есть св-во "pdSelection" и др., соответствующие окна на диалоге не отображаются (а есть ли они вообще?)


 
Dimaxx ©   (2007-07-22 16:02) [1]

Есть KOLMHPrinters Жарова. Пользовался (правда для простой печати) - работает...


 
Dy1 ©   (2007-07-22 18:28) [2]

Есть ли демка? Программист я никакой. Инглиш знаю плохо и ИМХО в модуле комментарии написаны на не совсем английском :)


 
Дмитрий К ©   (2007-07-22 19:22) [3]


> Есть ли демка?

Не знаю, правильно написал или нет, но у меня работает.

Печатает картинку во всю страницу на принтер по умолчанию:
program testMHPrinters;

uses
 KOL, KOLMHPrinters;

type
 PForm1 = ^TForm1;
 TForm1 = object(TObj)
   form, btn: pcontrol;
   osd: POpenSaveDialog;
   procedure DoClick(Sender: PObj);
 end;
var Form1: PForm1;

procedure NewForm1(var Result: PForm1; AParent: PControl);
begin
 New(Result, Create);
 with Result^ do
 begin
   form:=NewForm(AParent, "TestMHPrinters").SetSize(200,100);
   btn := NewButton(form, "Print").CenterOnParent;
   osd := NewOpenSaveDialog("Select Picture to Print","",[]);
   form.Add2AutoFree(osd);
   btn.OnClick := DoClick;
 end;
end;
{ TForm1 }

procedure TForm1.DoClick(Sender: PObj);
var bmp: PBitmap; prn: PMHPrinter;
begin
 with osd^ do
 begin
   Filter := "Bitmaps (*.bmp)|*.bmp";
   if Execute then
   begin
     bmp:=NewBitmap(0,0);
     try
       bmp.LoadFromFile(Filename);
       prn := Printer;
       try
         prn.BeginDoc;
         bmp.StretchDraw(Prn.Canvas.Handle, prn.Canvas.ClipRect);
         prn.EndDoc;
       finally
         prn.Free
       end;
     finally
       bmp.Free;
     end;
   end;
 end;
end;

begin
 NewForm1(Form1,nil);
 Run(Form1.form);
end.


 
Dy1 ©   (2007-07-23 00:32) [4]

pn := Printer;
 try
   pn.BeginDoc;
   pn.EndDoc;
 finally
   pn.Free;
 end;

Освобождение освобождённого объекта. Если без Free, то небольшая утечка памяти в KOLMHPrinters.pas

ТЗ: Есть столбик строк (в Memo) длиной не больше 30 символов каждая. Нужно его распечатать в 2 столбика на странице. Нужен диалог выбора принтера со всеми стандартными (?) опциями и желательно превью.
До сих пор я использовал VCL-ный компонент. И если KOLMHPrinters не оправдает моих надежд, придётся доделывать прогу на VCL, а она обрабатывает файлы медленнее в 100-200 раз (странный разброс, но это так) :(


 
Дмитрий К ©   (2007-07-23 05:42) [5]

Если нужны диалоги, то без компонент Брандиса не обойтись.

> а) жутко глючит (КОЛнМЦК 2.71, Д7)

В чем конкретно проявляется?

> б) есть св-во "pdSelection" и др., соответствующие окна
> на диалоге не отображаются (а есть ли они вообще?)

Создавать без pdPrinterSetup


 
Dy1 ©   (2007-07-23 07:57) [6]

> > а) жутко глючит (КОЛнМЦК 2.71, Д7)
> В чем конкретно проявляется?

Тормозит, загружает проц до висюка (если ошибок в проге нет - на несколько секунд)...

> > б) есть св-во "pdSelection" и др., соответствующие окна
> > на диалоге не отображаются
> Создавать без pdPrinterSetup

В этом случае вырубается explorer.exe :-7


 
Дмитрий К ©   (2007-07-23 08:59) [7]


> Dy1 ©   (23.07.07 07:57) [6]

Действительно. Жуть.
Я вот тут попробовал - диалог создается без проблем, даже печатается чего-то.
Но если у вас действительно такие глюки, стоит подумать об оптимизации обработки файлов в VCL.



Страницы: 1 вся ветка

Текущий архив: 2008.03.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
2-1202986908
asdf2
2008-02-14 14:01
2008.03.09
Где найти компонент TNMHTTP?


15-1202008649
ketmar
2008-02-03 06:17
2008.03.09
по php и APC, XCache и eAccelerator


15-1201851717
homm
2008-02-01 10:41
2008.03.09
Осторожней, Москвичи!


11-1185003728
Vladimyr
2007-07-21 11:42
2008.03.09
Запуск Апплета через сервис


2-1202718597
Петр
2008-02-11 11:29
2008.03.09
timer+forma