Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2008, 09:41   #1
-=<[Evklidd]>=-
Форумчанин Подтвердите свой е-майл
 
Аватар для -=<[Evklidd]>=-
 
Регистрация: 22.01.2008
Сообщений: 161
По умолчанию Вывод на печать

Написал программу и теперь хочу полученные результаты вывести не только в Label как сделано сейчас, но еще и на печать принтеру, как это сделать??? Подскажите уважаемые программисты
-=<[Evklidd]>=- вне форума Ответить с цитированием
Старый 22.02.2008, 10:04   #2
benjaminfran
Пользователь
 
Регистрация: 14.02.2008
Сообщений: 42
По умолчанию

вот пример для memo но мне кажется ты сможеш ппеределатьв дельфий
Код:
var
f:Textfile;
i:integer;
begin
 assignprn(f);
try
Rewrite(f);
forr i:= to Memo1.lines.count-1 do
Writeln(f, Memo1.line.Strings[1]);
Finally
CloseFile(f);
end;
end.
а вот я переделал попробуй
Код:
var
f:Textfile;
begin
 assignprn(f);
try
Rewrite(f);

Writeln(f, Label1.caption);
Finally
CloseFile(f);
end;
end.
From Stilet: Если не хочеш получать горчичники обрати внимание на возможность редактирования сообщения и не плоди рядом свои посты.

Последний раз редактировалось Stilet; 22.02.2008 в 10:21.
benjaminfran вне форума Ответить с цитированием
Старый 22.02.2008, 10:12   #3
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Код:
uses
  ... Printers, ...

...
Printer.BeginDoc;
Printer.Canvas.TextOut (x, y, s);
Printer.EndDoc;
...
+ F1
Sibedir вне форума Ответить с цитированием
Старый 22.02.2008, 16:30   #4
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

И я добавлю кое-что.

Код:
Uses Printers;
...
Function SendToPrint(Text:TStrings):boolean;
var
r:TRect;
i:Integer;
Printer:TPrinter;
begin
Printer:=TPrinter.Create;
Result:=false;
with Printer do
 begin
try
  r:=Rect(200,200,(Pagewidth - 200),(PageHeight - 200));
  BeginDoc;
  Canvas.Brush.Style := bsClear;
  for i := 0 to Text.Count do
   Canvas.TextOut(200,200 +(i * Canvas.TextHeight(Text[i])),
    Text[i]);
  Canvas.Brush.Color := clBlack;
  Canvas.FrameRect(r);
  EndDoc;
  Result:=true;
except
Result:=false;
end;
 end;
Printer.Free;
end;
Откапал в Нэте, а можно вопрос?

Код:
   1. uses  
   2.   ... Printers, ...  
   3.   
   4. ...  
   5. Printer.BeginDoc;  
   6. Printer.Canvas.TextOut (x, y, s);  
   7. Printer.EndDoc;  
   8. ...
Вы "выдрали" этот код откуда? и где описание переменных?
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 22.02.2008, 17:03   #5
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Этого делать не надо:
Цитата:
Код:
var
Printer:TPrinter;   
begin   
Printer:=TPrinter.Create;
А то будут проблемы при использовании TPrinterSetupDialog и TPrintDialog. Для общения с принтерами надо пользоваться готовой функцией Printer модуля Printers.

Цитата:
Вы "выдрали" этот код откуда? и где описание переменных?
Некогда было разъяснять, тем более, что это наверное в каждой книге написано, а я так думаю, люди прежде чем на форум обращатся книжки хотябы листают. Или нет? А из приведенного мною кода видно, какой переменной (ну вообще-то это функция дающая ссылку на переменную) пользоваться, в каком модуле она находится, как начать и как кончить. А главное, видно, что Printer имеет такое свойство как Canvas. Ну уж рисовать на канве, думаю даже самые новички умеют, а если нет, так прочитают. А описание переменных не привел потому что это безсмысленно. Щелкните мышкой на слово TextOut удерживая Ctrl в редакторе кода и вы получите то, что вам нужно. А если установить туда курсор и нажать F1, то информации будет более чем достаточно.
Sibedir вне форума Ответить с цитированием
Старый 22.02.2008, 18:05   #6
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

В основном я согласен, но я встречал людей, которые достаточно плохо знают Delphi и Paskal, не знают как в принципе пользоваться справкой или поиском, они пришли на форум для того, чтобы получить ответ на свой вопрос, я говорю так потому что сам когда-то начинал.

Я Вас не критикую, просто нужно давать маленькие комментарии в коде, если он у Вас не полный.
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 22.02.2008, 19:56   #7
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

ОК, исправлюсь. Просто не надо было отвечать второпях. Пришел бы домой и нормально ответил бы.
Sibedir вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод рисунка на печать -=<[Evklidd]>=- Мультимедиа в Delphi 10 09.07.2010 18:38
Вывод на печать sali_s Microsoft Office Excel 2 04.06.2008 12:05
Печать <<>>KaRaPuz<<>> Общие вопросы Delphi 3 31.05.2008 20:59
вывод на печать asembler udjal Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 10.11.2007 14:32
Вывод на печать StringGrid таблицу Македонский Общие вопросы Delphi 3 06.11.2007 01:21