Лабораториялық ЖҰмыс №3. «Достық» қолданушы интерфейсін құру


- ортаның жағдайын анықтау



бет14/59
Дата07.02.2022
өлшемі2,43 Mb.
#83085
1   ...   10   11   12   13   14   15   16   17   ...   59
Байланысты:
интерфейс пр мет

- ортаның жағдайын анықтау;

- түс пен дыбысты қолдану арқылы пайдаланушының назарын басқару;

- экранда болып жатқан өзгерулерді анықтау;

- пайдаланушының бағдарламалық ортадағы орналасуын анықтау;

- бағдарламалық ортаның тап сол кезігдегі іс-әрекеттері туралы хабарламаны көру.

Қолданышу интерфейсі пайдаланушының нақты бағдарламалық құралмен өзара әрекеттесі әдісі.

Қолданышу интерфейсінің түрлері: - командалық; - фиксирленген мәзір; - графикалық;

- командалық тілдік (дауыстық).




Зертханалық жұмысты орындауға тапсырма
Қосымшаны өңдеу әдістерін пайдалана отырып, достық интерфейсімен қарапайым қосымшаны құрастыру.


Жұмыстың орындалу реті
Бұл жұмысқа мысал ретінде банктегі кредиттік іс-әрекеттерді жүргізуді автоматтандыруға арналған бағдарламаны қарастырайық. Бағдарламаның құрамына 9 модуль және сәйкесінше 9 форма кіреді.
Бағдарламаның басты модулі Unit1.pas бағдарламаның негізгі формасынан тұрады, онда бағдарламаның мәзірі жүзеге асырылған (сурет 3.1).

Сурет 3.1 – Бағдарламаның басты формасы
Төменде Unit1.pas модулінің листингісі келтірілген:



unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, jpeg, ExtCtrls;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
Image1: TImage;
N6: TMenuItem;
N10: TMenuItem;
procedure N3Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N10Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit9,shellapi, filectrl;
{$R *.dfm}
procedure TForm1.N3Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.N2Click(Sender: TObject);
begin
Form2.show;
end;
procedure TForm1.N8Click(Sender: TObject);
begin
form3.show;
end;
procedure TForm1.N5Click(Sender: TObject);
begin
Form4.show;
end;
procedure TForm1.N9Click(Sender: TObject);
begin
Form5.show;
end;
procedure TForm1.N6Click(Sender: TObject);
begin
Form9.show;
end;
procedure TForm1.N7Click(Sender: TObject);
begin
Form7.show;
end;
procedure TForm1.N10Click(Sender: TObject);
begin
ShellExecute(handle,'open','C:\Инструкция\Manual.html',nil,nil,SW_SHOW);
end;
end.

Unit2.pas модулі пароль мен логинге арналған формадан тұрады. Бұл форма бағдарламаның басты мәзірінің Қосылу (Подключение) пунктінің Кіру (Войти) ішкіпунктін таңдағанда шығады. (сурет 3.2).

Сурет 3.2 – Пайдаланушының паролі мен логинін енгізуге арналған форма

Төменде Unit2.pas модулінің листингісі келтірілген:



unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls;
type
TForm2 = class(TForm)
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit1: TEdit;
Edit2: TEdit;
procedure Label3Click(Sender: TObject);
procedure Label4Click(Sender: TObject);
procedure Label3MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure Label4MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
l,p:boolean;
implementation
uses Unit3, Unit1;
{$R *.dfm}
procedure TForm2.Label3Click(Sender: TObject);
begin
Close;
end;
procedure TForm2.Label4Click(Sender: TObject);
begin
if form3.table1.Locate('Login',edit1.Text,[]) then
begin
l:=true;
if edit2.Text=form3.table1.FieldByName('Password').AsString then
p:=true;
end;
if (l=true) and (p=true) then begin
case form3.table1.FieldByName('Uroven').Asinteger of
0:begin
with form1 do begin
N4.visible:=true;
N7.visible:=true;
N8.visible:=true;
N9.visible:=true;
end;
end;
1:begin
with form1 do begin
N4.visible:=true;
N7.visible:=false;
N8.visible:=false;
N9.visible:=false;
end;
end;
2:begin
with form1 do begin
N4.visible:=false;
N7.visible:=true;
N8.visible:=false;
N9.visible:=false;
end;
end;
3:begin
with form1 do begin
N4.visible:=false;
N7.visible:=false;
N8.visible:=false;
N9.visible:=true;
end;
end;
end;
form2.Close;
end;
end;
procedure TForm2.Label3MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
Label3.Font.Color := clyellow;
Label4.Font.Color := clwhite;
end;
procedure TForm2.Label4MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
Label4.Font.Color := clyellow;
Label3.Font.Color := clwhite;
end;
procedure TForm2.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
Label3.Font.Color := clwhite;
Label4.Font.Color := clwhite;
end;
end.

