Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Печать из RichEdit

Delphi , ОС и Железо , Принтеры и Печать

Печать из RichEdit

Автор: Nomadic


procedure TForm1.Button1Click(Sender: TObject);
var 
  lst: TextFile;
  sc: Integer;
begin
  //Printer.Orientation:=poPortraite
  AssignFile(lst,'prn');
  Rewrite(lst);
  sc:=0;
  for sc:=0 to RichEdit1.Lines.Count-1 do
    writeln(lst,StrToOem(RichEdit1.Lines[sc]));
  System.CloseFile(lst);
end;

Here's the translation of the text into Russian:

Код, предоставленный ниже, это процедура, которая печатает содержимое RichEdit-контрола в файл с именем 'prn', когда кнопка на форме кликается.

Разбиваем код на части:

  1. Printer.Orientation:=poPortrait: эта строка устанавливает ориентацию принтера в портретном режиме, но она комментирована в оригинальном коде, поэтому это не будет выполнено.
  2. AssignFile(lst,'prn'); и Rewrite(lst);: эти строки открывают файл с именем 'prn' для записи.
  3. sc:=0;: эта строка инициализирует переменную sc в 0.
  4. Цикл for проходит по каждой строке RichEdit-контрола (от индекса 0 до последней строки) и пишет эту строку в файл с помощью writeln, с дополнительной конвертацией из Unicode-символов в OEM-символы с помощью StrToOem.
  5. System.CloseFile(lst);: эта строка закрывает файл после того, как все строки будут написаны.

Однако, есть несколько проблем с этим кодом:

  • Файл 'prn' не закрываетсяproperly до тех пор, пока он не будет присвоен Rewrite() или даже открыт. Вы должны переместить AssignFile и Rewrite за пределы любого цикла.
  • Вам может потребоваться блок try/finally для обеспечения закрытия файла, даже если возникнет исключение.
  • Printer.Orientation:=poPortrait; будет выполнено только в том случае, если вы uncomment эту строку, но поскольку она не связана с печатанием RichEdit-контрола, она не кажется, что принадлежит к этой процедуре.

Вот измененная версия вашего кода:

procedure TForm1.Button1Click(Sender: TObject);
var
  lst: TextFile;
begin
  AssignFile(lst, 'prn');
  Rewrite(lst);

  try
    for sc := 0 to RichEdit1.Lines.Count - 1 do
      writeln(lst, StrToOem(RichEdit1.Lines[sc]));
  finally
    CloseFile(lst);
  end;
end;

Этот код будет печатать содержимое RichEdit-контрола в файл с именем 'prn', когда кнопка кликается. Он также обеспечивает закрытие файла, даже если возникнет исключение во время процесса записи.

Представлен пример кода на языке Delphi, который позволяет печатать содержимое RichEdit в файл "prn" и затем выводить его на принтер с ориентацией portrait.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Принтеры и Печать ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-19 17:53:24
2024-05-19 18:51:21/0.0051779747009277/2