Paspost_nom – Поле, предназначенное для хранения информации о номере паспорта. Тип данных поля: Varchar. Максимально допустимый размер поля – 4 символов.
Paspost_ ser – Поле, предназначенное для хранения информации о серии паспорта. Тип данных поля: Varchar. Максимально допустимый размер поля – 6 символов.
Paspost_vidan – Поле, предназначенное для хранения информации о том кем паспорт был выдан. Тип данных поля: Varchar. Максимально допустимый размер поля – 50 символов.
Paspost_data – Поле, предназначенное для хранения информации о том когда паспорт был выдан. Тип данных поля: DATE.
2. Экспериментальный раздел
2.1. Описание процесса отладки
Успешное завершение процесса компиляции не означает, что в программе нет ошибок. Убедиться, что программа работает правильно можно только в процессе проверки ее работоспособности, который называется тестирование.
Обычно программа редко сразу начинает работать так, как надо, или работает правильно только на некотором ограниченном наборе исходных данных. Это свидетельствует о том, что в программе есть алгоритмические ошибки. Процесс поиска и устранение ошибок называется отладкой.
Delphi обладает мощнейшим, встроенным в редактор графическим отладчиком, позволяющим находить и устранять ошибки в коде. Мы можем установить точки остановки, проверить и изменить переменные, при помощи пошагового выполнения в точности понять поведение программы.
В процессе отладки программы я столкнулся с ошибкой. Эта ошибка возникла, когда программой не была найдена база данных.
Исправил я эту ошибку, создав папку «BD» и поместил в неё базу «BD». Далее в свойстве DatabaseNameкомпонента IBDatabase1 я написал следуюшее:
BD\BD.gdb
Программа автоматически определяет свое место положения и сообщает компоненту IBDatabase путь до базы данных.
Разработанный программный продукт представляет собой программу, которая формирует базу данных и соответствующее приложение для автоматизации ведения кадрового учёта некоторого предприятия.
При запуске программы появляется окошко, содержащее компоненты визуализирующие содержимое базы данных, кнопки, с помощью которых можно добавлять, изменять, удалять записи в базе данных.
Окно о программе
Для работы в данной программе вам не потребуются большие навыки работы с Windows-приложениями. Сам интерфейс программы прост и ясен.
Для начала работы необходимо в корневой директории диска открыть папку «Анкетные данные», в которой находиться программа и запустить файл Анкетные данные.exe. При запуске программы на экране появиться главное окно в котором вы можите просмотреть все личные данные. При нажатии на кнопку «Поиск» можно произвести поиск по трем полям: фамилия, пол, ИНН. При нажатии на кнопку «Сортировка» можно провести сортировку по полям указанным в программе.
При нажатии на вкладку «Редактировать» возникает окошко с данными той записи, на которой стоит указатель. Здесь можно изменить информацию любую информацию, имеющуюся в базе данных.
При нажатии на кнопку «Фильтрация» можно включить или выключить фильтр. Фильтрация происходит по всем полям базы данных.
При выборе вкладки «Добавление записи» можно добавить в базу свои анкетные данные предварительно заполнив все поля после чего нажимаем на кнопку «Добавить» поля добавляются. Также можно добавить свою фотографию нажав на кнопку «Добавить фото» и прописать путь к своей фотографии.
При нажатии на вкладку «Редактирование записей» возникает окошко с данными той записи, на которой стоит указатель. Здесь можно изменить информацию любую информацию, имеющуюся в базе данных.
Чтобы вывести распечатать анкетные данные в главном окне выбираем нужное поле нажимаем кнопку «Отчет» и распечатываем.
При нажатии на кнопку «О программе» на панели сверху, возникает окно с информацией о разработчике данного программного продукта.
Бурное развитие вычислительной техники, потребность в эффективных средствах разработки программного обеспечения привели к появлению систем программирования, ориентированных на так называемую "быструю разработку", среди которых можно выделить Borland Delphi и Microsoft Visual Basic. В основе систем быстрой разработки (RAD-систем, Rapid Application Development — среда быстрой разработки приложений) лежит технология визуального проектирования и событийного программирования, суть которой заключается в том, что среда разработки берет на себя большую часть рутинной работы, оставляя программисту работу по конструированию диалоговых окон и функций обработки событий.
Программный продукт, разработанный в рамках данного курсового проекта, предназначается для проектирования баз данных и соответствующего приложение для автоматизации ведения кадрового учёта некоторого предприятия.
Программа имеет возможности фильтровать записи, осуществлять поиск необходимой записи, печатать записи, содержащиеся в базе.
1. Бобровский С.И. Delphi7. Учебный курс.- СПб.: Питер.2004.
2. Избачков Ю. С., Петров В. Н. Информационные системы: Учебник. - СПб.: Питер, 2005.
3. Волков Ю.С., Петров В.Н. Информационные системы. - СПб.: Питер. 2005.
4. Рудаков А. В. Технология разработки программных продуктов: Учеб. пособие. – М.: Издательский центр «Академия», 2005.
5. Стандартная документация Delphi.
Основной модуль приложения
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {DataModule2: TDataModule},
Unit3 in 'Unit3.pas' {Form3},
Unit4 in 'Unit4.pas' {Form4},
Unit5 in 'Unit5.pas' {Form5};
{$R *.res}
begin
Application.Initialize;
Application.Title := 'Àíêåòíûå äàííûå';
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm4, Form4);
Application.CreateForm(TDataModule2, DataModule2);
Application.CreateForm(TForm3, Form3);
Application.CreateForm(TForm5, Form5);
Application.Run;
end.
Модуль хранения невизуальных компонентов
unit Unit2;
interface
uses
SysUtils, Classes, IBDatabase, DB;
type
TDataModule2 = class(TDataModule)
IBDatabase1: TIBDatabase;
IBTransaction1: TIBTransaction;
private
{ Private declarations }
public
{ Public declarations }
end;
var
DataModule2: TDataModule2;
implementation
{$R *.dfm}
end.
Модульосновнойформы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, Grids, DBGrids, IBCustomDataSet, IBTable, ExtCtrls,
StdCtrls, Mask, DBCtrls, XPMan, Menus, IBQuery, ComCtrls, ExtDlgs;
type
TForm1 = class(TForm)
DataSource1: TDataSource;
Panel1: TPanel;
Panel2: TPanel;
DBGrid1: TDBGrid;
XPManifest1: TXPManifest;
OpenDialog1: TOpenDialog;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
IBQuery1: TIBQuery;
IBQuery2: TIBQuery;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
GroupBox4: TGroupBox;
Label19: TLabel;
Label21: TLabel;
Label22: TLabel;
Label23: TLabel;
Edit18: TEdit;
Edit20: TEdit;
Edit21: TEdit;
Edit22: TEdit;
GroupBox5: TGroupBox;
Label24: TLabel;
Label25: TLabel;
Edit23: TEdit;
Edit24: TEdit;
GroupBox2: TGroupBox;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Edit8: TEdit;
Edit9: TEdit;
Edit10: TEdit;
Edit11: TEdit;
Edit12: TEdit;
Edit13: TEdit;
Edit15: TEdit;
Edit14: TEdit;
GroupBox3: TGroupBox;
Label17: TLabel;
Label18: TLabel;
Label20: TLabel;
Edit16: TEdit;
Edit17: TEdit;
Edit19: TEdit;
GroupBox6: TGroupBox;
Label28: TLabel;
Label29: TLabel;
Edit27: TEdit;
Edit28: TEdit;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label26: TLabel;
Label27: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit5: TEdit;
Edit4: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit25: TEdit;
Edit26: TEdit;
Button1: TButton;
Button3: TButton;
TabSheet3: TTabSheet;
IBQuery1NOM: TSmallintField;
IBQuery1FAM: TIBStringField;
IBQuery1NAME: TIBStringField;
IBQuery1OTCH: TIBStringField;
IBQuery1POL: TIBStringField;
IBQuery1ROST: TIBStringField;
IBQuery1VES: TIBStringField;
IBQuery1FOTO: TBlobField;
IBQuery1DR: TDateField;
IBQuery1ADR_STR: TIBStringField;
IBQuery1ADR_OBL: TIBStringField;
IBQuery1ADR_GOR: TIBStringField;
IBQuery1ADR_YL: TIBStringField;
IBQuery1ADR_DOM: TIBStringField;
IBQuery1ADR_KV: TIBStringField;
IBQuery1ADR_IND: TIBStringField;
IBQuery1ADR_TEL: TIBStringField;
IBQuery1MROZ_STR: TIBStringField;
IBQuery1MROZ_OBL: TIBStringField;
IBQuery1MROZ_GOR: TIBStringField;
IBQuery1GRAZDAN: TIBStringField;
IBQuery1OBRAZOV: TIBStringField;
IBQuery1NOM_STRAX_SVED: TIBStringField;
IBQuery1INN: TIBStringField;
IBQuery1TRYD_KN_SERIYA: TIBStringField;
IBQuery1TRYD_KN_NOMER: TIBStringField;
IBQuery1PASPOST_NOM: TIBStringField;
IBQuery1PASPOST_SER: TIBStringField;
IBQuery1PASPOST_VIDAN: TIBStringField;
IBQuery1PASPOST_DATA: TDateField;
GroupBox8: TGroupBox;
Label30: TLabel;
Label31: TLabel;
Label32: TLabel;
Label33: TLabel;
Label34: TLabel;
Label35: TLabel;
Label36: TLabel;
Label37: TLabel;
Label38: TLabel;
Label39: TLabel;
GroupBox9: TGroupBox;
Label40: TLabel;
Label41: TLabel;
GroupBox10: TGroupBox;
Label42: TLabel;
Label43: TLabel;
Label44: TLabel;
GroupBox11: TGroupBox;
Label45: TLabel;
Label46: TLabel;
Label47: TLabel;
Label48: TLabel;
Label49: TLabel;
Label50: TLabel;
Label51: TLabel;
Label52: TLabel;
GroupBox12: TGroupBox;
Label53: TLabel;
Label54: TLabel;
Label55: TLabel;
Label56: TLabel;
GroupBox13: TGroupBox;
Label57: TLabel;
Label58: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
DBEdit8: TDBEdit;
DBEdit9: TDBEdit;
DBEdit10: TDBEdit;
DBEdit11: TDBEdit;
DBEdit12: TDBEdit;
DBEdit13: TDBEdit;
DBEdit14: TDBEdit;
DBEdit15: TDBEdit;
DBEdit16: TDBEdit;
DBEdit17: TDBEdit;
DBEdit18: TDBEdit;
DBEdit19: TDBEdit;
DBEdit20: TDBEdit;
DBEdit21: TDBEdit;
DBEdit22: TDBEdit;
DBEdit23: TDBEdit;
DBEdit24: TDBEdit;
DBEdit25: TDBEdit;
DBEdit26: TDBEdit;
DBEdit27: TDBEdit;
DBEdit28: TDBEdit;
GroupBox7: TGroupBox;
ComboBox1: TComboBox;
Edit500: TEdit;
Button2: TButton;
DBNavigator3: TDBNavigator;
IBQueryFoto: TIBQuery;
OpenPictureDialog1: TOpenPictureDialog;
DBImage2: TDBImage;
DBImage1: TDBImage;
GroupBox14: TGroupBox;
Label59: TLabel;
Label60: TLabel;
Label61: TLabel;
Label62: TLabel;
Label63: TLabel;
Label64: TLabel;
Label65: TLabel;
Label66: TLabel;
Label67: TLabel;
Label68: TLabel;
Edit29: TEdit;
Edit30: TEdit;
Edit31: TEdit;
Edit32: TEdit;
Edit33: TEdit;
Edit34: TEdit;
Edit35: TEdit;
Edit36: TEdit;
Edit37: TEdit;
GroupBox15: TGroupBox;
Label69: TLabel;
Label70: TLabel;
Edit38: TEdit;
Edit39: TEdit;
GroupBox16: TGroupBox;
Label71: TLabel;
Label72: TLabel;