C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Надо распечатать, Посоветуйте как сделать
Parasit
  Отправлено: 03.02.2007, 17:44


Дежурный стрелочник

Группа: Участник
Сообщений: 68



Проблема вся заключается в распечатование результата.
У меня пр-а считает некоторые данные.

Задача вот в чём:

Результаты должны выстроиться в 2 столбика

имя0 | кол-во0
имя1 | кол-во1 ...

вот как можно красиво распечатать такое чтобы
начала столбиков по горизонтали было ровное?
AVC
Отправлено: 05.02.2007, 09:16


Ветеран

Группа: Модератор
Сообщений: 1583



Использовать моноширинный шрифт (например Courier) или настроить табулостопы.
nawok78
Отправлено: 05.02.2007, 10:53


Станционный диспетчер

Группа: Участник
Сообщений: 115



Использование Таблостопов (код на паскале Text — TRxRichEdit)
CODE

 Text.Paragraph.TabCount:=4;
 Text.Paragraph.Tab[0]:=40;
 Text.Paragraph.Tab[1]:=250;
 Text.Paragraph.Tab[2]:=320;
 Text.Paragraph.Tab[3]:=390;
Doga
Отправлено: 05.02.2007, 13:26


Мастер участка

Группа: Участник
Сообщений: 575



Можно ещё воспользоваться функциями
QUOTE

function AddChar(C: Char; const S: string; N: Integer): string;
Description
Добавляет слева к стpоке S символы C до длины S=N.


или

QUOTE

function AddCharR(C: Char; const S: string; N: Integer): string;
Description
Добавляет справа к стpоке S символы C до длины S=N.


из библиотеки RxLib.

Сначала определяете макс. кол-во символов в каждом столбце, затем форматируете столбцы одной из вышеуказанных функций.

Отредактировано Doga — 05.02.2007, 13:27
Parasit
Отправлено: 06.02.2007, 01:33


Дежурный стрелочник

Группа: Участник
Сообщений: 68



Интересно! Ща буду практиковатся

Но всё таки
отформатировать я то смогу(я так думаю smile.gif)
А вот спринтом у мня проблемы


Я вот сделал так QReport
поставил на неё еще компоненты поставил
qrMEmo ну и тому соот-й гадости
после написал типа QUICKREP1->PRINT():
это будет работать если да то че принтер выведит
я сам проверить не могу принтера нет!
nawok78
Отправлено: 06.02.2007, 08:50


Станционный диспетчер

Группа: Участник
Сообщений: 115



QUOTE

после написал типа QUICKREP1->PRINT():
это будет работать если да то че принтер выведит
я сам проверить не могу принтера нет!

ну во-первых
установи принтер smile.gif — виртуальный.
а во-вторых
Quickrep1->Preview() ; — тут ты все и увидишь smile.gif
Parasit
Отправлено: 07.02.2007, 20:47


Дежурный стрелочник

Группа: Участник
Сообщений: 68



Интересно про вертуальный это как
(делал сохранить в файл ну всё равно не уверен)

Quickrep1->Preview() ;

я просто еще не далёк
что произойти должно???
nawok78
Отправлено: 08.02.2007, 14:10


Станционный диспетчер

Группа: Участник
Сообщений: 115



виртуальный? — просто

заходишь в "Принтеры и факсы"
нажимаешь "Установить принтер" — и устанавливаешь — какой тебе понравиться! я так еще лет 5 назад делел smile.gif

Preview выводит на экран результат твоего отчета
Parasit
Отправлено: 08.02.2007, 19:35


Дежурный стрелочник

Группа: Участник
Сообщений: 68



Ща попробуем
nawok78
Отправлено: 09.02.2007, 11:06


Станционный диспетчер

Группа: Участник
Сообщений: 115



ну как?
Parasit
Отправлено: 11.02.2007, 14:04


Дежурный стрелочник

Группа: Участник
Сообщений: 68



Чё не делаю принтпревью вечно пустой млин sad.gif



(Я правильно вооще делаю или нет с QR?
может есть другой способ распечатать
чтоб по проще
!
)
nawok78
Отправлено: 12.02.2007, 09:13


Станционный диспетчер

Группа: Участник
Сообщений: 115



к TDataSet подключил?
у QRMemo1 указал DataSet и DataField&
TDataSet сделал активным?
Книжку по билдеру читал? есть утебя?

Была такая же фигня — распечатать из Бд
Я както заморачиваться по этому не стал — использовал RichEdit,
а вернее RxRichEdit

Вернуться в Вопросы программирования в C++Builder