Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2008.03.09;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "KOL";
Текущий архив: 2008.03.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.042 c
15-1202135900
oldman
2008-02-04 17:38
2008.03.09
Где можно бесплатно завести большой почтовый ящик?


4-1184068039
Инс
2007-07-10 15:47
2008.03.09
fs:


4-1184247411
GTR86
2007-07-12 17:36
2008.03.09
Номер винчестера


11-1184105149
Dimaxx
2007-07-11 02:05
2008.03.09
Установка пакета KOL 2.73 начисто - что случилось?


2-1202882049
Shousheng
2008-02-13 08:54
2008.03.09
memo прозрачное выделение





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский