(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 

Конференция "Micro Focus/Borland"

Обсуждение вопросов, связанных с компанией Micro Focus/Borland, ее продуктами CaliberRM, CaliberRDM, SilkTest, StarTeam, TeamDefine, Together и других.

 
 
Добавить сообщение »

Тема: Печать на принтер вертикальных строк

Автор:  21414 Дата: 04.11.2013 11:55
<a href=http://www.amaranta-sozvezdie.ru/wp-content/languages/ target=_blank>Форум</a>
Ответить на сообщение »
 
Автор:  Semenko Дата: 04.11.2013 11:40
<a href="http://www.shop-tennis.ru/products_files/download/forum-970721.php">Рабочая программа по риторике 4 класс ладыженская</a>
Ответить на сообщение »
 
Автор:  rikom Дата: 04.11.2013 11:39
[открыть ссылку]
Ответить на сообщение »
 
Автор:  Роман Дата: 21.05.2011 12:54
Спасибо за код! отлично работает)) все перевернулось как надо)))
Ответить на сообщение »
 
Автор:  Creator Дата: 27.04.2003 15:07
QuickReport это дикий отстой. При этом ещё и глючный.
А вот как например сделать так что бы автоматом чертилась таблица на основе полей (те же линии)очень интересно было бы узнать.
Ответить на сообщение »
 
Автор:  Creator Дата: 27.04.2003 15:04
QuickReport это дикий отстой. При этом ещё и глючный.
А вот как например сделать так что бы поля автоматом складывались
в таблицу crystal очень интересно было бы узнать.
Ответить на сообщение »
 
Автор:  tntdoms Дата: 12.04.2001 13:24
Как книга называется?
Ответить на сообщение »
 
Автор:  Анатолий Дата: 17.11.2000 08:42
>Как напечатать на принтер вертикальные и горизонтальные строки, например, нарисовать заголовки таблицы.

Сам же отвечаю, может кому еще нужно. Нашел ответ в книге, которую только приобрел.
Попробовал, получилось.
Анатолий

unit VertPrint;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Printers;

type
TForm1 = class(TForm)
Button1: TButton;
PrintDialog1: TPrintDialog;
procedure RotatePrintFont;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure RotatePrintFont;
var
LogFont: TLogFont;
begin
with Printer.Canvas do begin
with LogFont do begin
lfHeight:= Font.Height; //Устанавливаем равным Printer.Canvas.Font.Height
lfWidth:= 0; //Разрешаем выбор ширины lfEscapement:= 900; //Десятые доли градуса (900 = 90 градусов)
lfOrientation:= lfEscapement; //Всегда устанавливаем значение lfEscapement
lfWeight:= FW_NORMAL; //По умолчанию
lfItalic:= 0; //Не курсив
lfUnderline:= 0; //Подчеркивания нет
lfStrikeOut:= 0; //Перечеркивания нет
lfCharSet:= RUSSIAN_CHARSET; //Русский набор символов
StrPCopy(lfFaceName, Font.Name); //Имя шрифта Printer.Canvas
lfQuality:= PROOF_QUALITY;
lfOutPrecision:= OUT_TT_ONLY_PRECIS; //Только шрифты TrueType
lfClipPrecision:= CLIP_DEFAULT_PRECIS; //По умолчанию
lfPitchAndFamily:= Variable_Pitch; //По умолчанию
end; {with LogFont}
end; {with Printer.Canvas}
Printer.Canvas.Font.Handle:= CreateFontIndirect(LogFont);
end; {RotatePrintFont}

