Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.03.14;
Скачать: [xml.tar.bz2];

Вниз

печать из 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.013 c
3-43305
sherminator
2004-02-11 22:34
2004.03.14
неизвестный тип


7-43931
Лекс[КВ]
2003-12-22 14:39
2004.03.14
Принтер штрих-кода


1-43490
DmitryNekl
2004-01-23 13:32
2004.03.14
Создание разных форм в одной процедуре


4-43945
pirat
2004-01-08 10:01
2004.03.14
shared секция в dll


3-43297
hva
2004-02-11 17:20
2004.03.14
как правильно пользовать OnBeforeUpdateRecord





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский