Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.10.2012, 00:03
aqula aqula вне форума
Новичок
 
Регистрация: 19.10.2012
Сообщения: 95
Репутация: 10
По умолчанию Печать объекта

Рябят помогите плиз. Запутался.
Я тут пытаюсь распечатать штрих-код.
Скачал barcode.pas
Прикрутил юнит.
Теперь хочу его вывести на принтер
Пытаюсь так
Код:
Printer.BeginDoc;
Printer.Canvas.Draw(0, 0, BarCode1);
Printer.EndDoc;
Пишет
[Error] Unit1.pas(52): Incompatible types: 'TGraphic' and 'TBarCode'
Хочет чтоб графический был, а лучше битмап.
Но по сути он и есть битмап только уже в виде объекта.
Ответить с цитированием
  #2  
Старый 20.10.2012, 00:07
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от aqula
Рябят помогите плиз. Запутался.
Я тут пытаюсь распечатать штрих-код.
Скачал barcode.pas
Прикрутил юнит.
Теперь хочу его вывести на принтер
Пытаюсь так
Код:
Printer.BeginDoc;
Printer.Canvas.Draw(0, 0, BarCode1);
Printer.EndDoc;
Пишет
[Error] Unit1.pas(52): Incompatible types: 'TGraphic' and 'TBarCode'
Хочет чтоб графический был, а лучше битмап.
Но по сути он и есть битмап только уже в виде объекта.
Нет. Если бы он действительно был TBitmap, то в этом месте не ругался бы.
Ответить с цитированием
  #3  
Старый 20.10.2012, 00:19
aqula aqula вне форума
Новичок
 
Регистрация: 19.10.2012
Сообщения: 95
Репутация: 10
По умолчанию

Тогда получается его надо преобразовать или сохранить в этот TBitmap или TGraphic?
Как бы это сделать?
Ответить с цитированием
  #4  
Старый 20.10.2012, 00:55
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от aqula
Тогда получается его надо преобразовать или сохранить в этот TBitmap или TGraphic?
Как бы это сделать?
Тебе нужно либо прочитать документацию на этот объект, либо поизучать файл barcode.pas. У меня нет ни того ни другого, поэтому единственное что я мог по поводу этой ошибки написать, я уже написал выше.

p.s. Вообще нет такого понятия как "Печать объекта", так как "объект" это абстрактное понятие, его невозможно увидеть. А раз невозможно увидеть, то и распечатать тоже невозможно.
Ответить с цитированием
  #5  
Старый 20.10.2012, 08:43
aqula aqula вне форума
Новичок
 
Регистрация: 19.10.2012
Сообщения: 95
Репутация: 10
По умолчанию

Согласен. Тут правильнее было бы сказать "печать компонента".
Вот сам barcode.pas
_http://www.delphisources.ru/pages/sources/raznoe/2007_year/barcode39.html
И мне его надо напечатать на бумаге. Помоги.
Ответить с цитированием
  #6  
Старый 20.10.2012, 19:04
aqula aqula вне форума
Новичок
 
Регистрация: 19.10.2012
Сообщения: 95
Репутация: 10
По умолчанию

многие говорят надо преобразовать в битмап и можно сделать что-то типа этого
Код:
uses
  Printers;
...
Printer.BeginDoc;
try
  Printer.Canvas.Draw (PosX, PosY, FBarcodeBitmap);
finally
  Printer.EndDoc;
end;

А как это делается? Сложновато для меня. Помогите плиииз.
Ответить с цитированием
  #7  
Старый 20.10.2012, 21:58
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от aqula
Согласен. Тут правильнее было бы сказать "печать компонента".
Вот сам barcode.pas
_http://www.delphisources.ru/pages/sources/raznoe/2007_year/barcode39.html
И мне его надо напечатать на бумаге. Помоги.
Посмотрел я этот компонент.
К сожалению он не позволяет рисовать себя на произвольной канве без соответствующей доработки.
Однако его можно распечатать обходным путём:
Положи на форму панель (TPanel) и на эту панель кинь этот компонент (TBarCode). Теперь можно распечатывать на принтере эту панель со всем её содержимым следующим образом:
Код:
Panel1.PaintTo(Printer.Canvas, 10, 20);
Ответить с цитированием
Ответ


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:08.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025