procedure TForm1.Button1Click(Sender: TObject);
var
TempHeight: Integer;
SaveFont: TFont;
begin
if PrintDialog1.Execute then begin
Printer.BeginDoc;
try //1
Printer.Canvas.TextOut(100,100,'Ãîðèçîíòàëüíàÿ ñòðîêà');
TempHeight:= Printer.Canvas.TextHeight('Ïðîâåðêà ïå÷àòè âåðòèêàëüíîé ñòðîêè');
SaveFont:= Font.Create;
try //2
SaveFont.Assign(Printer.Canvas.Font);
RotatePrintFont;
Printer.Canvas.TextOut(200,300,'Âåðòèêàëüíàÿ ñòðîêà1');
Printer.Canvas.TextOut(500,500,'Âåðòèêàëüíàÿ ñòðîêà2');
Printer.Canvas.Font.Assign(SaveFont);
finally
SaveFont.Free;
end; {try 2}
finally
Printer.EndDoc;
end; {try 1}
end; {if}
end;

end.
Ответить на сообщение »
 
Автор:  Анатолий Дата: 15.11.2000 09:01
>А чем QuickReport не нравится?
Извините, я некоректно поставил вопрос. Дело в том, что я формирую таблицы спецификации оборудования, ипользуя свойство TPrinter.Canvas, впечатывая в таблицу данные из базы данных. Размеры должны точные по ГОСТ. Храню только данные, а когда пользователю нужна печать, таблица рисуется, в том числе рамка, штамп внизу, вписываю нужные данные. На экране я могу написать любым шрифтом, на принтер не могу передать напрвление печати строки вертикально, Word же позволяет задавать ориентацию строки. Значит как то это можно. Пока только нашел выход рисую строку в графическом редакторе, а потом печатаю, когда нужно, графический файл.
Ну можно сохранить все нужные надписи в базе для таблицы отдельно в базе, но для меня было бы удобнее через Canvas. с помощью его я могу что угодно нарисовать, написать, для меня это свобода.
Возможно я просто плохо знаю QuickReport?
С уважением, Анатолий
Ответить на сообщение »
 
Автор:  Tomas Дата: 15.11.2000 04:24
>Как напечатать на принтер вертикальные и горизонтальные строки, например, нарисовать заголовки таблицы.

Use Crystal Reports and everything will be OK :)
Ответить на сообщение »
 
Автор:  Денис Дата: 15.11.2000 04:13
А чем QuickReport не нравится?
Ответить на сообщение »
 
Автор:  Анатолий Дата: 25.10.2000 07:09
Как напечатать на принтер вертикальные и горизонтальные строки, например, нарисовать заголовки таблицы.
Ответить на сообщение »
 

Добавить сообщение »

 Распечатать »
 Правила публикации »
   
 Рекомендовать »  
 

Магазин программного обеспечения   WWW.ITSHOP.RU
VideoStudio Ultimate X10 ML. Электронный ключ
Microsoft Windows Professional 10 Russian Upgrade Academic OLP 1 License No Level
ESET NOD32 Secure Enterprise newsale for 26 user, лицензия на 1 год
IBM DOMINO COLLABORATION EXPRESS AUTHORIZED USER LICENSE + SW SUBSCRIPTION & SUPPORT 12 MONTHS
Acronis Backup 12.5 Advanced Server License incl. AAS ESD 1-4 Range
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
СУБД Oracle "с нуля"
Вопросы и ответы по MS SQL Server
Новости мира 3D-ускорителей
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
Обсуждения в форумах
Как мигрировать программу написанную на старом Буилдер 4.52 (1)
Мы поддерживаем старое приложение написанное с использованием С++ Буилдер 5.5 (ЕХЕ) и Буилдер...
 
Создание базы данных в Delphi, без сторонних БД (1)
Уважаемый автор, гуглю уже который день и у Вас как у всех "кидаем.." "даже не создаем проект"...
 
C++ Builder6 & Excel (11)
Доброе время суток! Пишу приложение в C++ Builder6 для формирования файлов Excel. Требуется...
 
Принцип создания плагинов в Delphi (3)
Достали, Эта статья не о плагинах а о подключении dll и возможности использования ресурсов в...
 
QuickREport (40)
Есть приложение скомпилированное в Delphi6. Для построения отчетов я использовал компонеты из...
 
 
 



    
rambler's top100 Rambler's Top100