Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Печать документа [D7, XP]


allucard ©   (2007-04-19 09:23:00) 

Доброго всем дня.

Есть TStringList с данными.

Как его можно напечатать, не роскидывая по форме.

Спасибо.


Amoeba   (2007-04-19 12:55:00) [1]

QReport, FreeReport/FastReport


allucard   (2007-04-19 12:22:00) [2]


> clickmaker ©   (19.04.07 11:20) [6]

Разобрался вроде.

Но лень canvas в run-time заполнять вякими Rectangl'ами.

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


clickmaker   (2007-04-19 11:20:00) [3]


> Что ему не нравится?

а я знаю?
try
 твой код
except
 on e:exception do ShowMessage(e.Message);
end;
может подскажет


allucard   (2007-04-19 11:18:00) [4]


> DrPass ©   (19.04.07 11:12) [4]
> Можно. Вопрос только в том, как это будет выглядеть

Хотелось бы в Hex или ASCII.


> clickmaker ©   (19.04.07 10:01) [1]

procedure TForm1.Button3Click(Sender: TObject);
var
 tm : TTextMetric;
 i : integer;
begin
 if PrintDialog1.Execute then
   begin
     Printer.BeginDoc;
     Printer.Canvas.Font.Handle := GetStockObject (DEVICE_DEFAULT_FONT);
     GetTextMetrics(Printer.Canvas.Handle, tm);
     for i := 1 to 10 do
       begin
         Printer.Canvas.TextOut(100,i * tm.tmHeight+ tm.tmExternalLeading,'Test');
       end;
    Printer.EndDoc;
   end;
end;

Не печатает гад! Что ему не нравится?


DrPass   (2007-04-19 11:12:00) [5]


> uses Printers
>
> Printer.BeginDoc
>
> Printer.Canvas.TextOut
>
> Printer.EndDoc

Для вывода простого текста можно и не заморачиваться с растровой печатью
var f: TextFile;
...
AssignPrn(f)
for i:=0 to MyStringList.Count - 1 do writeln(f, MyStringList[i]);
CloseFile(f);


> а поток TMemoryStream напечатать в нём можно?

Можно. Вопрос только в том, как это будет выглядеть


allucard   (2007-04-19 11:07:00) [6]

а поток TMemoryStream напечатать в нём можно?


allucard   (2007-04-19 10:52:00) [7]


> clickmaker ©   (19.04.07 10:01) [1]

спасиб.


clickmaker   (2007-04-19 10:01:00) [8]

uses Printers

Printer.BeginDoc

Printer.Canvas.TextOut

Printer.EndDoc


Наверх

Титульная страница Поиск, карта сайта Написать письмо