Автор работы: Пользователь скрыл имя, 28 Мая 2012 в 01:46, курсовая работа
Delphi — результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии 5.5, добавил в Паскаль объектно-ориентированные свойства, а в Object Pascal — динамическую идентификацию типа данных с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией — данная технология получила обозначение RTTI. Так как все классы наследуют функции базового класса TObject, то любой указатель на объект можно преобразовать к нему, после чего воспользоваться методом ClassType и функцией TypeInfo, которые и обеспечат интроспекци
ВВЕДЕНИЕ 4
1 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 6
1.1 Обзор программных средств 6
1.2 Постановка задачи 8
1.3 Алгоритм решения задачи 8
1.4 Блок-схема алгоритма решения задачи 9
2 ПРАКТИЧЕСКАЯ ЧАСТЬ 11
2.1 Решение поставленной задачи в Delphi 11
2.2 Описание интерфейса среды Delphi 11
2.3 Перечень используемых в программе идентификаторов 13
2.4 Тексты основных модулей и вид форм приложения 14
2.5 Графическое представление результатов 18
2.6 Анализ полученных результатов 19
ЗАКЛЮЧЕНИЕ 20
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ 21
procedure TForm1.Button3Click(Sender: TObject);
var i:integer;
Prn:TextFile;
begin
if PrintDialog1.Execute then begin
Printer.Copies:=PrintDialog1.
Printer.Canvas.Font.Name:='
Printer.Canvas.Font.Size:=14;
AssignPrn(Prn);
try
Rewrite(Prn);
try
for i := 0 to Memo1.Lines.Count - 1 do
writeln(Prn,Memo1.Lines[i]);
with Canvas do
TextOut((ClientWidth - TextWidth(Memo1.Lines[i])) div 2,
(ClientHeight - TextHeight(Memo1.Lines[i])) div 2,Memo1.Lines[i]);
finally
CloseFile(Prn);
end;
except
on EInOutError do
MessageDlg('Ошибка печати текста.', mtError, [mbOk], 0);
end;
end;
end;
Полный текст программы представлен в ПРИЛОЖЕНИИ А.
Разработанная нами программа также позволяет нам сохранять документ в файл с указанием пути сохранения документы и именем сохраняемого нами файла (рис. 2.5). Также мы можем произвести печать (рис. 2.6).
Рисунок 2.5 – Форма окна при нажатии на кнопку «сохранить в файл»
Рисунок 2.6 – Форма окна при нажатии на кнопку «печать»
В результате была разработана
программа в среде BorlandDelphi, в
которой было реализовано решение
поставленной задачи, согласно варианту
задания (вариант 11). В программу
необходимо сначала ввести ввести количество
ячеек и полок, на которой будут
размещаться рассматриваемые
В ходе выполнения работы были решены следующие задачи:
— осуществлена постановка задачи согласно варианта;
— рассмотрены основные аспекты работы с массивом в среде Delphi;
— разработана блок-схема алгоритма;
— выполнено описание объектов, свойств, методов;
— рассмотрены формы и основные модули текста программы;
— проанализированы результаты тестирования программного продукта. [12]
Таким образом, основная цель исследования — согласно выданного варианта задания и основываясь на методических указаниях реализовать программное решение задачи № 3 в среде Borland Delphi — была достигнута.
В ходе исследования было установлено, что среда Borland Delphi позволяет быстро, удобно и эффективно решать задачи работы с массивами.
ПРИЛОЖЕНИЯ
ПРИЛОЖЕНИЕ А
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, ColorGrd, Spin, ExtCtrls, jpeg, Printers;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
StringGrid1: TStringGrid;
Label1: TLabel;
SpinEdit1: TSpinEdit;
GroupBox2: TGroupBox;
Edit1: TEdit;
Label2: TLabel;
Label3: TLabel;
Edit2: TEdit;
Button1: TButton;
Memo1: TMemo;
Button2: TButton;
SaveDialog1: TSaveDialog;
Image1: TImage;
Button3: TButton;
PrintDialog1: TPrintDialog;
procedure FormCreate(Sender: TObject);
procedure SpinEdit1Change(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
StringGrid1.Cells[0,0]:='';
StringGrid1.Cells[1,0]:='
StringGrid1.Cells[2,0]:='
StringGrid1.Cells[3,0]:='вес контейнера';
for i:=1 to 4 do StringGrid1.Cells[0,i]:=
end;
procedure TForm1.SpinEdit1Change(Sender: TObject);
var i: integer;
begin
StringGrid1.rowCount:=
for i:=1 to SpinEdit1.Value do
StringGrid1.Cells[0,i]:=