Unit3.pas модулі «Әкімшелендіру» («Администрирование») формасынан тұрады, бұл форма пайдаланушыны қосуға және алып тастауға, логиндер парольдерін өзгертуге арналған. (сурет 3.3).



Сурет 3.3 – «Әкімшелендіру» («Администрирование») формасы

Төменде Unit3.pas модулінің листингісі келтірілген:



unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, DB, DBTables, Grids, DBGrids, Menus;
type
TForm3 = class(TForm)
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Table1: TTable;
GroupBox1: TGroupBox;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
var l,p:boolean;
s1:string;
implementation
{$R *.dfm}
procedure TForm3.N2Click(Sender: TObject);
begin
Table1.Append;
end;
procedure TForm3.N3Click(Sender: TObject);
begin
Table1.Delete ;
end;
procedure TForm3.N4Click(Sender: TObject);
begin
Table1.Post ;
end;
procedure TForm3.N5Click(Sender: TObject);
begin
Table1.Edit ;
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
Close;
end;
procedure TForm3.Button2Click(Sender: TObject);
begin
Table1.Cancel ;
end;
procedure TForm3.FormCreate(Sender: TObject);
begin
s1:=ExtractFiledir(application.ExeName);
table1.DatabaseName:=s1+'\Users';
table1.Active:=true;
end;
end.

Unit4.pas модулі «Тіркеу» («Регистрация») формасынан тұрады, бұл форма банктің жаңа клиентін тіркеуге арналған (сурет 3.4) .

Сурет 3.4 – «Тіркеу» («Регистрация») формасы

Төменде Unit4.pas модулінің листингісі келтірілген:



unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtDlgs, DBCtrls, DB, DBTables, Grids, DBGrids, Mask,
ComCtrls, Math, ExtCtrls;
type
TForm4 = class(TForm)
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
Label6: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
GroupBox3: TGroupBox;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
DBImage1: TDBImage;
OpenPictureDialog1: TOpenPictureDialog;
Button1: TButton;
Table1: TTable;
DataSource1: TDataSource;
Label7: TLabel;
Label11: TLabel;
Label21: TLabel;
Button2: TButton;
Label22: TLabel;
Label20: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: 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;
Label23: TLabel;
DBComboBox1: TDBComboBox;
DBComboBox2: TDBComboBox;
Label24: TLabel;
Label25: TLabel;
Label26: TLabel;
DateTimePicker1: TDateTimePicker;
DBEdit7: TDBEdit;
Label4: TLabel;
DBEdit21: TDBEdit;
Label27: TLabel;
DBEdit22: TDBEdit;
Label28: TLabel;
DBEdit23: TDBEdit;
Label30: TLabel;
Label29: TLabel;
DBEdit24: TDBEdit;
DBEdit25: TDBEdit;
DBEdit26: TDBEdit;
Panel1: TPanel;
Button5: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure DBEdit1Change(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Table1AfterEdit(DataSet: TDataSet);
procedure FormActivate(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
s:string;
implementation
{$R *.dfm}
procedure TForm4.Button1Click(Sender: TObject);
var jpeg,bitmap:tpicture;
begin
jpeg:=tpicture.Create;
bitmap:=tpicture.Create;
if OpenPictureDialog1.Execute then
jpeg.LoadFromFile(OpenPictureDialog1.FileName);
if OpenPictureDialog1.FileName<>'' then
begin
bitmap.Bitmap.Assign(jpeg.Graphic);
DBImage1.Picture.Bitmap.Assign(bitmap.Bitmap);
end;
jpeg.Free;
bitmap.Free ;
end;
procedure TForm4.Button2Click(Sender: TObject);
begin
Table1.Post;
Close;
end;
procedure TForm4.DBEdit1Change(Sender: TObject);
begin
if DBEdit1.text='' then DBedit1.Text:='0';
DBedit8.Text:=floattostr(Round(0.005*Strtofloat(DBedit1.Text)));
DBedit9.Text:=floattostr(Round(0.0025*Strtofloat(DBedit1.Text)));
DBedit10.Text:=floattostr(Round(0.01*Strtofloat(DBedit1.Text)));
DBedit11.Text:=floattostr(Round(0.0125*Strtofloat(DBedit1.Text)));
end;
procedure TForm4.Button5Click(Sender: TObject);
var g_price,fpay, credit, mproc_rate, ad_pay, m_pay, total_pay,real_proc,real_procyear: real;
period, yproc_rate :integer;
DateTime:TDateTime;
begin
DateTime:=Date;
DBEdit7.Text :=DateToStr(DateTime);
g_price:=strtofloat( DBEdit1.text);
ad_pay:=strtoint(DBComboBox1.text);
period:= strtoint(DBComboBox2.text)*12;
yproc_rate:=strtoint( DBEdit4.text);
fpay:= Round(g_price*(ad_pay/100));
DBEdit2.Text :=floattostr(fpay);
credit:= Round(g_price-fpay);
DBEdit3.Text :=floattostr(credit);
mproc_rate:=yproc_rate/1200;
DBEdit21.Text:=floattostr(mproc_rate*100);
m_pay:=Round(credit*mproc_rate/(1-1/Math.Power(1+mproc_rate,period)));
DBEdit5.Text :=floattostr(m_pay);
total_pay:=Round(m_pay*period);
DBEdit22.Text :=floattostr(total_pay);
real_proc:=( total_pay/credit-1)*100;
DBEdit6.Text :=floattostr(real_proc);
real_procyear:= (real_proc/period)*12;
DBEdit23.Text :=floattostr(real_procyear);
DBEdit26.Text :=Inttostr(period);
end;
procedure TForm4.Table1AfterEdit(DataSet: TDataSet);
begin
Button2.Enabled :=true;
end;
procedure TForm4.FormActivate(Sender: TObject);
begin
table1.Append ;
end;
procedure TForm4.FormCreate(Sender: TObject);
begin
s:=ExtractFiledir(application.ExeName);
table1.DatabaseName:=s+'\bases';
table1.Active:=true;
end;
end.

Unit5.pas модулі «Басқарушы» («Управляющий») формасынан тқрады, ол барлық жазбаларды көруге, іздеу мен фильтрлеуді жүргізуге, деректердіWord, Excel-ге шығаруға, есеп беруді басуға, деректерді жергілікті желі арқылы жіберуге, банктің Сайтын көруге және т.б. арналған (сурет 3.5).



Сурет 3.5 – «Басқарушы» формасы

Төменде Unit5.pas модулінің листингісі келтірілген:



unit Unit5;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBCtrls, DBTables, StdCtrls, Mask, DB, Grids, DBGrids, ComCtrls,
ExtCtrls, Buttons, Menus, WordXP, OleServer, ImgList, ActnList, CmAdmCtl,
ExcelXP;
type
TForm5 = class(TForm)
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Table1: TTable;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet3: TTabSheet;
Label8: TLabel;
Edit1: TEdit;
Label9: TLabel;
Edit2: TEdit;
Label10: TLabel;
Edit3: TEdit;
Label11: TLabel;
Edit4: TEdit;
RadioGroup2: TRadioGroup;
ComboBox1: TComboBox;
Edit5: TEdit;
Button1: TButton;
Button2: TButton;
Panel1: TPanel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBImage1: TDBImage;
DBEdit4: TDBEdit;
GroupBox1: TGroupBox;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
DBEdit5: TDBEdit;
Label6: TLabel;
DBEdit6: TDBEdit;
Label7: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
DBEdit7: TDBEdit;
DBEdit8: TDBEdit;
DBEdit9: TDBEdit;
DBEdit10: TDBEdit;
DBEdit11: TDBEdit;
Label16: TLabel;
DBEdit12: TDBEdit;
Label17: TLabel;
DBEdit13: TDBEdit;
Label18: TLabel;
DBEdit14: TDBEdit;
Label19: TLabel;
DBEdit15: TDBEdit;
Label20: TLabel;
DBEdit16: TDBEdit;
Label21: TLabel;
DBEdit17: TDBEdit;
Label22: TLabel;
DBEdit18: TDBEdit;
Label23: TLabel;
DBEdit19: TDBEdit;
Label24: TLabel;
DBEdit20: TDBEdit;
Button8: TButton;
BitBtn1: TBitBtn;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
Table1ID: TAutoIncField;
Table1Fam: TStringField;
Table1Name: TStringField;
Table1Otch: TStringField;
Table1N_udlich: TStringField;
Table1N_RNN: TStringField;
Table1N_SIK: TStringField;
Table1Address: TStringField;
Table1Tel: TStringField;
Table1N_svbrak: TStringField;
Table1Total_kredit: TStringField;
Table1Year_stavka: TStringField;
Table1Srok_kredit: TStringField;
Table1Prosent_vznosa: TStringField;
Table1Summa_vznosa: TStringField;
Table1Summa_kredita: TStringField;
Table1Month_stavka: TStringField;
Table1Summa_month: TStringField;
Table1Total_sum: TStringField;
Table1Fact_prosent_year: TStringField;
Table1Fact_prosent_total: TStringField;
Table1Strax_live: TStringField;
Table1Org: TStringField;
Table1Obl: TStringField;
Table1Strax_nedv: TStringField;
Table1Photo: TGraphicField;
Table1Date: TDateField;
Table1N_schet_klient: TStringField;
Table1N_schet_bank: TStringField;
Table1Vznosi: TStringField;
Table1Oplala: TStringField;
Table1Period: TStringField;
BitBtn2: TBitBtn;
BitBtn4: TBitBtn;
procedure Edit1Change(Sender: TObject);
procedure Edit2Change(Sender: TObject);
procedure Edit3Change(Sender: TObject);
procedure Edit4Change(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
s:string;
implementation
uses Unit8, shellapi, filectrl;
Const
link = clBlue; //цвет ссылки
alink = clRed; //цвет ссылки в момент нажатия
vlink = clPurple; // цвет посещеной ссылки
{$R *.dfm}
procedure TForm5.Edit1Change(Sender: TObject);
var KeyField:string;
begin
KeyField:='Fam';
Table1.Locate(KeyField,edit1.Text,[locaseInsensitive, loPartialKey]);
end;
procedure TForm5.Edit2Change(Sender: TObject);
var KeyField:string;
begin
KeyField:='Name';
Table1.Locate(KeyField,edit2.Text,[locaseInsensitive, loPartialKey]);
end;
procedure TForm5.Edit3Change(Sender: TObject);
var KeyField:string;
begin
KeyField:='Otch';
Table1.Locate(KeyField,edit3.Text,[locaseInsensitive, loPartialKey]);
end;
procedure TForm5.Edit4Change(Sender: TObject);
var KeyField:string;
begin
KeyField:='N_ud.lich';
Table1.Locate(KeyField,edit4.Text,[locaseInsensitive, loPartialKey]);
end;
procedure TForm5.Button1Click(Sender: TObject);
begin
Table1.Filtered :=true;
case ComboBox1.ItemIndex of
0:table1.Filter:='Total_kredit='+chr(39)+edit5.Text+chr(39);
1: Table1.Filter :='Year_stavka='+chr(39)+edit5.Text +chr(39);
2: Table1.Filter :='Srok_kredit='+chr(39)+edit5.Text +chr(39);
3: Table1.Filter :='Prosent_vznosa='+chr(39)+edit5.Text +chr(39);
4: Table1.Filter :='Summa_vznosa='+chr(39)+edit5.Text +chr(39);
5: Table1.Filter :='Summa_kredita='+chr(39)+edit5.Text +chr(39);
6: Table1.Filter :='Summa_month='+chr(39)+edit5.Text +chr(39);
7: Table1.Filter :='Total_sum='+chr(39)+edit5.Text +chr(39);
8: Table1.Filter :='vznosi='+chr(39)+edit5.Text +chr(39);
end;
end;
procedure TForm5.Button2Click(Sender: TObject);
begin
Edit1.Text :='';
table1.Filtered:=false;
end;
procedure TForm5.Button3Click(Sender: TObject);
begin
Table1.Next ;
end;
procedure TForm5.Button4Click(Sender: TObject);
begin
Table1.Prior ;
end;
procedure TForm5.Button5Click(Sender: TObject);
begin
Table1.Delete ;
end;
procedure TForm5.Button6Click(Sender: TObject);
begin
Table1.Cancel ;
end;
procedure TForm5.Button8Click(Sender: TObject);
begin
Table1.Post ;
end;
procedure TForm5.BitBtn1Click(Sender: TObject);
begin
Form8.QuickRep1.Preview ;
end;
procedure TForm5.N1Click(Sender: TObject);
begin
Table1.Refresh ;
end;
procedure TForm5.FormCreate(Sender: TObject);
begin
s:=ExtractFiledir(application.ExeName);
table1.DatabaseName:=s+'\bases';
table1.Active:=true;
Label25.font.Color:=link;
end;
end.

Келесі форма банк клиентінің төлемін енгізуге арналған (сурет 3.6).



Сурет 3.6 – Банк клиентінің төлемін енгізуге арналған форма

Төменде Unit6.pas модулінің листингісі келтірілген:



unit Unit6;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, jpeg, ExtCtrls, Buttons;
type
TForm6 = class(TForm)
Edit1: TEdit;
Image1: TImage;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form6: TForm6;
implementation
uses Unit7;
{$R *.dfm}
procedure TForm6.BitBtn1Click(Sender: TObject);
begin
Form7.Table1.Edit ;
Form7.Table1Vznosi.Value:=IntToStr(StrToInt(Edit1.Text)+StrToInt(Form7.Table1Vznosi.Value));
Form7.Table1.Post ;
edit1.Text:='0';
close;
Form7.Show;
end;
procedure TForm6.BitBtn2Click(Sender: TObject);
begin
Form7.Table1.Cancel ;
Form6.Close;
Form7.show;
end;
end.

Unit7.pas модулі «Төлемдер» («Выплаты») формасынан тұралды, бұл форма банк клиенттерінің кредиттері бойынша төлемдерін жүргізуге арналған (сурет 3.7).



Сурет 3.7 – «Төлемдер» формасы

Төменде Unit7.pas модулінің листингісі келтірілген:



unit Unit7;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, DBTables, StdCtrls, Mask, DBCtrls, ComCtrls,
Buttons;
type
TForm7 = class(TForm)
DataSource1: TDataSource;
Table1: TTable;
DateTimePicker1: TDateTimePicker;
Edit6: TEdit;
GroupBox1: TGroupBox;
Edit1: TEdit;
Label8: TLabel;
Edit2: TEdit;
Label9: TLabel;
Edit3: TEdit;
Label10: TLabel;
Label11: TLabel;
Edit4: TEdit;
GroupBox2: TGroupBox;
Label1: TLabel;
Label2: TLabel;
DBEdit2: TDBEdit;
Label3: TLabel;
DBEdit3: TDBEdit;
Label4: TLabel;
DBEdit4: TDBEdit;
GroupBox3: TGroupBox;
Label6: TLabel;
DBEdit5: TDBEdit;
Edit5: TEdit;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
DBEdit8: TDBEdit;
DBEdit9: TDBEdit;
GroupBox4: TGroupBox;
Label5: TLabel;
DBEdit10: TDBEdit;
Button3: TButton;
DBEdit1: TDBEdit;
Table1Fam: TStringField;
Table1Name: TStringField;
Table1Otch: TStringField;
Table1N_udlich: TStringField;
Table1N_RNN: TStringField;
Table1N_SIK: TStringField;
Table1Address: TStringField;
Table1Tel: TStringField;
Table1N_svbrak: TStringField;
Table1Total_kredit: TStringField;
Table1Year_stavka: TStringField;
Table1Srok_kredit: TStringField;
Table1Prosent_vznosa: TStringField;
Table1Summa_vznosa: TStringField;
Table1Summa_kredita: TStringField;
Table1Month_stavka: TStringField;
Table1Summa_month: TStringField;
Table1Total_sum: TStringField;
Table1Fact_prosent_year: TStringField;
Table1Fact_prosent_total: TStringField;
Table1Strax_live: TStringField;
Table1Org: TStringField;
Table1Obl: TStringField;
Table1Strax_nedv: TStringField;
Table1Photo: TGraphicField;
Table1Date: TDateField;
Table1N_schet_klient: TStringField;
Table1N_schet_bank: TStringField;
Table1Vznosi: TStringField;
Table1Oplala: TStringField;
Table1Period: TStringField;
Table1ID: TAutoIncField;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label7: TLabel;
Label12: TLabel;
Label13: TLabel;
DBEdit11: TDBEdit;
procedure Edit1Change(Sender: TObject);
procedure Edit2Change(Sender: TObject);
procedure Edit3Change(Sender: TObject);
procedure Edit4Change(Sender: TObject);
procedure DBEdit1Change(Sender: TObject);
procedure Edit5Change(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form7: TForm7;
s:string;
implementation
uses Unit6;
{$R *.dfm}
procedure TForm7.Edit1Change(Sender: TObject);
var KeyField:string;
begin
KeyField:='Fam';
Table1.Locate(KeyField,edit1.Text,[locaseInsensitive, loPartialKey]);
end;
procedure TForm7.Edit2Change(Sender: TObject);
var KeyField:string;
begin
KeyField:='Name';
Table1.Locate(KeyField,edit2.Text,[locaseInsensitive, loPartialKey]);
end;
procedure TForm7.Edit3Change(Sender: TObject);
var KeyField:string;
begin
KeyField:='Otch';
Table1.Locate(KeyField,edit3.Text,[locaseInsensitive, loPartialKey]);
end;
procedure TForm7.Edit4Change(Sender: TObject);
var KeyField:string;
begin
KeyField:='N_ud.lich';
Table1.Locate(KeyField,edit4.Text,[locaseInsensitive, loPartialKey]);
end;
procedure TForm7.DBEdit1Change(Sender: TObject);
begin
Edit5.Text :=Floattostr(Strtofloat(DBedit6.Text)+Strtofloat(DBedit7.Text)+Strtofloat(DBedit8.Text)+Strtofloat(DBedit9.Text));
DBEdit11.Text :=Floattostr(StrToFloat(DBedit10.Text)+Strtofloat(DBedit6.Text)+Strtofloat(DBedit7.Text)+Strtofloat(DBedit8.Text)+Strtofloat(DBedit9.Text));
end;
procedure TForm7.Edit5Change(Sender: TObject);
begin
if Edit5.Text =DBedit5.Text then
begin
Edit5.Visible :=false;
DBedit5.Visible :=false;
Label6.Visible :=true;
end ;
if Edit5.Text <>DBedit5.Text then
begin
Edit5.Visible :=true;
DBedit5.Visible :=true;
Label6.Visible :=false;
end;
end;
procedure TForm7.FormActivate(Sender: TObject);
var
DateTime:TDateTime;
begin
DateTime:=Date;
Edit6.Text :=DateToStr(DateTime);
end;
procedure TForm7.Button3Click(Sender: TObject);
begin
Form7.Visible :=false;
Form6.show;
end;
procedure TForm7.FormCreate(Sender: TObject);
begin
s:=ExtractFiledir(application.ExeName);
table1.DatabaseName:=s+'\bases';
table1.Active:=true;
end;
procedure TForm7.FormClose(Sender: TObject; var Action: TCloseAction);
begin
table1.Refresh ;
end;
procedure TForm7.BitBtn1Click(Sender: TObject);
begin
table1.Refresh ;
Close;
end;
procedure TForm7.BitBtn2Click(Sender: TObject);
begin
Table1.Cancel ;
Close;
end;
end.

Unit8.pas модулі есеп беруді шығаруға арналған формадан тұрады (сурет 3.8).





Сурет 3.8 – Есеп беруді шығаруға арналған форма

Төменде Unit8.pas модулінің листингісі келтірілген:



unit Unit8;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, QuickRpt, StdCtrls, QRCtrls;
type
TForm8 = class(TForm)
QuickRep1: TQuickRep;
ColumnHeaderBand1: TQRBand;
QRLabel5: TQRLabel;
QRLabel6: TQRLabel;
QRLabel7: TQRLabel;
QRLabel8: TQRLabel;
QRLabel9: TQRLabel;
QRLabel10: TQRLabel;
QRLabel11: TQRLabel;
QRBand1: TQRBand;
QRLabel1: TQRLabel;
QRBand2: TQRBand;
QRDBText8: TQRDBText;
QRBand3: TQRBand;
QRDBText9: TQRDBText;
QRDBText10: TQRDBText;
QRDBText11: TQRDBText;
QRDBText12: TQRDBText;
QRDBText13: TQRDBText;
QRDBText14: TQRDBText;
QRSysData1: TQRSysData;
QRSysData2: TQRSysData;
QRSysData3: TQRSysData;
QRSysData4: TQRSysData;
QRSysData5: TQRSysData;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form8: TForm8;
implementation
uses Unit5;
{$R *.dfm}
procedure TForm8.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form5.show;
end;
end.

Бағдарламаны қолдану бойынша нұсқауларды көрсетуге арналған форма 3.9 суретте көрсетілген.



Сурет 3.9 – Бағдарламаны қолдану бойынша нұсқауларды шығаруға арналған форма

Төменде Unit9.pas модулінің листингісі келтірілген:


unit Unit9;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, MPlayer, StdCtrls, Buttons;
type
TForm9 = class(TForm)
Panel1: TPanel;
MediaPlayer1: TMediaPlayer;
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form9: TForm9;
implementation
{$R *.dfm}
procedure TForm9.BitBtn1Click(Sender: TObject);
begin
Form9.Close;
end;
end.
Достық интерфейсін құру үшін бағдарламада келесі компоненттер пайдаланылды: Негізгі мәзір (TMainMenu), Контексті мәзір (TPopupMenu), сонымен бірге деректерді іздеу мен фильтрлеу. Бұдан басқа, бағдарламада қауіпсіздік жүйесі де қарастырылған – яғни, мәзір пункттерінің активациясы пайдаланушының логині мен паролі енгізілгеннен кейін ғана іске асырылады. Бағдарламада TMainMenu компоненті сәйкес терезеге өту үшін, сонымен қатар «Әкімшелендіру» («Администрирование») терезесінде (мұнда пайдаланушының паролі мен логинін өзгертуге болады) пайдаланылған.
Бағдарламаның басты терезесінде орналасқан басты мәзір пункттері 3.10 суретте көрсетілген.

Сурет 3.10 – Бағдарламаның басты мәзірі
«Әкімшелендіру» («Администрирование») терезесінің басты мәзірінің пункттері 3.11 суретте көрсетілген.

Сурет 3.11 – «Әкімшелендіру» («Администрирование») терезесінің
басты мәзірінің пункттері

Контекстті мәзір (TPopupMenu) бағдарламада кестедегі деректерді жаңарту үшін қолданылған. Бұл мәзір жалғыз «Жаңарту» («Обновить») пунктінен тұрады. (сурет 1.12). Осы пункті таңдап алған соң келесі код орындалады:


procedure TForm5.N1Click(Sender: TObject);
begin
Table1.Refresh;
end;

Сурет 3.12 – «Басқарушы» («Управляющий») терезесінің контексті мәзірі

Бағдарламада жазуларды іздеу Locate әдісі бойынша жүргізілген. Бұл әдіс келесідей сипатталады:


Function Locate (const KeyFields: String; const KeyValues: Variant; Options: TLocateOptions):Boolean.

Әдіс өрістердің берілген мәндеріне сәйкес жазбаларды іздейді. KeyFields параметрі іздеу жүргізілетінөрістердің аттарын анықтайды. KeyValues параметрінде осы өрістердің мәндері көрсетіледі. Options параметрі іздеудің қосымша критерийлерін орнатуға мүмкіндік береді.


Осы әдісті пайдаланғанда, егер де жазу табылған болса, онда оған ауысу орындалады.


Іздеу өрістің мәнін енгізгеннен кейін орындалады:
procedure TForm5.Edit1Change(Sender: TObject);
var KeyField:string;
begin
KeyField:='Fam';
Table1.Locate(KeyField,edit1.Text,[locaseInsensitive, loPartialKey]);
end;

Іздеу үшін мәндерді енгізуге арналған элементтері бар панель 3.13 суретте көрсетілген.



Сурет 3.13 – Іздеу үшін мәндерді енгізу панелі

Қандай да бір критерийлерді қанағаттандыратын жазбаларды теріп алу қажеттілігі жиі туындап отырады. Бұл үшін бағдарламада фильтрлер қарастырылған.


Фильтр – бұл деректер жиынтығында таңдап алынатын жазуларға арналған шектеулер жиынтығы. Фильтрді беру үшін деректер жиынтығының Filter қасиеті пайдаланылады. Фильтрді орнатқаннан соң Filtered қасиетіне True мәнін беру керек.. фильтрлеуді өшіру үшін Filtered мәнін False-қа жіберсек болғаны.
Фильтрлеу «Фильтровать» батырмасын басқаннан соң орындалады. Коды төменде келтірілген:
procedure TForm5.Button1Click(Sender: TObject);
begin
Table1.Filtered :=true;
case ComboBox1.ItemIndex of
0:table1.Filter:='Total_kredit='+chr(39)+edit5.Text+chr(39);
1: Table1.Filter :='Year_stavka='+chr(39)+edit5.Text +chr(39);
2: Table1.Filter :='Srok_kredit='+chr(39)+edit5.Text +chr(39);
3: Table1.Filter :='Prosent_vznosa='+chr(39)+edit5.Text +chr(39);
4: Table1.Filter :='Summa_vznosa='+chr(39)+edit5.Text +chr(39);
5: Table1.Filter :='Summa_kredita='+chr(39)+edit5.Text +chr(39);
6: Table1.Filter :='Summa_month='+chr(39)+edit5.Text +chr(39);
7: Table1.Filter :='Total_sum='+chr(39)+edit5.Text +chr(39);
8: Table1.Filter :='vznosi='+chr(39)+edit5.Text +chr(39);
end;
end;
«Снять Фильтр» батырмасын басқанда келесі код орындалады:
procedure TForm5.Button2Click(Sender: TObject);
begin
Edit1.Text :=' ';
table1.Filtered:=false;
end;

Фильтрация берілген «Басқарушы» («Управляющий») тересінің панелі 3.14 суретте





Сурет 3.14 – Фильтрлеу үшін мәндерді беру панелі




Достарыңызбен бөлісу:
1   ...   10   11   12   13   14   15   16   17   ...   59




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет