var P:TextFile;(P);(P);(P, Edit1.text);(P);;
Здесь мы объявляем переменную P типа TextFile. Процедура AssignPrn является разновидностью процедуры Assign. Она настраивает переменную P на порт принтера и позволяет работать с ним как с файлом. Rewrite открывает порт для работы, а WriteLn - выводит информацию на печать. Очень важно закрыть порт принтера командой CloseFile.
Этот способ можно использовать для распечатки строк списка или каких-нибудь других данных, по мере их поступления в программу.
Процедура AssignPrn входит в модуль WinPrn. Присваивает текстовый файл принтеру.
Описание: procedure AssignPrn(var F: Text; Device, Driver,
Port: TChar);
Процедура присваивает принтер, описанный параметрами Driver и Device для порта Port переменной F. Эти значения должны соответствовать устройству, заданному в файле WIN.INI (в секции устройств). Например, если к порту LPT1 у вас подключен принтер LaserJet IIP, то файл WIN.INI будет выглядеть следующим образом:
[устройства]
.
.
.
HP LaserJet IIP=HPPCL,LPT1:
.
.
.
Чтобы присвоить этот принтер текстовому файлу, вызовитеследующим образом:
AssignPrn(F 'HP LaserJet IIP', 'HPPCL', 'LPT1:');
Список допустимых значений параметров можно получить, используя функцию API Windows GetProfileString.
Если Device равно nil, параметры Driver и Port игнорируются, и AssignPrn присваивает F используемый по умолчанию принтер. Этот принтер указан в WIN.INI в секции [windows] под ключевым словом "device". Этот результат можно получить также, вызвав подпрограмму AssignDefPrn, которая вызывает процедуру AssignedPrn с параметрами Device, Driver и Port, установленными в nil.
Если активен администратор печати Windows, то
записанный в F текст сохраняется администратором печати и будет печататься при
закрытии файла.
.2 Печать текстов в обогащенном формате методом
Print
Компонент TRichEdit имеет метод Print, позволяющий печатать текст, хранящийся в этом компоненте. Этот метод имеет только один параметр - строку, которая при просмотре в Windows очереди печатаемых заданий является именем задания. Например,
RichEdit1.Print('Print of our RichEdit1');
Следует заметить, что печать воспроизводит все
особенности форматирования текста, также происходит автоматический перенос
строк и разбиение текста на страницы. При этом длина строк никак не связана с
размерами компонента RichEdit.
.3 Печать с помощью объекта Printer
Модуль Дельфи Printers, содержит переменную Printer, которая является объектов типа TPrinter. Поэтому для использования этой переменной программах надо подключить модуль Printers в оператор Uses.
Рассмотрим подробнее некоторые свойства и методы объекта TPrinter:
· Canvas - канва - место в памяти, в котором формируется страница или документ перед печатью;
· TextOut - метод канвы, позволяющий посылать в нее текст;
· BeginDoc - используется для начала задания печати;
· EndDoc - используется для завершения задания печати. При этом печать начинается только после вызова этого метода;
· PageHeight - авзвращает высоту страницы в пикселах;
· NewPage - принудительно начинает новую страницу;
· PageNumber - возвращает номер печатаемой страницы.
Печать текста можно осуществить, к примеру,
так:.BeginDoc;
Printer.Canvas.TextOut(10,10,'Печатаем с помощью объекта Printer');
Printer.EndDoc;
Если нужно напечатать изображение, находящееся, например, в компоненте Image1, то код может быть таким:
Printer.BeginDoc; with Image1.Picture.Bitmap do Printer.Canvas.CopyRect(Rect(0,0,Height,Width),Canvas,Rect(0,0,Height,Width)); Printer.EndDoc;
У объекта Printer есть существенный недостаток:
он не производит автоматическое разбиение на строки и страницы, поэтому
печатать длинные тексты предпочтительнее с помощью компонента RichEdit или
Memo.
.4 Печать форм
У форм в Delphi есть метод Print, который печатает всю клиентскую область формы. При этом полоса заголовка и полоса главного меню формы не печатаются.
Свойство PrintScale определяет опции масштабирования изображения формы при печати:
· poNone - масштабирование не используется. Размер изображения может изменяться в зависимости от используемого принтера
· poPrintToFit - делается попытка напечатать изображение формы того же размера, который виден на экране
· poProportional
- увеличивает или уменьшает размер изображения, подгоняя его под размер
страницы.
. Практическая часть
Выполнение практической части курсовой работы предполагает разработку приложения, включающего функциональные части:
. Главное меню: Файл (Открыть, Сохранить, Выход), Данные (Рассчитать), Справка (О программе), использующее стандартные диалоги;
. Таблица StringGrid.
Назначение программы: Значения, считываемые из файла, заносятся в таблицу размером 5*5. Находятся и выводятся на экран и в файл максимальное значение, его индексы.
Листинг данного приложения выглядит следующим образом.
Файл проекта Project1.dpr:Project1;,in 'Unit1.pas' {Form1},
Unit3 in '..\êóðñ ìàêñ\ïðîãà\Unit3.pas' {Form3};
{$R *.res}.Initialize;.CreateForm(TForm1, Form1);.CreateForm(TForm3, Form3);.Run;.
Файл Unit1:Unit1;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Grids, Menus, ComCtrls;= class(TForm): TStringGrid;: TButton;: TEdit;: TLabel;: TButton;: TStaticText;: TMainMenu;: TMenuItem;: TRichEdit;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TButton;: TEdit;: TStaticText;Button1Click(Sender: TObject);FormCreate(Sender: TObject);Button2Click(Sender: TObject);N8Click(Sender: TObject);N4Click(Sender: TObject);Button3Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm1;,i,j:integer;Unit2, Unit3;
{$R *.dfm}TForm1.Button1Click(Sender: TObject);, buf:string;: TextFile;: String;:= Edit2.Text;(f, fName);(f);(f, st);:=5;.StringGrid1.ColCount:=n;.StringGrid1.RowCount:=n;(i<=n) and (j<=n) do:= Copy(st,1,Pos(' ',st)-1);(st,1,Pos(' ',st));.StringGrid1.Cells[j,i]:=buf;:=j+1;j = n then begin j:=0; i:=i+1;;;;TForm1.FormCreate(Sender: TObject);:=0;:=0;;TForm1.Button2Click(Sender: TObject);,j,im,jm: integer;:=1; jm:=1;i:=0 to stringgrid1.RowCount-1 doj:=0 to stringgrid1.ColCount-1 dostringgrid1.Cells[j,i]>stringgrid1.Cells[jm,im] then:=i;:=j;;.Lines.add(stringgrid1.Cells[jm,im]);
RichEdit1.Lines.add('Èíäåêñ max ýë-òà:');.Lines.add(inttostr(jm));.Lines.add(inttostr(im));;TForm1.N8Click(Sender: TObject);.ShowModal;;TForm1.N4Click(Sender: TObject);;;TForm1.Button3Click(Sender: TObject);: String;.Lines.SaveToFile(fName);;.
Файл Unit3:Unit3;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls;= class(TForm): TStaticText;: TStaticText;: TStaticText;
{ Private declarations }
{ Public declarations };: TForm3;
{$R *.dfm}.
Скриншоты интерфейса
программы:
Рисунок 3.1
Рисунок 3.2
Рисунок 3.3
Заключение
В настоящий момент программирование является одной из самых быстро развивающихся областей науки и техники. Такая скорость развития предопределена прямым участием программирования в НТП, который продвигается вперед высокими темпами. Поэтому изучение основополагающих принципов, в соответствии с которыми происходит разработка одного из важных компонентов программы - документации, руководств, справочников, можно назвать актуальным заданием для разработки в курсовой работе.
Целью данной работы было раскрытие задач, решаемых в процессе создания и при помощи документации к программным средствам.
В процессе написания работы нами была изучена
специальная литература, включающая тематические учебники, пособия и книги,
предназначенные авторами для самостоятельного обучения, рассмотрено
практическое применение руководств пользователей ПС, средства работы с печатью
в приложениях Delphi, а также
было полностью выполнено практическое задание, заключавшееся в создании по ТЗ
программы в системе Delphi
7.
Список литературы
1 Липаев В.В. Документирование сложных программных средств / В.В. Липаев.- М. : СИНТЕГ, 2005. - 124 с.
Фленов М. Библия Delphi / М.Фленов. - СПб.: БХВ-Петербург, 2008. - 880 с.
Тюкачев Н. Программирование в Delphi для начинающих / Е. Михайлова, К. Рыбак. - СПб.: БХВ-Петербург, 2007. - 672 с.
Лесневский А. Объектно-ориентированное программирование для начинающих / А. Лесневский. - М.: Бином, 2010. - 232 с.
Пышкин Е. Основные концепции и механизмы объектно-ориентированного программирования / Е. Пышкин. - СПб.: БХВ-Петербург, 2005. - 640 с.