Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Распечатать содержимое StringGrid и RichEdit(Memo), Стандартными средствами без Report'ов 
:(
    Опции темы
Jey_k
Дата 3.11.2004, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


WEB-командир
****


Профиль
Группа: Комодератор
Сообщений: 4149
Регистрация: 16.11.2003
Где: Москва

Репутация: 1
Всего: 61



Сабж, нужно срочно.
Через 2 недели сдаю работу.


--------------------
PM MAIL WWW   Вверх
Pakshin A. S.
Дата 3.11.2004, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Насколько я понял, вся эта потехо организуется через TPrinter. Там есть такая штука Printer.TextOut(x,y, text);, где x и y - как понимается, положение начала печати. В этом случае надо будет ещё с канвой яцейки работать, т. к. надо будет рассчитывать положение текста... короче, морока.
PM   Вверх
p0s0l
Дата 3.11.2004, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Принтеров не имею, но могу предположить, что:
для печати TRichEdit - RichEdit1.Print
StringGrid1 - это надо вручную на Printer.Canvas рисовать (Printer.Canvas.TextRect-ами)...
Либо же делать PaintTo, только там пикселизированно будет при распечатке (возможно), и при том, это подойдёт если StringGrid - небольшой, влазит на страницу...


--------------------
С уважением, г-н Посол.
PM   Вверх
Jey_k
Дата 4.11.2004, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


WEB-командир
****


Профиль
Группа: Комодератор
Сообщений: 4149
Регистрация: 16.11.2003
Где: Москва

Репутация: 1
Всего: 61



Цитата(p0s0l @ 3.11.2004, 19:10)

StringGrid1 - это надо вручную на Printer.Canvas рисовать (Printer.Canvas.TextRect-ами)...
Либо же делать PaintTo, только там пикселизированно будет при распечатке (возможно), и при том, это подойдёт если StringGrid - небольшой, влазит на страницу...

В ширину всего 5 ячеек, а вот по высоте может быть на несколько листов.
Народ!!! Хелп. Я с этим раньше не сталкивался.


--------------------
PM MAIL WWW   Вверх
Medved
Дата 4.11.2004, 03:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



А через поисковики найти или в FAQ заглянуть не пробовал?


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Jey_k
Дата 4.11.2004, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


WEB-командир
****


Профиль
Группа: Комодератор
Сообщений: 4149
Регистрация: 16.11.2003
Где: Москва

Репутация: 1
Всего: 61



Цитата(Pegas @ 4.11.2004, 03:13)

в FAQ заглянуть не пробовал?

нету


--------------------
PM MAIL WWW   Вверх
Jey_k
Дата 4.11.2004, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


WEB-командир
****


Профиль
Группа: Комодератор
Сообщений: 4149
Регистрация: 16.11.2003
Где: Москва

Репутация: 1
Всего: 61



Вот нарыл. Рекомендую в FAQ вставить. Это частенько спрашивают.
Код

procedure PrintGrid(sGrid: TStringGrid; sTitle: string);
var
 X1, X2: Integer;
 Y1, Y2: Integer;
 TmpI: Integer;
 F: Integer;
 TR: TRect;
begin
 Printer.Title := sTitle;
 Printer.BeginDoc;
 Printer.Canvas.Pen.Color  := 0;
 Printer.Canvas.Font.Name  := 'Times New Roman';
 Printer.Canvas.Font.Size  := 12;
 Printer.Canvas.Font.Style := [fsBold, fsUnderline];
 Printer.Canvas.TextOut(0, 100, Printer.Title);
 for F := 1 to sGrid.ColCount - 1 do
 begin
   X1 := 0;
   for TmpI := 1 to (F - 1) do
     X1 := X1 + 5 * (sGrid.ColWidths[TmpI]);
   Y1 := 300;
   X2 := 0;
   for TmpI := 1 to F do
     X2 := X2 + 5 * (sGrid.ColWidths[TmpI]);
   Y2 := 450;
   TR := Rect(X1, Y1, X2 - 30, Y2);
   Printer.Canvas.Font.Style := [fsBold];
   Printer.Canvas.Font.Size := 7;
   Printer.Canvas.TextRect(TR, X1 + 50, 350, sGrid.Cells[F, 0]);
   Printer.Canvas.Font.Style := [];
   for TmpI := 1 to sGrid.RowCount - 1 do
   begin
     Y1 := 150 * TmpI + 300;
     Y2 := 150 * (TmpI + 1) + 300;
     TR := Rect(X1, Y1, X2 - 30, Y2);
     Printer.Canvas.TextRect(TR, X1 + 50, Y1 + 50, sGrid.Cells[F, TmpI]);
   end;
 end;
 Printer.EndDoc;
end;




--------------------
PM MAIL WWW   Вверх
Medved
Дата 4.11.2004, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Спасибо!


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

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

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0488 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.