Разработка программы на языке программирования Dephi
Заказать уникальную курсовую работу- 36 36 страниц
- 10 + 10 источников
- Добавлена 27.06.2009
- Содержание
- Часть работы
- Список литературы
- Вопросы/Ответы
1. Анализ предметной области
1.1. Описание предметной области и функции решаемых задач
1.2. Перечень входных (первичных) документов
1.3. Ограничения предметной области по индивидуальной задаче
2.Постановка задачи
2.1. Организационно-экономическая сущность комплекса решаемых задач
2.2. Описание выходной информации
2.3. Описание входной информации
3. Разработка информационного обеспечения
3.1. Анализ входной информации предметной области и выделение информационных объектов
3.2. Определение связей информационных объектов и построение информационно-логической модели
4. Создание базы данных
4.1. Структура таблиц
4.2. Схема данных
5. Реализация приложения пользователя
5.1. Реализация пользовательского интерфейса
5.2. Реализация интерфейса для администрирования базы данных
6. Инструкция пользователя
6.1. Работа с программой
6.2. Администрирование базы данных
Заключение
Список литературы
Приложение 1
AsString+') and ([Диаметр]='+intToStr(Form1.SpinEdit1.Value)+')';
end;
//Изменяется содержимое таблицы дисков при закрытии списка выбора производителя дисков.
procedure TForm1.DBLookupComboBox3CloseUp(Sender: TObject);
begin
Panel2.Visible:=True;
Dm.TDisks.Filter:='([Производитель]='+Dm.TManuf.FieldByName('Код производителя').AsString+') and ([Диаметр]='+intToStr(Form1.SpinEdit1.Value)+')';
end;
//Отображение отчета при нажатии кнопки «Заказать»
procedure TForm1.Button1Click(Sender: TObject);
begin
Form5.QuickRep1.Preview;
end;
//Закрытие панели поиска при нажатии на кнопку «Закрыть панель поиска»
procedure TForm1.Button4Click(Sender: TObject);
begin
Panel3.Visible:=false;
Form1.Height:=373;
Form1.SpinEdit1Change(Self);
end;
//Отображение панели поиска при нажатии на кнопку «Поиск дисков»
procedure TForm1.Button2Click(Sender: TObject);
begin
Form1.Height:=427;
Panel2.Visible:=true;
Panel3.Visible:=True;
end;
//Задание высоты формы при ее создании
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Height:=373;
end;
//Процедура настройки отображаемых дисков в таблице дисков. Процедура поиска дисков в таблицах.
procedure TForm1.Button3Click(Sender: TObject);
Var Filter:AnsiString;
begin
Filter:='';
if DBLookUpComboBox4.Text<>'' then Filter:=Filter+'([Производитель]='+Dm.TManuf.FieldByName('Код производителя').AsString+') and ';
if Edit1.Text<>'' then Filter:=Filter+'([Название]='+#39+Edit1.Text+#39+') and '; // #39 и '''' дает знак ' в фильтр (таблица ASCII)
if Edit2.Text<>'' then Filter:=Filter+'([Цена]='+Edit2.Text+') and ';
Filter:=Filter+'([Диаметр]='+IntTostr(SpinEdit2.Value)+')';
Dm.TDisks.Filter:=Filter;
end;
end.
Ниже представлен листинг формы редактирования данных о автомобилях.
unit CarUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, ExtCtrls, Grids, DBGrids, jpeg, Buttons;
type
TForm2 = class(TForm)
Panel1: TPanel;
DBGrid2: TDBGrid;
DBNavigator1: TDBNavigator;
Panel2: TPanel;
DBEdit1: TDBEdit;
Label1: TLabel;
Panel3: TPanel;
DBGrid1: TDBGrid;
Panel4: TPanel;
DBNavigator2: TDBNavigator;
DBImage1: TDBImage;
DBEdit2: TDBEdit;
Label2: TLabel;
Button1: TButton;
OpenDialog1: TOpenDialog;
DBEdit3: TDBEdit;
Label3: TLabel;
Label4: TLabel;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
Label5: TLabel;
SpeedButton1: TSpeedButton;
procedure Button1Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses DMUnit, MainUnit, SettingsUnit;
{$R *.dfm}
//Добавление нового изображения машины в базу данных.
procedure TForm2.Button1Click(Sender: TObject);
var
jpeg: TJPEGImage;
bmp: TBitmap;
begin
//Запуск диалога для поиска изображения на локальном диске
if OpenDialog1.Execute then
begin
jpeg := TJPEGImage.Create;
bmp := TBitmap.Create;
try
try
//Непосредственная запись в базу данных
jpeg.LoadFromFile(OpenDialog1.FileName);
bmp.Assign(jpeg);
Dm.TCar.Edit;
Dm.TCar.FieldByName('Изображение').Assign(bmp);
Dm.TCar.Post;
finally
jpeg.Free;
bmp.Free;
end;
except
ShowMessage('Неверный формат файла!');
end;
end;
end;
//Обновление координат при отображении дисков на машине. Срабатывает при нажатии на кнопку.
procedure TForm2.SpeedButton1Click(Sender: TObject);
begin
try
Form4.Shape1.Top:=StrtoInt(DBEdit3.Text)-57;
Form4.Shape2.Top:=StrtoInt(DBEdit3.Text)-57;
Form4.Shape1.Left:=StrtoInt(DBEdit4.Text);
Form4.Shape2.Left:=StrtoInt(DBEdit5.Text);
Except
End;
Form4.Show;
end;
end.
Ниже представлен листинг формы редактирования данных о дисках.
unit DiskUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBCtrls, StdCtrls, Mask, Grids, DBGrids, ExtCtrls, jpeg;
type
TForm3 = class(TForm)
Panel3: TPanel;
DBGrid1: TDBGrid;
Panel4: TPanel;
Label2: TLabel;
DBEdit2: TDBEdit;
Button1: TButton;
DBNavigator2: TDBNavigator;
Panel1: TPanel;
DBGrid2: TDBGrid;
DBNavigator1: TDBNavigator;
Panel2: TPanel;
Label1: TLabel;
DBEdit1: TDBEdit;
OpenDialog1: TOpenDialog;
DBImage1: TDBImage;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
Label3: TLabel;
Label4: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
uses DMUnit;
{$R *.dfm}
//Добавления нового изображения дисков в базу данных
procedure TForm3.Button1Click(Sender: TObject);
var
jpeg: TJPEGImage;
bmp: TBitmap;
begin
// Открытие проводника для поиска изображения
if OpenDialog1.Execute then
begin
jpeg := TJPEGImage.Create;
bmp := TBitmap.Create;
try
try
//Непосредственная запись значений в таблицу
jpeg.LoadFromFile(OpenDialog1.FileName);
bmp.Assign(jpeg);
Dm.TDisks.Edit;
Dm.TDisks.FieldByName('Изображение').Assign(bmp);
Dm.TDisks.Post;
finally
jpeg.Free;
bmp.Free;
end;
except
ShowMessage('Неверный формат файла!');
end;
end;
end;
end.
Ниже представлен листинг модуля содержащего таблицы и строку подключения к базе данных.
unit DMUnit;
interface
uses
SysUtils, Classes, DB, ADODB, XPMan;
type
TDM = class(TDataModule)
ADOConnection1: TADOConnection;
TDisks: TADOTable;
TMark: TADOTable;
TCar: TADOTable;
TManuf: TADOTable;
DSDisks: TDataSource;
DSMark: TDataSource;
DSCar: TDataSource;
DSManuf: TDataSource;
TDisksDSDesigner: TAutoIncField;
TDisksDSDesigner2: TIntegerField;
TDisksDSDesigner3: TWideStringField;
TDisksDSDesigner5: TBlobField;
TMarkDSDesigner: TAutoIncField;
TCarDSDesigner: TAutoIncField;
TCarDSDesigner2: TIntegerField;
TCarDSDesigner3: TWideStringField;
TCarDSDesigner6: TBlobField;
TManufDSDesigner: TAutoIncField;
TManufDSDesigner2: TWideStringField;
TCarField: TStringField;
TMarkDSDesigner2: TWideStringField;
XPManifest1: TXPManifest;
TCarTop: TIntegerField;
TCarDSDesigner4: TIntegerField;
TCarDSDesigner5: TIntegerField;
TDisksDSDesigner4: TIntegerField;
TDisksDSDesigner6: TIntegerField;
procedure TCarAfterInsert(DataSet: TDataSet);
procedure TCarAfterOpen(DataSet: TDataSet);
procedure TMarkAfterScroll(DataSet: TDataSet);
procedure TDisksAfterInsert(DataSet: TDataSet);
procedure TDisksAfterOpen(DataSet: TDataSet);
procedure TManufAfterScroll(DataSet: TDataSet);
procedure TDisksAfterScroll(DataSet: TDataSet);
procedure TCarAfterScroll(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
var
DM: TDM;
implementation
uses MainUnit, SettingsUnit;
{$R *.dfm}
//При добавлении новой машины, код ее марки добавляется автоматически из таблицы «Марки»
procedure TDM.TCarAfterInsert(DataSet: TDataSet);
begin
TCar.FieldByName('Код марки').Value:=TMark.FieldByName('Код марки').Value;
end;
//Настройка отображаемых полей в таблице машины. Запускается после открытия таблицы
procedure TDM.TCarAfterOpen(DataSet: TDataSet);
begin
TCar.Filter:='([Код марки]='+TMark.FieldByName('Код марки').AsString+')';
end;
//Настройка отображаемых полей в таблице машины. Запускается после прокрутки
procedure TDM.TMarkAfterScroll(DataSet: TDataSet);
begin
TCar.Filter:='([Код марки]='+TMark.FieldByName('Код марки').AsString+')';
end;
//При добавлении новых дисков, код производителя добавляется автоматически из таблицы «Производитель»
procedure TDM.TDisksAfterInsert(DataSet: TDataSet);
begin
TDisks.FieldByName('Производитель').Value:=TManuf.FieldByName('Код производителя').Value;
end;
//Настройка отображаемых полей в таблице диски. Запускается после открытия таблицы
procedure TDM.TDisksAfterOpen(DataSet: TDataSet);
begin
TManuf.Open;
TDisks.Filter:='([Производитель]='+TManuf.FieldByName('Код производителя').AsString+')';
end;
//Настройка отображаемых полей в таблице диски. Запускается после открытия таблицы
procedure TDM.TManufAfterScroll(DataSet: TDataSet);
begin
TDisks.Filter:='([Производитель]='+TManuf.FieldByName('Код производителя').AsString+')';;
end;
//Обновление отображаемых изображений дисков после прокрутки таблицы дисков
procedure TDM.TDisksAfterScroll(DataSet: TDataSet);
begin
Form1.Image2.Picture.Bitmap.Assign(Dm.TDisks.Fields.FieldByName('Изображение'));
Form1.Image3.Picture.Bitmap.Assign(Dm.TDisks.Fields.FieldByName('Изображение'));
end;
//Обновление отображаемого изображения машины после прокрутки таблицы машины
procedure TDM.TCarAfterScroll(DataSet: TDataSet);
begin
Form1.Image1.Picture.Bitmap.Assign(Dm.TCar.Fields.FieldByName('Изображение'));
Form4.Image1.Picture.Bitmap.Assign(Dm.TCar.Fields.FieldByName('Изображение'));
end;
end.
Ниже представлен листинг юнита с отчетом.
unit OrderUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, QRCtrls, QuickRpt, ExtCtrls;
type
TForm5 = class(TForm)
QuickRep1: TQuickRep;
DetailBand1: TQRBand;
TitleBand1: TQRBand;
QRLabel1: TQRLabel;
QRShape1: TQRShape;
QRShape2: TQRShape;
QRShape3: TQRShape;
QRShape4: TQRShape;
QRShape5: TQRShape;
QRShape6: TQRShape;
QRLabel2: TQRLabel;
QRLabel3: TQRLabel;
QRLabel4: TQRLabel;
QRDBText1: TQRDBText;
QRDBText2: TQRDBText;
QRDBText3: TQRDBText;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
uses DMUnit;
{$R *.dfm}
end.
2
2.Бобровский С. Программирование в Delphi 7 – СПб.: Информ-Пресс, 2003. – 806 c. : ил.
3.Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. – М.: Финансы и статистика, 2004.
4.Гончаров А. Ю. Access 2003. Самоучитель с примерами. – М.: Инфра-М, 2004 – 385 с.
5.Гофман В. Э., Хомоненко А.Д. и др. Delphi 7 - СПб.: BHV, 2004. – 1216 с. : ил.
6.Дарахвелидзе, П.Г. Программирование в Delphi 7. - СПб.: БХВ-Петербург, 2003. – 784 с.
7.Карпова Т. С. Базы данных: модели, разработка, реализация: учеб. пособие для вузов - СПб.: Питер, 2001. –304с.: ил.
8.Стивенс, Р. Delphi. Готовые алгоритмы: пер. с англ. - М.: ДМК ПРЕСС, 2001. – 384 с.: ил.
9.Фаронов И. В. Программирование баз данных в Delphi 7: учебный курс. - СПб.: Питер, 2005. - 295 с. : ил.
10.Чекалов А. Базы данных: от проектирования до разработки приложений. — СПб: BHV, 2003. — 384 c.
Вопрос-ответ:
Какие задачи можно решить с помощью программы на языке Delphi?
Программа на языке Delphi позволяет решать разнообразные задачи, начиная от разработки графических интерфейсов и создания приложений для Windows, до работы с базами данных, обработки информации и решения комплексных математических задач.
Какие документы необходимы для разработки программы на Delphi?
Для разработки программы на Delphi необходимы входные первичные документы, такие как техническое задание, спецификация требований, диаграммы и схемы предметной области, а также примеры входных и выходных данных.
Какие ограничения могут быть в предметной области при разработке программы на Delphi?
В предметной области могут быть ограничения по индивидуальной задаче, такие как ограничения по производительности, доступу к данным, поддержке определенных форматов файлов или учету определенных правил и законодательных требований.
Какие задачи решает информационное обеспечение, разработанное на Delphi?
Информационное обеспечение, разработанное на Delphi, решает различные задачи, связанные с анализом входной информации предметной области, обработкой данных, генерацией отчетов, визуализацией результатов и передачей информации между различными системами.
Как происходит анализ входной информации предметной области при разработке программы на Delphi?
Анализ входной информации предметной области при разработке программы на Delphi включает в себя изучение и оценку требований к функциональности программы, структуры данных, взаимодействия с пользователем и других аспектов, необходимых для разработки эффективного и удобного приложения.
Как разработать программу на языке программирования Delphi?
Для разработки программы на языке Delphi необходимо установить среду разработки Delphi, создать новый проект, выбрать нужный тип приложения и начать писать код на языке Delphi. В процессе разработки необходимо определить предметную область и функции, которые программа будет выполнять, а также входные и выходные данные.
Какие задачи может решать программа, разработанная на языке Delphi?
Программа, разработанная на языке Delphi, может решать различные задачи в зависимости от предметной области. Например, она может быть использована для создания приложений, работающих с базами данных, для разработки графического интерфейса пользователя, для автоматизации бизнес-процессов и т.д.
Какие документы являются входными для разработки программы на языке Delphi?
Входными первичными документами для разработки программы на языке Delphi могут быть требования заказчика, техническое задание на разработку программы, описание предметной области и функций, которые программа должна решать.