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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2011, 19:53   #1
Ghennadiy
Форумчанин
 
Регистрация: 21.08.2009
Сообщений: 153
Сообщение печать listbox

срочно нужен хелп!
есть форма на которой listbox
как ее вывести содержимое listbox на печать??
if PrintDialog1.Execute then //печать listbox
спасибо!
Ghennadiy вне форума Ответить с цитированием
Старый 10.02.2011, 20:12   #2
Alex2391
Пользователь
 
Аватар для Alex2391
 
Регистрация: 31.01.2011
Сообщений: 54
По умолчанию

Так не пробывал:
Код:
procedure PrintStrings(Strings: TStrings); 
var 

  Prn: TextFile; 
  i: word; 
begin 

  AssignPrn(Prn); 
  try 
    Rewrite(Prn); 
    try 
      for i := 0 to Strings.Count - 1 do 
        writeln(Prn, Strings.Strings[i]); 
    finally 
      CloseFile(Prn); 
    end; 
  except 
    on EInOutError do 
      MessageDlg('Ошибка печати текста.', mtError, [mbOk], 0); 
  end; 
end;
Для печати:
Код:
PrintStrings(Listbox1.Items);

Последний раз редактировалось Stilet; 11.02.2011 в 20:33.
Alex2391 вне форума Ответить с цитированием
Старый 10.02.2011, 20:48   #3
Ghennadiy
Форумчанин
 
Регистрация: 21.08.2009
Сообщений: 153
По умолчанию

пробовал не работает
на PrintStrings(Listbox1.Items); ругаеться to many actual parametrs
Ghennadiy вне форума Ответить с цитированием
Старый 11.02.2011, 19:03   #4
Alex2391
Пользователь
 
Аватар для Alex2391
 
Регистрация: 31.01.2011
Сообщений: 54
По умолчанию

А uses Printers; не забыл?
И PrintStrings(Listbox1.Items); в кнопку засунул?
Тогда не знаю, у меня работает.
Для точности вот полный код:
Код:
unit Unit10;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Printers;

type
  TForm10 = class(TForm)
    ListBox1: TListBox;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure PrintStrings(Strings: TStrings);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form10: TForm10;

implementation

{$R *.dfm}

procedure TForm10.PrintStrings(Strings: TStrings);
var  

  Prn: TextFile;  
  i: word;
begin  

  AssignPrn(Prn);
  try
    Rewrite(Prn);  
    try
      for i := 0 to Strings.Count - 1 do
        writeln(Prn, Strings.Strings[i]);
    finally  
      CloseFile(Prn);
    end;  
  except
    on EInOutError do  
      MessageDlg('Ошибка печати текста.', mtError, [mbOk], 0);
  end;  
end;

procedure TForm10.Button1Click(Sender: TObject);
begin
PrintStrings(Listbox1.Items);
end;
end.

Последний раз редактировалось Stilet; 11.02.2011 в 20:33.
Alex2391 вне форума Ответить с цитированием
Старый 11.02.2011, 20:40   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Еще один вариант:
Код:
var i:integer;
begin
  if PrinterSetupDialog1.Execute then
  with Printer do begin
  BeginDoc;
  Canvas.Font.Name:='Thimes New Roman';
  Canvas.Font.Size:=12;
   for i:=0 to ListBox1.Items.Count-1 do
    Canvas.TextOut(0,i*Canvas.TextHeight('W'),ListBox1.Items[i]);
   EndDoc;
  end;
end;
Учитывая
Код:
uses    printers, ...
Ну и конечно возможно размер фонта нужно подрегулировать
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
N-up печать nusik Win Api 0 03.12.2010 00:33
Печать Газовый Microsoft Office Excel 0 22.06.2010 23:18
как добавить в listbox файлы(пишу с помощью bassplayer)(Listbox+opendialog=play) blackstersl Общие вопросы Delphi 11 09.06.2010 13:23
Печать <<>>KaRaPuz<<>> Общие вопросы Delphi 3 31.05.2008 20:59
печать Илюха Общие вопросы Delphi 2 23.10.2007 21:15