Курсовая работа (т): Разработка приложений в среде объектно-ориентированного программирования Delphi

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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 с.

Источник: https://www.bibliofond.ru/detail.aspx?id=877879