ExcessesDB in '..\library\ExcessesDB.pas' {Excesses_: TDataModule},
NewExcess in '..\library\NewExcess.pas' {NewExcess_},
MeedsDB in '..\library\MeedsDB.pas' {Meeds_: TDataModule},
ViewMeeds in '..\library\viewMeeds.pas' {ViewMeeds_},
NewMeed in '..\library\NewMeed.pas' {NewMeed_},
emeritusDB in '..\library\emeritusDB.pas' {emeritus_: TDataModule},
viewemeritus in '..\library\viewemeritus.pas' {Viewemeritus_},
Newemeritus in '..\library\Newemeritus.pas' {Newemeritus_},
CardsDB in 'CardsDB.pas' {Cards_: TDataModule},
LoadLed in '..\library\LoadLed.pas' {LoadLed_},
ViewCards in 'viewcards.pas' {ViewCards_},
ViewCard in 'viewcard.pas' {ViewCard_},
NewChild in 'Newchild.pas' {NewChild_},
NewCardsEdu in 'newcardsedu.pas' {NewCardsEdu_},
NewWorkMove in 'Newworkmove.pas' {NewWorkMove_},
NewcommonWork in 'Newcommonwork.pas' {NewcommonWork_},
lockScreen_ in 'lockScreen_.pas' {lockScreen__},
Newleaf in 'Newleaf.pas' {Newleaf_},
NewPunishment in 'Newpunishment.pas' {NewPunishment_},
DisPunishment in 'Dispunishment.pas' {DisPunishment_},
NewOutCountry in 'NewOutCountry.pas' {NewOutCountry_},
Newplantmeed in 'Newplantmeed.pas' {Newplantmeed_},
Newcardmeed in 'Newcardmeed.pas' {Newcardmeed_},
search in 'search.pas' {Search_},
Newcardemeritus in 'Newcardemeritus.pas' {Newcardemeritus_},
MainTable in 'MainTable.pas' {MainTable_: TQuickRep},
PRNTitle in 'PRNTitle.pas' {PRNTitle_},
cards_Main in 'cards_Main.pas' {cards_main_: TQuickRep},
MainPFTable in 'MainPFTable.pas' {MainPFTable_: TQuickRep},
viewcdpf in 'viewcdpf.pas' {viewcdpf_},
viewcdedu in 'viewcdedu.pas' {viewcdedu_},
Statedu in 'Statedu.pas' {StatEdu_},
MaineduTable in 'MaineduTable.pas' {MaineduTable_: TQuickRep},
Statqual in 'Statqual.pas' {Statqual_},
viewcdqual in 'viewcdqual.pas' {viewcdqual_},
MainqualTable in 'MainqualTable.pas' {MainqualTable_: TQuickRep},
StatAround in 'Stataround.pas' {StatAround_},
Statbur in 'Statbur.pas' {Statbur_},
s13_thpayment in 's13_thpayment.pas' {s13_thpayment_: TQuickRep},
PRNSTG13 in 'PRNSTG13.pas' {PRNSTG13_},
viewWarNames in '..\library\viewWarNames.pas' {ViewWarNames_},
megastat in 'megastat.pas' {megaStat_},
MaininvalTable in 'MaininvalTable.pas' {MaininvalTable_: TQuickRep},
viewcdinval in 'viewcdinval.pas' {viewcdinval_},
viewarchive in 'viewarchive.pas' {viewarchive_},
wait in 'wait.pas' {Wait_},
setingsdb in '..\library\setingsdb.pas' {Setings_: TDataModule},
s14_thpayment in 's14_thpayment.pas' {s14_thpayment_: TQuickRep},
Warreport in 'Warreport.pas' {WarReport_: TQuickRep},
MedTable in 'MedTable.pas' {MedTable_: TQuickRep},
helper in '..\library\helper.pas' {Form2};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(Tform1, form1);
Application.Run;
end.
4.1.2Листинг созданного VCL-компонента.
unit DBSearchEdit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
DBTables,
DB,stdctrls;
type
TDBSearchEdit = class(TEdit)
procedure onchange_ (sender : TObject);
procedure onkeypress_ (Sender: TObject; var Key: Char);
private
needsearch_ : boolean;
table1_ : Ttable;
keyFieldName_,textFieldName_ : TField;
indexname_ : string;
onchange2 : tnotifyevent;
srch,ch : integer;
onkeypress2 : TKeyPressEvent;
{ Private declarations }
protected
{ Protected declarations }
public
constructor Loaded;
constructor Create(aOwner: TComponent); override;
destructor destroy;
{ Public declarations }
published
property needsearch : boolean read needsearch_ write needsearch_;
property Dataset : Ttable read table1_ write table1_;
property KeyFieldName : TField read keyfieldname_ write keyfieldname_;
property TextFieldName : TField read textfieldname_ write textfieldname_;
property indexname : string read indexname_ write indexname_;
property newonkeypress : TKeyPressEvent read onkeypress2 write onkeypress2;
property newonchange : TNotifyEvent read onchange2 write onchange2;
{ Published declarations }
end;
procedure Register;
implementation
function compress(s : shortstring):shortstring;
var
s2 : shortstring;
x : integer;
begin
s2 :='';
for x:=1 to length(s) do if s[x]<>' ' then s2:=s2+s[x];
s2:=s2+#0;
s2:=ansistrupper(@s2[1]);
compress:=s2;
end;
constructor TDBSearchEdit.Loaded;
begin
inherited loaded;
end;
procedure TDBSearchEdit.onchange_(sender : tobject);
var
s1,s : shortstring;
poz : integer;
begin
if srch=0 then exit;
srch:=0;
if ch=1 then exit;
ch:=1;
if assigned(onchange2) then onchange2(sender);
if not TDBSearchEdit(sender).needsearch_ then exit;
try
s1:=table1_.Indexname;
table1_.indexname:=indexname_;
s:=compress(TDBSearchEdit(sender).text);
table1_.findnearest([s]);
if pos(s,table1_.fieldbyname(keyfieldname_.fieldname).asstring)=1 then
begin
poz:=length(TDBSearchEdit(sender).text);
TDBSearchEdit(sender).text:=Table1_.fieldbyname(textfieldname_.fieldname).asstring;
TDBSearchEdit(sender).perform(em_setsel,poz,length(TDBSearchEdit(sender).text));
end
else begin beep; beep; beep; beep; beep; beep; end;
finally
try
ch:=0;
table1_.indexname:=s1
except
end;
end;
end;
procedure TDBSearchEdit.onkeypress_(Sender: TObject; var Key: Char);
begin
if assigned(onkeypress2) then onkeypress2(sender,key);
if key<>#8 then srch:=1;
end;
constructor TDBSearchEdit.Create(aOwner: TComponent);
begin
inherited create(aOwner);
needsearch:=true;
onchange:=onchange_;
onkeypress:=onkeypress_;
end;
destructor TDBSearchEdit.destroy;
begin
inherited destroy;
end;
procedure Register;
begin
RegisterComponents('Diplom',[TDBSearchEdit]);
end;
end.
4.1.3Модульблокировки программы от несанкционированного доступа
unit lockScreen_;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls,variables;
type
TlockScreen__ = class(TForm)
Panel1: TPanel;
Label1: TLabel;
Edit1: TEdit;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure FormResize(Sender: TObject);
procedure WNDPROC(var m : tmessage); override;
private
canclose : integer;
{ Private declarations }
public
{ Public declarations }
end;
var
lockScreen__: TlockScreen__;
implementation
{$R *.DFM}
procedure TlockScreen__.WNDPROC(var m : tmessage);
begin
inherited wndproc(m);
end;
procedure TlockScreen__.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
if edit1.text=password__ then
begin
canclose:=1;
close;
end else edit1.text:='';
end;
end;
procedure TlockScreen__.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
if canclose=1 then action:=cafree else action:=canone;
end;
procedure TlockScreen__.FormCreate(Sender: TObject);
begin
canclose:=0;
end;
procedure TlockScreen__.FormResize(Sender: TObject);
begin
panel1.left:=(clientwidth-panel1.width) div 2;
panel1.top:=(clientheight-panel1.height) div 2;
end;
end.
5 Список использованных источников
1.1 Дж.Ульман, "Основы систем баз данных", М.:Финансы и статистика,1983г.
1.2 Дейт К., "Введение в системы баз данных", М.: Hаука, 1980 г.
1.3 Корячко В.П., Курейчик В.М., Hоренков И.П. "Теоретические основы САПР", М.:
Энергоатомиздат, 1987г.
1.4 Когаловский М.Р., "Технология баз данных на персональных ЭВМ",
М.:Финансы и статистика, 1992 г.
1.5 А.H.Hаумов, А.М.Вендров и др., "Системы управления базами данных и знаний",
М.:Финансы и статистика, 1991г.
1.6 Брябрин В.М., "Программное обеспечение персональных ЭВМ", М.:Hаука, 1989 г.
1.7 Аппак М.А., "Автоматизированные рабочие места на основе персональных
ЭВМ", М.:'Радио и связь', 1989 г.
1.8 Крайзмер Л.П., Кулик Б.А., "Персональный компьютер на вашем рабочем месте",
'Лениздат', 1991 г.
1.9 Шумаков П. В. “Delphi 3.0 и создание баз данных”. Москва 1997г.
1.10 Дж. Мартин., "Организация баз данных в вычислительных системах" М: Мир
1978г.
1.11 С.М.Диго "Проектирование и использования баз данных". Москва: Финансы и
статистика 1995.
1.12 A.M.Епанешников., "Программирование в среде Delphi 2.0"
1.13 Д.Веттинг Nowell NetWare для пользователя М.:Радио и связь, 1997
1.14 С.И.Казаков Основы сетевых технологий М.:Радио и связь, 1999
1.15 Nowell NetWare 4.02 for Lan Managers” Nowell Corp. Документация к
продукту.
1.16 Кириллов В.В. Структуризованный язык запросов (SQL). – СПб.: ИТМО, 1994. –
80 с.
1.17 Б.Г. Голованов “ Введение в программирование в сетях Nowell NetWare
С-П.: Питер, 2000.
3.1 ГОСТ 12.0.003-74. ССБТ Опасные и вредные факторы.Классификация.
3.2 Шумилин В.К., Гетия И.Г. Охрана труда при работе на ПЭВМ
и ЭВМ. Учебное пособие (часть 1).- М.: МИП, 1994г.
3.3 СНиП23-05-95. Естественное и искусственное освещение.
Нормы проектирования.
3.4 СанПиН 2.2.2 542-96 Санитарные правила и нормы. Гигиенические
требования к видеодисплейным терминалам, персональным
электронно-вычислительным машинам и организации работ.
3.5.И.Г.Гетия, И.Н.Леонтьева, Е.Н.Кулемина. Учебное пособие. Проектирование
вентиляциии кондиционирование воздуха, искусственного и естественного освещения
в помещении ВЦ (спец.01.02; 21.01;21.03;21.06; 22.01; 22.03;
23.03)-М:МГАПИ,1995.
3.6 И.Г. Гетия, В.К. Шумилин, И.Н. Леонтьева и др. Экология компьютерной
техники: - М.:МГАПИ,1996.