Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.14;
Скачать: CL | DM;

Вниз

печать из TStringGrid a   Найти похожие ветки 

 
Lisa ©   (2004-02-28 16:25) [0]

Подскажите, плиз, как печатать из StringGrid"a?


 
Юрий Федоров ©   (2004-02-28 17:25) [1]

выводи на канву принтера то, что тебе надо, и все


 
Lisa ©   (2004-02-28 17:43) [2]

а как это сделать при помощи TPrintDialog??


 
jack128 ©   (2004-02-28 17:53) [3]


> а как это сделать при помощи TPrintDialog??

никак. Он не для этого предназначен. При фиксированном числе столбцов легче всего QuickReport (см. демо OnNeedData) иначе см [1] или если не нужно оформление, то печатай в текстовом режиме (AssignPrn + F1)


 
TButton ©   (2004-02-28 18:01) [4]

вчера это спрашивали уже. по ищи по форуму.


 
Ultr ©   (2004-02-28 20:55) [5]

Выведи на канву принтера канву СтрингГрида


 
jack128 ©   (2004-02-28 21:18) [6]


> Выведи на канву принтера канву СтрингГрида
Мда? Что то мне кажется выглядить это будет просто ужасно..


 
Lisa ©   (2004-02-29 12:54) [7]

В QuickReport не совсем понятно, как формируются данные, которые пойдут на печать.. Может что нибудь подскажете?
+
кол-во столбцов в таблице заранее не известно (оно определяется впоследствии програмно) - QuickReport в таком случае подойдет?


 
jack128 ©   (2004-02-29 13:04) [8]


> В QuickReport не совсем понятно, как формируются данные,
> которые пойдут на печать
в событии OnNeedData, я ж сказал - см demo

> кол-во столбцов в таблице заранее не известно (оно определяется
> впоследствии програмно) - QuickReport в таком случае подойдет?
в принципе да, но неудобно, нужно будет динамически отчет формировать. В таком случае я бы сам на канве рисовал, либо (даже скорее всего)в Excel"е отчет делал бы..


 
Lisa ©   (2004-02-29 13:10) [9]

> в событии OnNeedData, я ж сказал - см demo
я смотрела демо, но там достаточно сложно разобраться, а печать мне нужна как можно скорее..

> в принципе да, но неудобно, нужно будет динамически отчет
> формировать. В таком случае я бы сам на канве рисовал,
> либо (даже скорее всего)в Excel"е отчет делал бы..
Ты прелагаешь программно перетаскивать StringGrid в Excel и оттуда печатать?


 
тракторист   (2004-02-29 13:41) [10]

На сайте "Королевство Дельфи" есть статья К. Жабасова "Компоненты для печати TStringGrid и TDBGrid" и там же выложены эти компоненты с исходниками.


 
Lisa ©   (2004-02-29 13:50) [11]

To тракторист:
ты не мог бы подсказать, где конкретнее она лежит - не могу найти


 
jack128 ©   (2004-02-29 13:52) [12]


> я смотрела демо, но там достаточно сложно разобраться, а
> печать мне нужна как можно скорее..
чего сложно? Демо Quickrpt\Qr3 (в D5) юнит needdata десять строк кода (но еще раз повторюсь при зарание известном числе столбцов)


> Ты прелагаешь программно перетаскивать StringGrid в Excel
> и оттуда печатать?

Да - это выглядит примерно так

procedure TForm1.Button1Click(Sender: TObject);
var
XL,
WB: OleVariant;
WS: OleVariant;
Data, r: OleVariant;
i, j: integer;
begin
try
try
XL := CreateOleObject("Excel.Application");
WB := XL.Workbooks.Add;
Data := VarArrayCreate([0, sg.RowCount - 1, 0, sg.ColCount -1], varOleStr);
for i := 0 to sg.ColCount - 1 do
for j := 0 to sg.RowCount - 1 do
Data[j, i] := sg.Cells[i, j];
WS := WB.WorkSheets.Add;
r := WS.Range[WS.Cells[1, 1], WS.Cells[sg.RowCount, sg.ColCount]];
r.Value := Data;
WB.PrintOut;
finally
XL.Quit;
XL := NULL;
end;
except
raise;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
var i, j : integer;
begin
for i := 0 to sg.ColCount - 1 do
for j := 0 to sg.RowCount - 1 do
sg.Cells[i, j] := Format("Col = %d, Row = %d", [i, j]);
end;


 
тракторист   (2004-02-29 13:58) [13]

В Яндексе в поисковике набери "Компоненты для печати TStringGrid и TDBGrid" только без кавычек и сразу получишь нужную ссылку


 
jack128 ©   (2004-02-29 13:59) [14]

Кстати если ты таки заинтересуешься Excel"ем, то на том же Королевстве есть серия статей Евгения Старостина (если не соврать) по этой тематике..

P.S. Ну меня торкнуло - такую конструкцию написать
try
ля-ля-ля
except
raise;
end;
Надо пивом пойти полечиться :-))


 
dmitry99 ©   (2004-02-29 15:00) [15]

В генераторе отчетов FastReport есть возможность печати содержимого StringGrid. Также есть возможность составления отчета с переменным числом столбцов. Есть документация на русском. Для освоения печати "с нуля" - оптимальный вариант.



Страницы: 1 вся ветка

Текущий архив: 2004.03.14;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.033 c
1-43462
Mishenka
2004-03-01 00:07
2004.03.14
Как определить дату файла?


4-43970
DenisWW
2004-01-08 16:37
2004.03.14
Прилипание формы


1-43635
фантазёр
2004-03-01 20:18
2004.03.14
procedure


1-43519
Vitaly_old
2004-02-28 10:34
2004.03.14
vmesto_russkix_bukv_znaki_voprosov


3-43400
race1
2004-02-09 13:08
2004.03.14
базы-файлы