2. Экспериментальный раздел

 

2.1. Описание процесса отладки

Успешное завершение процесса компиляции не означает, что в программе нет ошибок. Убедиться, что программа работает правильно можно только в процессе проверки ее работоспособности, который называется тестирование.

Обычно программа редко сразу начинает работать так, как надо, или работает правильно только на некотором ограниченном наборе исходных данных. Это свидетельствует о том, что в программе есть алгоритмические ошибки. Процесс поиска и устранение ошибок называется отладкой.

Delphi обладает мощнейшим, встроенным в редактор графическим отладчиком, позволяющим находить и устранять ошибки в коде. Мы можем установить точки остановки, проверить и изменить переменные, при помощи пошагового выполнения в точности понять поведение программы.

В процессе отладки программы я столкнулся с ошибкой. Эта ошибка возникла, когда программой не была найдена база данных.

Исправил я эту ошибку, создав папку «BD» и поместил в неё базу «BD». Далее в свойстве DatabaseName компонента IBDatabase1 я написал следуюшее:

BD\BD.gdb

Программа автоматически определяет свое место положения и сообщает компоненту IBDatabase путь до базы данных.

2.2. Характеристика программы

Разработанный программный продукт представляет собой программу, которая формирует базу данных и соответствующее приложение для автоматизации ведения кадрового учёта некоторого предприятия.

При запуске программы появляется окошко, содержащее компоненты визуализирующие содержимое базы данных, кнопки, с помощью которых можно добавлять, изменять, удалять записи в базе данных.


Окно о программе

  2.4. Инструкция пользователя

Для работы в данной программе вам не потребуются большие навыки работы с 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;

Label73: TLabel;

Edit40: TEdit;

Edit41: TEdit;

Edit42: TEdit;

GroupBox17: TGroupBox;

Label74: TLabel;

Label75: TLabel;

Label76: TLabel;

Label77: TLabel;

Label78: TLabel;

Label79: TLabel;

Label80: TLabel;

Label81: TLabel;

Edit43: TEdit;

Edit44: TEdit;

Edit45: TEdit;

Edit46: TEdit;

Edit47: TEdit;

Edit48: TEdit;

Edit49: TEdit;

Edit50: TEdit;

GroupBox18: TGroupBox;

Label82: TLabel;

Label83: TLabel;

Edit51: TEdit;

Edit52: TEdit;

GroupBox19: TGroupBox;

Label84: TLabel;

Label85: TLabel;

Label86: TLabel;

Label87: TLabel;

Edit53: TEdit;

Edit54: TEdit;

Edit55: TEdit;

Edit56: TEdit;

Button4: TButton;

IBQuery3: TIBQuery;

DBImage3: TDBImage;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

Button5: TButton;

N12: TMenuItem;

N13: TMenuItem;

N14: TMenuItem;

N15: TMenuItem;

N16: TMenuItem;

N17: TMenuItem;

IBQuery4: TIBQuery;

N18: TMenuItem;

procedure FormDestroy(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure IBQuery1AfterScroll(DataSet: TDataSet);

procedure N5Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure N13Click(Sender: TObject);

procedure N14Click(Sender: TObject);

procedure N15Click(Sender: TObject);

procedure FormActivate(Sender: TObject);

procedure N16Click(Sender: TObject);

procedure N18Click(Sender: TObject);

 private

{ Private declarations }

 public

{ Public declarations }

 end;

var

 Form1: TForm1;

implementation

uses Unit2, Unit3, Unit4, Unit5;

{$R *.dfm}

procedure TForm1.FormDestroy(Sender: TObject);

begin

IBQuery1.Close;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

if OpenPictureDialog1.Execute Then

 begin

DBImage2.Picture.LoadFromFile(OpenPictureDialog1.FileName);

IBQueryFoto.ParamByName('FOTO').LoadFromFile(OpenPictureDialog1.FileName,ftBlob);

IBQueryFoto.ParamByName('Nom').Value := IBQuery1.FieldByName('Nom').Value;

Try

IBQueryFoto.ExecSQL;

Except

DataModule2.IBTransaction1.RollbackRetaining;

ShowMessage('Ошибка установки фотографии');

Exit;

End;

 DataModule2.IBTransaction1.CommitRetaining;

 IBQuery1.Close;

 IBQuery1.Open;

 ShowMessage('Фотография установлена');

end;

end;

procedure TForm1.N2Click(Sender: TObject);

begin

close;

end;

procedure TForm1.Button2Click(Sender: TObject);

var

 s : String;

begin

 case ComboBox1.ItemIndex of

0 : S := 'Fam';

1 : S := 'Pol';

2 : S := 'INN';

 end;

IBQuery1.Locate(S, Edit500.Text,[loPartialKey]);

end;

procedure TForm1.N3Click(Sender: TObject);

begin

Form3.QuickRep1.Preview;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

IBQuery2.Params.ParamByName('Fam').Value:=Edit1.Text;

IBQuery2.Params.ParamByName('Name').Value:=Edit2.Text;

IBQuery2.Params.ParamByName('Otch').Value:=Edit3.Text;

IBQuery2.Params.ParamByName('Pol').Value:=Edit4.Text;

IBQuery2.Params.ParamByName('DR').Value:=Edit5.Text;

IBQuery2.Params.ParamByName('Ves').Value:=Edit6.Text;

IBQuery2.Params.ParamByName('Rost').Value:=Edit7.Text;

IBQuery2.Params.ParamByName('Adr_str').Value:=Edit8.Text;

IBQuery2.Params.ParamByName('Adr_obl').Value:=Edit9.Text;

IBQuery2.Params.ParamByName('Adr_gor').Value:=Edit10.Text;

IBQuery2.Params.ParamByName('Adr_yl').Value:=Edit11.Text;

IBQuery2.Params.ParamByName('Adr_dom').Value:=Edit12.Text;

IBQuery2.Params.ParamByName('Adr_kv').Value:=Edit13.Text;

IBQuery2.Params.ParamByName('Adr_ind').Value:=Edit14.Text;

IBQuery2.Params.ParamByName('Adr_tel').Value:=Edit15.Text;

IBQuery2.Params.ParamByName('Mroz_str').Value:=Edit16.Text;

IBQuery2.Params.ParamByName('Mroz_obl').Value:=Edit17.Text;

IBQuery2.Params.ParamByName('Paspost_nom').Value:=Edit18.Text;

IBQuery2.Params.ParamByName('Mroz_gor').Value:=Edit19.Text;

IBQuery2.Params.ParamByName('Paspost_ser').Value:=Edit20.Text;

IBQuery2.Params.ParamByName('Paspost_vidan').Value:=Edit21.Text;

IBQuery2.Params.ParamByName('Paspost_data').Value:=Edit22.Text;

IBQuery2.Params.ParamByName('Tryd_kn_seriya').Value:=Edit23.Text;

IBQuery2.Params.ParamByName('Tryd_kn_nomer').Value:=Edit24.Text;

IBQuery2.Params.ParamByName('Obrazov').Value:=Edit25.Text;

IBQuery2.Params.ParamByName('Grazdan').Value:=Edit26.Text;

IBQuery2.Params.ParamByName('Nom_strax_sved').Value:=Edit27.Text;

IBQuery2.Params.ParamByName('INN').Value:=Edit28.Text;

try

IBQuery2.ExecSQL;

Except

DataModule2.IBTransaction1.RollbackRetaining;

ShowMessage('Невозможно передать запись');

Exit;

end;

DataModule2.IBTransaction1.CommitRetaining;

ShowMessage('Запись добавлена');

IBQuery1.Close;

IBQuery1.Open;

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

if MessageDlg('Обновить анкетные данные?', mtConfirmation, [mbYes, mbNo],0)=mrYes then

begin

IBQuery4.Params.ParamByName('Nom').Value:=IBQuery1NOM.Value;

IBQuery4.Params.ParamByName('Fam').Value:=Edit29.Text;

IBQuery4.Params.ParamByName('Name').Value:=Edit30.Text;

IBQuery4.Params.ParamByName('Otch').Value:=Edit31.Text;

IBQuery4.Params.ParamByName('Pol').Value:=Edit33.Text;

IBQuery4.Params.ParamByName('DR').Value:=Edit32.Text;

IBQuery4.Params.ParamByName('Ves').Value:=Edit34.Text;

IBQuery4.Params.ParamByName('Rost').Value:=Edit35.Text;

IBQuery4.Params.ParamByName('Adr_str').Value:=Edit43.Text;

IBQuery4.Params.ParamByName('Adr_obl').Value:=Edit44.Text;

IBQuery4.Params.ParamByName('Adr_gor').Value:=Edit45.Text;

IBQuery4.Params.ParamByName('Adr_yl').Value:=Edit46.Text;

IBQuery4.Params.ParamByName('Adr_dom').Value:=Edit47.Text;

IBQuery4.Params.ParamByName('Adr_kv').Value:=Edit48.Text;

IBQuery4.Params.ParamByName('Adr_ind').Value:=Edit50.Text;

IBQuery4.Params.ParamByName('Adr_tel').Value:=Edit49.Text;

IBQuery4.Params.ParamByName('Mroz_str').Value:=Edit40.Text;

IBQuery4.Params.ParamByName('Mroz_obl').Value:=Edit41.Text;

IBQuery4.Params.ParamByName('Paspost_nom').Value:=Edit53.Text;

IBQuery4.Params.ParamByName('Mroz_gor').Value:=Edit42.Text;

IBQuery4.Params.ParamByName('Paspost_ser').Value:=Edit54.Text;

IBQuery4.Params.ParamByName('Paspost_vidan').Value:=Edit55.Text;

IBQuery4.Params.ParamByName('Paspost_data').Value:=Edit56.Text;

IBQuery4.Params.ParamByName('Tryd_kn_seriya').Value:=Edit51.Text;

IBQuery4.Params.ParamByName('Tryd_kn_nomer').Value:=Edit52.Text;

IBQuery4.Params.ParamByName('Obrazov').Value:=Edit36.Text;

IBQuery4.Params.ParamByName('Grazdan').Value:=Edit37.Text;

IBQuery4.Params.ParamByName('Nom_strax_sved').Value:=Edit38.Text;

IBQuery4.Params.ParamByName('INN').Value:=Edit39.Text;

try

IBQuery4.ExecSQL;

Except

DataModule2.IBTransaction1.RollbackRetaining;

ShowMessage('Запись не добавлена');

exit;

end;

DataModule2.IBTransaction1.CommitRetaining;

ShowMessage('Запись обновлена');

IBQuery1.Close;

IBQuery1.Open;

end;

end;

procedure TForm1.IBQuery1AfterScroll(DataSet: TDataSet);

begin

 if IBQuery1.FieldValues['Fam']<> null then

 Edit29.Text:=IBQuery1.FieldValues['Fam'];

 if IBQuery1.FieldValues['Name']<> null then

 Edit30.Text:=IBQuery1.FieldValues['Name'];

 if IBQuery1.FieldValues['Otch']<> null then

 Edit31.Text:=IBQuery1.FieldValues['Otch'];

 if IBQuery1.FieldValues['Pol']<> null then

 Edit33.Text:=IBQuery1.FieldValues['Pol'];

 if IBQuery1.FieldValues['DR']<> null then

 Edit32.Text:=IBQuery1.FieldValues['DR'];

 if IBQuery1.FieldValues['Ves']<> null then

 Edit34.Text:=IBQuery1.FieldValues['Ves'];

 if IBQuery1.FieldValues['Rost']<> null then

 Edit35.Text:=IBQuery1.FieldValues['Rost'];

 if IBQuery1.FieldValues['Adr_str']<> null then

 Edit43.Text:=IBQuery1.FieldValues['Adr_str'];

 if IBQuery1.FieldValues['Adr_obl']<> null then

 Edit44.Text:=IBQuery1.FieldValues['Adr_obl'];

 if IBQuery1.FieldValues['Adr_gor']<> null then

 Edit45.Text:=IBQuery1.FieldValues['Adr_gor'];

 if IBQuery1.FieldValues['Adr_yl']<> null then

 Edit46.Text:=IBQuery1.FieldValues['Adr_yl'];

 if IBQuery1.FieldValues['Adr_dom']<> null then

 Edit47.Text:=IBQuery1.FieldValues['Adr_dom'];

 if IBQuery1.FieldValues['Adr_kv']<> null then

 Edit48.Text:=IBQuery1.FieldValues['Adr_kv'];

 if IBQuery1.FieldValues['Adr_ind']<> null then

 Edit50.Text:=IBQuery1.FieldValues['Adr_ind'];

 if IBQuery1.FieldValues['Adr_tel']<> null then

 Edit49.Text:=IBQuery1.FieldValues['Adr_tel'];

 if IBQuery1.FieldValues['Mroz_str']<> null then

 Edit40.Text:=IBQuery1.FieldValues['Mroz_str'];

 if IBQuery1.FieldValues['Mroz_obl']<> null then

 Edit41.Text:=IBQuery1.FieldValues['Mroz_obl'];

 if IBQuery1.FieldValues['Paspost_nom']<> null then

 Edit53.Text:=IBQuery1.FieldValues['Paspost_nom'];

 if IBQuery1.FieldValues['Mroz_gor']<> null then

 Edit42.Text:=IBQuery1.FieldValues['Mroz_gor'];

 if IBQuery1.FieldValues['Paspost_ser']<> null then

 Edit54.Text:=IBQuery1.FieldValues['Paspost_ser'];

 if IBQuery1.FieldValues['Paspost_vidan']<> null then

 Edit55.Text:=IBQuery1.FieldValues['Paspost_vidan'];

 if IBQuery1.FieldValues['Paspost_data']<> null then

 Edit56.Text:=IBQuery1.FieldValues['Paspost_data'];

 if IBQuery1.FieldValues['Tryd_kn_seriya']<> null then

 Edit51.Text:=IBQuery1.FieldValues['Tryd_kn_seriya'];

 if IBQuery1.FieldValues['Tryd_kn_nomer']<> null then

 Edit52.Text:=IBQuery1.FieldValues['Tryd_kn_nomer'];

if IBQuery1.FieldValues['Obrazov']<> null then

 Edit36.Text:=IBQuery1.FieldValues['Obrazov'];

if IBQuery1.FieldValues['Grazdan']<> null then

 Edit37.Text:=IBQuery1.FieldValues['Grazdan'];

if IBQuery1.FieldValues['Nom_strax_sved']<> null then

 Edit38.Text:=IBQuery1.FieldValues['Nom_strax_sved'];

if IBQuery1.FieldValues['INN']<> null then

 Edit39.Text:=IBQuery1.FieldValues['INN'];

end;

procedure TForm1.N5Click(Sender: TObject);

begin

Form4.Notebook1.PageIndex := 0;

Form4.GroupBox1.Caption := ' По фамилии: ';

Form4.ShowModal;

end;

procedure TForm1.N6Click(Sender: TObject);

begin

Form4.Notebook1.PageIndex := 1;

Form4.GroupBox1.Caption := ' По полу: ';

Form4.ShowModal;

end;

procedure TForm1.N7Click(Sender: TObject);

begin

Form4.Notebook1.PageIndex := 2;

Form4.GroupBox1.Caption := ' По дате рождения: ';

Form4.ShowModal;

end;

procedure TForm1.N9Click(Sender: TObject);

begin

IBQuery1.Close;

IBQuery1.SQL.Clear;

IBQuery1.SQL.Add('select * from anketa order by fam');

IBQuery1.Open;

end;

procedure TForm1.N10Click(Sender: TObject);

begin

IBQuery1.Close;

IBQuery1.SQL.Clear;

IBQuery1.SQL.Add('select * from anketa order by dr');

IBQuery1.Open;

end;

procedure TForm1.N11Click(Sender: TObject);

begin

IBQuery1.Close;

IBQuery1.SQL.Clear;

IBQuery1.SQL.Add('select * from anketa order by rost');

IBQuery1.Open;

end;

procedure TForm1.Button5Click(Sender: TObject);

begin

if OpenPictureDialog1.Execute Then

 begin

DBImage3.Picture.LoadFromFile(OpenPictureDialog1.FileName);

IBQueryFoto.ParamByName('FOTO').LoadFromFile(OpenPictureDialog1.FileName,ftBlob);

IBQueryFoto.ParamByName('Nom').Value := IBQuery1.FieldByName('Nom').Value;

Try

IBQueryFoto.ExecSQL;

Except

DataModule2.IBTransaction1.RollbackRetaining;

ShowMessage('Ошибка установки фотографии');

Exit;

End;

 DataModule2.IBTransaction1.CommitRetaining;

 IBQuery1.Close;

 IBQuery1.Open;

 ShowMessage('Фотография установлена');

end;

end;

procedure TForm1.N13Click(Sender: TObject);

begin

 PageControl1.ActivePageIndex := 1;

end;

procedure TForm1.N14Click(Sender: TObject);

begin

 PageControl1.ActivePageIndex := 2;

end;

procedure TForm1.N15Click(Sender: TObject);

begin

if MessageBox(Handle,'Вы действительно хотите удалить запись?','Подтверждение удаления', MB_YESNO or MB_ICONWARNING)=mrYes then

 begin

 IBQuery3.ParamByName('NOM').Value := IBQuery1.FieldByName('NOM').Value;

 Try

IBQuery3.ExecSQL;

 Except

DataModule2.IBTransaction1.RollbackRetaining;

MessageBox(Handle,'Невозможно удалить запись.','Ошибка удаления записи', MB_OK or MB_ICONERROR);

Exit;

 End;

 DataModule2.IBTransaction1.CommitRetaining;

 IBQuery1.Close;

 IBQuery1.Open;

 MessageBox(Handle,'Запись удалина.','Событие', MB_OK or MB_ICONINFORMATION);

 end;

end;

procedure TForm1.FormActivate(Sender: TObject);

begin

IBQuery1.Open;

end;

procedure TForm1.N16Click(Sender: TObject);

begin

Form5.ShowModal;

end;

procedure TForm1.N18Click(Sender: TObject);

begin

IBQuery1.Close;

IBQuery1.SQL.Clear;

IBQuery1.SQL.Add('SELECT * FROM ANKETA');

IBQuery1.Open;

end;

end.

Модуль формы с фильтрацией

unit Unit4;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, StdCtrls, ExtCtrls;

type

 TForm4 = class(TForm)

GroupBox1: TGroupBox;

Notebook1: TNotebook;

Label1: TLabel;

Edit1: TEdit;

Button1: TButton;

Button2: TButton;

Button3: TButton;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

Button4: TButton;

Button5: TButton;

Edit2: TEdit;

Label2: TLabel;

Label3: TLabel;

Edit3: TEdit;

Button6: TButton;

Button7: TButton;

Button8: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure Button8Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

 private

{ Private declarations }

 public

{ Public declarations }

 end;

var

 Form4: TForm4;

implementation

uses Unit1, Unit2, Unit3;

{$R *.dfm}

procedure TForm4.Button1Click(Sender: TObject);

begin

Form1.IBQuery1.Close;

form1.IBQuery1.SQL.Clear;

Form1.IBQuery1.SQL.Add('SELECT * FROM ANKETA WHERE Fam='+#39+Edit1.text+#39'');

Form1.IBQuery1.Open;

end;

procedure TForm4.Button2Click(Sender: TObject);

begin

Form1.IBQuery1.Close;

form1.IBQuery1.SQL.Clear;

Form1.IBQuery1.SQL.Add('SELECT * FROM ANKETA');

Form1.IBQuery1.Open;

end;

procedure TForm4.Button3Click(Sender: TObject);

begin

Edit1.Text:='';

end;

procedure TForm4.Button5Click(Sender: TObject);

begin

Form1.IBQuery1.Close;

form1.IBQuery1.SQL.Clear;

Form1.IBQuery1.SQL.Add('SELECT * FROM ANKETA');

Form1.IBQuery1.Open;

end;

procedure TForm4.Button4Click(Sender: TObject);

begin

Form1.IBQuery1.Close;

form1.IBQuery1.SQL.Clear;

if RadioButton1.Checked=true then

Form1.IBQuery1.SQL.Add('SELECT * FROM ANKETA WHERE POL='+#39+'М'+#39);

if RadioButton2.Checked=true then

Form1.IBQuery1.SQL.Add('SELECT * FROM ANKETA WHERE POL='+#39+'Ж'+#39);

Form1.IBQuery1.Open;

end;

procedure TForm4.Button6Click(Sender: TObject);

begin

Form1.IBQuery1.Close;

form1.IBQuery1.SQL.Clear;

Form1.IBQuery1.SQL.Add('SELECT * FROM ANKETA WHERE(DR>='+#39+Edit2.text+#39+') and (DR<='+#39+Edit3.text+#39+') ');

Form1.IBQuery1.Open;

end;

procedure TForm4.Button8Click(Sender: TObject);

begin

Edit2.Text:='';

Edit3.Text:='';

end;

procedure TForm4.Button7Click(Sender: TObject);

begin

Form1.IBQuery1.Close;

form1.IBQuery1.SQL.Clear;

Form1.IBQuery1.SQL.Add('SELECT * FROM ANKETA');

Form1.IBQuery1.Open;

end;

end.


Информация о работе «Организация автоматизации учета на предприятиях»
Раздел: Информатика, программирование
Количество знаков с пробелами: 45446
Количество таблиц: 0
Количество изображений: 2

Похожие работы

Скачать
88517
17
1

... разрешено исправлять существенные ошибки предшествующего отчетного года без ретроспективного пересчета. Это новшество существенно упростит составление отчетности. 1.2 Автоматизация бухгалтерского учета на предприятиях малого бизнеса Руководителю российского предприятия сегодня приходится принимать решения в условиях неопределенности и риска, что вынуждает его постоянно держать под ...

Скачать
11530
10
5

... Вид в режиме конструктора: Сам отчет см. приложение№1. Вид отчета в режиме конструктора. Заключение В результате проделанной работы мы создали базу данных по автоматизации учета кадров предприятия, позволяющую выполнять необходимые задачи и функции, связанные с обработкой данных по количеству сотрудников, фонду заработной платы, подразделениям и т.д. На ...

Скачать
49078
0
0

... . В целях обеспечения сопоставимости данных бухгалтерского учета изменения учетной политики должны вводиться с начала финансового года. Глава 2. Действующая организация первичного учета в КГУ «Светлинский лесхоз».   2.1. Виды документов по учету имущества организации.   В КГУ «Светлинский лесхоз» применяются следующие документы по учету имущества: Инвентарная карточка учета основных средств ...

Скачать
59678
13
0

... увеличилась на 2 человека и за 2003-2004 г. на 2 человека. Рост числа работников обусловлен в частности с увеличением потребности в обслуживающем и производственном персонале. 2. ОСНОВЫ ОРГАНИЗАЦИИ БУХГАЛТЕРСКОГО УЧЕТА НА ПРЕДПРИЯТИИ В соответствии с Гражданским кодексом РФ юридическим лицом признается организация, которая имеет в собственности, хозяйственном ведении или оперативном управлении ...

0 комментариев


Наверх