Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Poyasnyuvalna_zapiska.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.27 Mб
Скачать

5 Програмування та тестування

5.1 Розробка програми

Створення бази даних відбувається за допомогою прикладки в

Delphi 7 - Database Desktop.

Для створення таблиці необхідно натиснути New->Table, потім

об­рати тип БД Paradox 7.

Заповнити структуру БД, що використовується в програмі як

наве­дено нище, вона відповідає структурі вхідних даних, що описані в

пун­кті 2.3. (див. рисунок 5.1)

Рисунок 5.1 – вікно створення БД.

Для опрацювання даної БД в Головній формі введено об’єкт sDBGrid1 та функціональні кнопки для управління. DBGrid1 – один з найбільш часто використовуваних елементів управління, спеціалізація

якого відображення і редагування даних.

5.2 Етапи відладки

Для відладки програми було застосовано інструменти відладки

Del­phi. Зокрема трасування. Виконується в меню Run-Trace Into, при

на­тисканні клавіші F7. Цей метод використовується для відладки

коду в певному місці коду. Таким чином досить легко впевнитись в

прави­льності або знайти помилку в коді.

Метод покрокового виконання запускається через меню Run->Step

Over, при натисканні на клавішу F8. Дозволяє відстежити де саме і за

яких умов сталась помилка або незбіжність. Досить ефективний з

використанням Break point, точками зупину.

Для контрольного прикладу було застосовано наступні дані, що

мі­стяться в базі даних:

Таблиця 5.1 – Дані до контрольного прикладу.

Номер

Назва

Час

Пріоритет

Тип

Коментарі

1

Придбати USB

25.05.2010 15:00:00

Середній

Звичайне нагадування

USB 3.0 в магазині Портал

2

Повернути книги

25.05.20110:50:14

Високий

Звичайне нагадування

Відвідати бібліотеку

3

День народження

25.05.2010 19:00:00

Високий

День народження

День народження у друга

4

Зустріч

26.05.2010 12:00:00

Високий

Важлива зустріч

Зустріч с директором фірми

Результати контрольного прикладу відображено в Додатку В

(див. сторінку ).

5.3 Типи помилок

Під час розробки програмного забезпечення можуть зустрічатися різноманітні типи помилок при компіляції програми. Частіше всього зустрічаються синтаксичні помилки. Наприклад:

If Edit1.Text = ‘’ then

ShowMessage(‘Ви не заповнили обов’язкове поле!’);

Else

Table1.Append;

Table1.FieldByName(‘Name’).asString:=Edit1.Text;

В цьому випадку не можна ставити “;” перед Else.

При роботі с файлами можуть виникати помилки типа Acces volationдля запобігання цього краще користуватися конструкцією

TRY

FINALLY

END;

Приклад:

var

f:textfile;

password:string;

begin

AssignFile(f,ExtractFilePath(ParamStr(0))+'\config\auth.dat');

Reset(f);

TRY

Read(f,password);

FINALLY

CloseFile(f);

end;

Також одним із найпоширеніших типів помилок може бути різні типи даних. Наприклад в базі даних поле числового типу,а користувач вводить текст. Для запобігання цієї помилки потрібно користуватися обробкою виключних ситуацій.

Висновки

Під час розроблення курсового проекту використовувалось середовище Borland Delphi 7 та база данних Paradox.

Для роботи с даними використовувались компоненти DBMemo,DBGrid,DBEdit,DBComboBox та інші..

Delphi — це інтегроване середовище швидкої розробки програмного забезпечення для роботи під Microsoft Windows. Воно підтримує розробку Windows-застосунків на мові програмування Delphi, яка є наступницею мови Object Pascal.

Delphi 2007, одинадцята версія, входить до складу CodeGear RAD Studio 2007, яка також підтримує розробку на C++ для 32-бітної Microsoft Windows, а також на Delphi і C# для платформи Microsoft .NET. У Delphi 2009, що випущена у серпні 2008-ого, бібліотеки VCL та IDE повністю переведені на Юнікод, також з'явилися нові можливості компілятора (узагальнення (англ. Generics) і анонімні методи), в IDE було додано менеджер ресурсів та повністю перебудовано менеджер проектів. Найновіша, чотирнадцята версія, має назву Delphi 2010 і входить до Embarcadero RAD Studio 2010.

Delphi в основному використовується для розробки настільних застосунків та корпоративних СКБД, проте цей інструмент можна використовувати для розробки будь-якого загального програмного забезпечення. Не залишена осторонь і можливість побудови Веб-застосунків, так потрібних у сучасному інформаційному світі.

Список використаних джерел

  1. Майкл Херволсон, Майкл Янг. Ефективна робота з Microsoft Office. – С.Пб. : Питер, 2001. – 798с.

  2. Бойко И. В. Об’єктно-орієнтовані СУБД. – К.: Вища школа, 1999

  3. Архангельський А. Я. Программирование в Delphi 6: М.: 2003

  4. С. Боровський “Delphi 5” учебный курс П.: 2002. -640 с.

  5. С. Симонович, Г. Евсеев «Занимательное программирование Delphi» М.: «Аст-Пресс Книга», 2001. -368с.

  6. Н.Б. Культин «Программирование на Object Pascal в Delphi 5 » - С.Пб.:2000. – 400с.

  7. Оузьер Д., Батсон С. Освой самостоятельно Delphi 4 - М.: Бином, 1997. - 624 с.

  8. Попов Н.Е. «Delphi5: Обзор компонентов InternetExpress» - М.: Центр информационных технологий , 1999. - 650 с

Додаток А

С хема алгоритму програми

Головне

меню

Додати

Інші функції

Налаштування

Статистика

Довідка

Вихід

Додаток Б

Лістинг програми

unit mainform;

interface

uses

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

Dialogs, ToolWin, ComCtrls, ImgList, acAlphaImageList, StdCtrls, Menus,

ExtCtrls, sPanel, sMonthCalendar, DBCtrls, sDBLookupListBox, sGroupBox,

DBGrids, acDBGrid, sComboBox, DB, DBTables, Buttons,

sToolBar, sPageControl, ExtDlgs, sDialogs, sDBRichEdit,printers,shellapi,RegisTry,

sDBComboBox, sDBLookupComboBox, sEdit;

type

Tmain = class(TForm)

ToolBar1: TToolBar;

ToolButton1: TToolButton;

sAlphaImageList1: TsAlphaImageList;

ToolButton2: TToolButton;

ToolButton3: TToolButton;

ToolButton4: TToolButton;

ToolButton5: TToolButton;

ToolButton6: TToolButton;

ToolButton7: TToolButton;

ToolButton8: TToolButton;

ToolButton9: TToolButton;

ToolButton10: TToolButton;

ToolButton11: TToolButton;

ToolButton12: TToolButton;

ToolButton13: TToolButton;

StatusBar1: TStatusBar;

PopupMenu1: TPopupMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

sAlphaImageList2: TsAlphaImageList;

PopupMenu2: TPopupMenu;

N5: TMenuItem;

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

TabSheet3: TTabSheet;

PopupMenu4: TPopupMenu;

N7: TMenuItem;

N8: TMenuItem;

sDBGrid1: TsDBGrid;

sAlphaImageList3: TsAlphaImageList;

DataSource1: TDataSource;

DBText1: TDBText;

rname: TLabel;

rtype: TLabel;

DBText2: TDBText;

Label2: TLabel;

DBText3: TDBText;

Label3: TLabel;

DBText4: TDBText;

Table1: TTable;

Label4: TLabel;

DBText5: TDBText;

sAlphaImageList4: TsAlphaImageList;

sToolBar1: TsToolBar;

ToolButton14: TToolButton;

ToolButton15: TToolButton;

ToolButton16: TToolButton;

Table1Id: TAutoIncField;

Table1Name: TStringField;

Table1Type: TStringField;

Table1Prior: TStringField;

Table1Rdate: TDateTimeField;

Table1Comment: TStringField;

Table1Status: TBooleanField;

PageControl2: TPageControl;

TabSheet4: TTabSheet;

TabSheet5: TTabSheet;

TabSheet6: TTabSheet;

TabSheet7: TTabSheet;

sDBGrid2: TsDBGrid;

DataSource2: TDataSource;

Table2: TTable;

Label1: TLabel;

DBText7: TDBText;

Label6: TLabel;

DBText8: TDBText;

Label7: TLabel;

DBText9: TDBText;

Label8: TLabel;

DBText10: TDBText;

Label9: TLabel;

DBText11: TDBText;

Label10: TLabel;

DBText12: TDBText;

Label11: TLabel;

DBText14: TDBText;

Label12: TLabel;

DBText15: TDBText;

Label13: TLabel;

DBText16: TDBText;

Label14: TLabel;

DBText17: TDBText;

Label15: TLabel;

DBText18: TDBText;

Label16: TLabel;

Label17: TLabel;

Label18: TLabel;

Label19: TLabel;

Label20: TLabel;

Label21: TLabel;

Label22: TLabel;

Label23: TLabel;

DBText19: TDBText;

DBText20: TDBText;

DBText21: TDBText;

DBText22: TDBText;

DBText23: TDBText;

DBText24: TDBText;

DBText25: TDBText;

DBText26: TDBText;

Label24: TLabel;

Label25: TLabel;

Label26: TLabel;

Label27: TLabel;

DBText27: TDBText;

DBText28: TDBText;

DBText29: TDBText;

DBText30: TDBText;

sPanel1: TsPanel;

DBImage1: TDBImage;

Table2Id: TAutoIncField;

Table2Name: TStringField;

Table2Surname: TStringField;

Table2Lastname: TStringField;

Table2Bdate: TDateField;

Table2Phone: TStringField;

Table2MPhone: TStringField;

Table2Fax: TStringField;

Table2Photo: TBlobField;

Table2Country: TStringField;

Table2Region: TStringField;

Table2City: TStringField;

Table2Address: TStringField;

Table2JobCountry: TStringField;

Table2JobRegion: TStringField;

Table2JobCity: TStringField;

Table2Company: TStringField;

Table2Post: TStringField;

Table2JobAddress: TStringField;

Table2JobPhone: TStringField;

Table2JobFax: TStringField;

Table2ICQ: TStringField;

Table2Email: TStringField;

Table2Status: TStringField;

Table2About: TStringField;

ToolButton17: TToolButton;

PopupMenu5: TPopupMenu;

N9: TMenuItem;

N10: TMenuItem;

PopupMenu6: TPopupMenu;

N11: TMenuItem;

N12: TMenuItem;

SpeedButton1: TSpeedButton;

sOpenPictureDialog1: TsOpenPictureDialog;

Label28: TLabel;

DBText13: TDBText;

Table2Group: TStringField;

sDBLookupListBox1: TsDBLookupListBox;

DataSource3: TDataSource;

Table3: TTable;

Table3Id: TAutoIncField;

Table3Date: TDateField;

Table3Name: TStringField;

Table3Text: TMemoField;

PopupMenu7: TPopupMenu;

N13: TMenuItem;

N14: TMenuItem;

Label29: TLabel;

DBText31: TDBText;

sSaveDialog1: TsSaveDialog;

DBMemo1: TDBMemo;

N20: TMenuItem;

N21: TMenuItem;

PrintDialog1: TPrintDialog;

N15: TMenuItem;

Timer1: TTimer;

sGroupBox1: TsGroupBox;

Table4: TTable;

Table4Id: TAutoIncField;

Table4Name: TStringField;

Table4Type: TStringField;

Table4Prior: TStringField;

Table4Rdate: TDateTimeField;

Table4Comment: TStringField;

Table4Status: TBooleanField;

sDBLookupComboBox1: TsDBLookupComboBox;

Edit1: TsEdit;

procedure ToolButton6Click(Sender: TObject);

procedure N1Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure ToolButton14Click(Sender: TObject);

procedure N17Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure N12Click(Sender: TObject);

procedure SpeedButton1Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure DBImage1Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure ToolButton15Click(Sender: TObject);

procedure ToolButton16Click(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

procedure N14Click(Sender: TObject);

procedure N20Click(Sender: TObject);

procedure N15Click(Sender: TObject);

procedure N13Click(Sender: TObject);

procedure ToolButton8Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure ToolButton12Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure sDBLookupComboBox1Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N7Click(Sender: TObject);

private

{ Private declarations }

Procedure WindowMessage(Var Msg:TMessage); message WM_SYSCOMMAND;

Procedure MouseClick(var Msg:TMessage); message WM_USER+1;

public

{ Public declarations }

procedure ActionIcon(n:Integer;Icon:TIcon);

Procedure OnMinimizeProc(Sender:TObject);

end;

var

main: Tmain;

implementation

uses authentication, settings, addreminder, aboutfrom, editrem,

addphonenumber, editphonenumber, addnote, editnote, statistic, simp;

{$R *.dfm}

procedure TMain.ActionIcon(n:Integer;Icon:TIcon);

Var Nim:TNotifyIconData;

begin

With Nim do // Заполняем структуру Nim….

Begin

cbSize:=SizeOf(Nim); // Размер

Wnd:=Main.Handle; // Хендл нашего приложения(окна)

uID:=1;

uFlags:=NIF_ICON or NIF_MESSAGE or NIF_TIP;

hicon:=Icon.Handle; // Хендл передаваемой в процедуру иконки

uCallbackMessage:=wm_user+1;

szTip:='Сообщение появляющееся при наведении';

End;

Case n OF // Действия выполняемые процедурой

1: Shell_NotifyIcon(Nim_Add,@Nim);

2: Shell_NotifyIcon(Nim_Delete,@Nim);

3: Shell_NotifyIcon(Nim_Modify,@Nim);

End;

end;

Procedure TMain. WindowMessage (Var Msg:TMessage);

Begin

IF Msg.WParam=SC_MINIMIZE then Begin

ActionIcon (1,Application.Icon); // Добавляем значок в трей

ShowWindow(Handle,SW_HIDE); // Скрываем программу

ShowWindow(Application.Handle,SW_HIDE); // Скрываем кнопку с TaskBar'а

End else inherited;

End;

Procedure TMain.OnMinimizeProc(Sender:TObject);

Begin

PostMessage(Handle,WM_SYSCOMMAND,SC_MINIMIZE,0);

End;

procedure TMain.MouseClick(var Msg:TMessage);

Var p:tpoint;

begin

GetCursorPos(p); // Запоминаем координаты курсора мыши(см. P/S)

Case Msg.LParam OF // Проверяем какая кнопка была нажата

WM_LBUTTONUP,WM_LBUTTONDBLCLK: {Действия, выполняемый по одинарному или двойному щелчку левой кнопки мыши на значке}

Begin

ActionIcon (2,Application.Icon); // Удаляем значок из трея

ShowWindow(Application.Handle,SW_SHOW); // Восстанавливаем кнопку программы

ShowWindow(Handle,SW_SHOW); // Восстанавливаем окно программы

End;

End;

end;

procedure Tmain.ToolButton6Click(Sender: TObject);

begin

setting.showmodal;

end;

procedure Tmain.N1Click(Sender: TObject);

begin

reminder.showmodal;

end;

procedure Tmain.N6Click(Sender: TObject);

begin

close;

end;

procedure Tmain.N8Click(Sender: TObject);

begin

about.showmodal;

end;

procedure Tmain.ToolButton14Click(Sender: TObject);

begin

Table1.Filter:='(prior=''Низкий'')';

Table1.Filtered:=true;

End;

procedure Tmain.N17Click(Sender: TObject);

begin

DBMemo1.CopyToClipboard;

end;

procedure Tmain.N2Click(Sender: TObject);

begin

addphone.showmodal;

end;

procedure Tmain.N9Click(Sender: TObject);

begin

editreminder.ShowModal;

end;

procedure Tmain.N10Click(Sender: TObject);

begin

Table1.Delete;

end;

procedure Tmain.N12Click(Sender: TObject);

begin

Table2.Delete;

end;

procedure Tmain.SpeedButton1Click(Sender: TObject);

begin

if not Table2.Locate('surname', Edit1.Text, [loCaseInsensitive,loPartialKey]) then

ShowMessage('Запись не найдена');

end;

procedure Tmain.N11Click(Sender: TObject);

begin

editphone.showmodal;

end;

procedure Tmain.DBImage1Click(Sender: TObject);

begin

If sOpenPictureDialog1.Execute then

begin

Table2.Edit;

Table2Photo.LoadFromFile(sOpenPictureDialog1.FileName);

Table2.Post;

end;

end;

procedure Tmain.N3Click(Sender: TObject);

begin

addnotes.showmodal;

end;

procedure Tmain.ToolButton15Click(Sender: TObject);

begin

Table1.Filter:='(prior=''Средний'')';

Table1.Filtered:=true;

end;

procedure Tmain.ToolButton16Click(Sender: TObject);

begin

Table1.Filter:='(prior=''Высокий'')';

Table1.Filtered:=true;

end;

procedure Tmain.Timer1Timer(Sender: TObject);

var

NowDate, BDate: string;

begin

Table4.First;

While not Table4.Eof do

begin

NowDate:= DateTimeToStr(now);

BDate:= DateTimeToStr(Table4.FieldByName('rDate').AsDateTime);

Delete (NowDate, length(NowDate)-2, 2);

Delete (BDate, length(bdate)-2, 2);

IF NowDate = Bdate then

begin

table4.Delete;

Simple.ShowModal;

end

else

Table4.Next;

application.ProcessMessages;

end;

end;

procedure Tmain.N14Click(Sender: TObject);

begin

If sSaveDialog1.Execute then

DBMemo1.Lines.SaveToFile(sSaveDialog1.FileName);

end;

procedure Tmain.N20Click(Sender: TObject);

begin

Table3.Delete;

end;

procedure Tmain.N15Click(Sender: TObject);

var

St:System.TextFile;

i:integer;

begin

if PrintDialog1.Execute then

begin

AssignPrn(St);

Rewrite(St);

Printer.Canvas.Font:=DBMemo1.Font;

Writeln(St,DBMemo1.Text);

System.CloseFile(St);

end; end;

procedure Tmain.N13Click(Sender: TObject);

begin

editnotes.showmodal;

end;

procedure Tmain.ToolButton8Click(Sender: TObject);

begin

stat.showmodal;

end;

procedure Tmain.FormCreate(Sender: TObject);

var reg: tregistry;

begin

Application.onMinimize:=OnMinimizeProc;

begin

reg := tregistry.create;

reg.rootkey := hkey_local_machine;

reg.lazywrite := false;

reg.openkey('software\microsoft\windows\currentversion\run', false);

reg.writestring('progrmma', application.exename); {вместо programma можно вставить что нибудь своё}

reg.closekey;

reg.free;

end;

end;

procedure Tmain.ToolButton12Click(Sender: TObject);

begin

CLOSE;

end;

procedure Tmain.Button1Click(Sender: TObject);

begin

simple.Show;

end;

procedure Tmain.sDBLookupComboBox1Click(Sender: TObject);

begin

Table2.Filtered:=false;

Table2.Filter:='[group]='+QuotedStr(sDBLookupComboBox1.text);

Table2.Filtered:=true;

end;

procedure Tmain.N5Click(Sender: TObject);

var

NewFileName,OldFileName:string;

begin

//пути для бд групп

NewFileName:=ExtractFilePath(ParamStr(0))+'db\groups.db';

OldFileName:=ExtractFilePath(ParamStr(0))+'backup\groups.db';

//копирование

CopyFile(Pchar(NewFileName),Pchar(OldFileName),true);

// пути для бд телефона

NewFileName:=ExtractFilePath(ParamStr(0))+'db\phone.db';

OldFileName:=ExtractFilePath(ParamStr(0))+'backup\phone.db';

//копирование

CopyFile(Pchar(NewFileName),Pchar(OldFileName),true);

// пути для бд теле ф она

NewFileName:=ExtractFilePath(ParamStr(0))+'db\notes.db';

OldFileName:=ExtractFilePath(ParamStr(0))+'backup\notes.db';

//копирование

CopyFile(Pchar(NewFileName),Pchar(OldFileName),true);

NewFileName:=ExtractFilePath(ParamStr(0))+'db\reminder.db';

OldFileName:=ExtractFilePath(ParamStr(0))+'backup\reminder.db';

//копирование

CopyFile(Pchar(NewFileName),Pchar(OldFileName),true);

showmessage('Резервная копия базы данных успешно создана и находится в каталоге "Backup". Reminder.db - напоминания. Phone.db - телефонный справочник. Notes.db - заметки. Groups.db - группы абонентов.');

end;

procedure Tmain.N7Click(Sender: TObject);

begin

ShellExecute(0, 'open', Pchar(ExtractFilePath(Application.ExeName) + 'help.chm'), nil, nil, SW_NORMAL);

end;

end.

unit simp;

interface

uses

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

Dialogs, StdCtrls, DBCtrls, DB,mmsystem;

type

Tsimple = class(TForm)

DataSource1: TDataSource;

Label1: TLabel;

Label2: TLabel;

DBText1: TDBText;

DBText2: TDBText;

Label3: TLabel;

DBText3: TDBText;

Label4: TLabel;

DBText4: TDBText;

private

{ Private declarations }

public

{ Public declarations }

end;

var

simple: Tsimple;

implementation

uses mainform;

{$R *.dfm}

end.

unit editrem;

interface

uses

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

Dialogs, StdCtrls, DBCtrls, sComboBox, sEdit, sSpinEdit, Mask, sMaskEdit,

sCustomComboEdit, sTooledit, sLabel, sGroupBox, sDBEdit, sDBDateEdit,

ExtCtrls, sPanel, sMonthCalendar;

type

Teditreminder = class(TForm)

sRadioGroup1: TsRadioGroup;

Label1: TLabel;

sLabel1: TsLabel;

sLabel2: TsLabel;

sLabel3: TsLabel;

sLabel4: TsLabel;

sTimePicker1: TsTimePicker;

Button1: TButton;

Button2: TButton;

DBMemo1: TDBMemo;

DBComboBox1: TDBComboBox;

DBEdit1: TsDBEdit;

Calendar1: TsMonthCalendar;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

editreminder: Teditreminder;

implementation

uses mainform;

{$R *.dfm}

procedure Teditreminder.Button1Click(Sender: TObject);

var

full, date : string;

new:TDateTime;

begin

date:= inttostr (calendar1.Day)+'.'+inttostr (calendar1.month)+'.'+inttostr (calendar1.year);

full:= date+' '+sTimePicker1.Text;

New:=TDateTime(now);

if full < DateTimeToStr(new) then showmessage ('Дата напоминания не может быть позже текущей даты!') else

if DBEdit1.Text = '' then begin

showmessage('Введите пожалуйта название напоминания!');

Exit;

end

else begin

main.Table1.edit;

main.Table1.FieldByName('rdate').AsDateTime:=StrToDateTime(full);

main.Table1.FieldByName('name').AsString:=DBEdit1.Text;

main.Table1.FieldByName('type').AsString:=sRadioGroup1.Items.Text;

main.Table1.FieldByName('prior').AsString:=DBComboBox1.Text;

main.Table1.FieldByName('comment').AsString:=DBMemo1.Text;

main.Table1.FieldByName('status').AsBoolean:=false;

main.Table1.Post;

main.Table1.Refresh;

close;

end;

end;

procedure Teditreminder.Button2Click(Sender: TObject);

begin

close;

end;

end.

unit editnote;

interface

uses

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

Dialogs, StdCtrls, Mask, DBCtrls, sDialogs, ImgList, acAlphaImageList,

Menus;

Type

Teditnotes = class(TForm)

Label1: TLabel;

DBEdit1: TDBEdit;

Label2: TLabel;

DBMemo1: TDBMemo;

Button1: TButton;

Button2: TButton;

PopupMenu1: TPopupMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

sAlphaImageList1: TsAlphaImageList;

sOpenDialog1: TsOpenDialog;

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure N1Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N6Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

editnotes: Teditnotes;

implementation

uses mainform;

{$R *.dfm}

procedure Teditnotes.Button2Click(Sender: TObject);

begin

close;

end;

procedure Teditnotes.Button1Click(Sender: TObject);

var

dt:TDateTime;

begin

dt:=now;

main.Table3.edit;

main.Table3.FieldByName('name').AsString:=DBEdit1.Text;

main.Table3.FieldByName('text').AsString:=DBMemo1.Text;

main.Table3.FieldByName('date').AsDateTime:=dt;

main.Table3.Post;

main.Table3.Refresh;

close;

end;

procedure Teditnotes.N1Click(Sender: TObject);

begin

if sOpenDialog1.Execute then

begin

DBMemo1.Clear;

DBMemo1.Lines.LoadFromFile(sOpenDialog1.FileName);

end;

end;

procedure Teditnotes.N2Click(Sender: TObject);

begin

DBMemo1.Clear;

end;

procedure Teditnotes.N3Click(Sender: TObject);

begin

DBMemo1.PasteFromClipboard;

end;

procedure Teditnotes.N4Click(Sender: TObject);

begin

DBMemo1.CopyToClipboard;

end;

procedure Teditnotes.N5Click(Sender: TObject);

begin

DBMemo1.CutToClipboard;

end;

procedure Teditnotes.N6Click(Sender: TObject);

begin

DBMemo1.SelectAll;

end;

end.

unit addreminder;

interface

uses

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

Dialogs, StdCtrls, sGroupBox, sComboBox, sEdit, sSpinEdit, sLabel, Mask,

sMaskEdit, sCustomComboEdit, sTooledit, sMemo, acPNG, ExtCtrls, ComCtrls,

sPanel, sMonthCalendar;

type

Treminder = class(TForm)

Edit1: TEdit;

Label1: TLabel;

sLabel2: TsLabel;

sTimePicker1: TsTimePicker;

sLabel3: TsLabel;

sComboBox1: TsComboBox;

sMemo1: TsMemo;

sLabel4: TsLabel;

Button1: TButton;

Button2: TButton;

sRadioGroup1: TsRadioGroup;

Calendar1: TsMonthCalendar;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

reminder: Treminder;

implementation

uses mainform, ADODB;

{$R *.dfm}

procedure Treminder.Button1Click(Sender: TObject);

var

full, date : string;

new:TDateTime;

begin

date:= inttostr (calendar1.Day)+'.'+inttostr (calendar1.month)+'.'+inttostr (calendar1.year);

full:= date+' '+sTimePicker1.Text;

New:=TDateTime(now);

if full < DateTimeToStr(new) then showmessage ('Дата напоминания не может быть позже текущей даты!') else

if Edit1.Text = '' then begin

showmessage('Введите пожалуйта название нового напоминания!');

Exit;

end

else begin

main.Table1.Append;

main.Table1.FieldByName('rdate').AsDateTime:=StrToDateTime(full);

main.Table1.FieldByName('name').AsString:=Edit1.Text;

main.Table1.FieldByName('type').AsString:=sRadioGroup1.Items.Text;

main.Table1.FieldByName('prior').AsString:=sComboBox1.Text;

main.Table1.FieldByName('name').AsString:=Edit1.Text;

main.Table1.FieldByName('comment').AsString:=smemo1.Text;

main.Table1.FieldByName('status').AsBoolean:=false;

main.Table1.Post;

main.Table1.Refresh;

close;

end;

end;

procedure Treminder.Button2Click(Sender: TObject);

begin

close;

end;

end.

unit addnote;

interface

uses

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

Dialogs, StdCtrls, ComCtrls, ToolWin, sToolBar, ImgList, acAlphaImageList,

ActnList, StdActns, ExtActns, Menus, sDialogs;

type

Taddnotes = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Button1: TButton;

Button2: TButton;

Memo1: TMemo;

sAlphaImageList1: TsAlphaImageList;

ActionList1: TActionList;

Label2: TLabel;

PopupMenu1: TPopupMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

sOpenDialog1: TsOpenDialog;

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure N1Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N6Click(Sender: TObject);

private

{ Private declarations }

Public

{ Public declarations }

end;

var

addnotes: Taddnotes;

implementation

uses mainform;

{$R *.dfm}

procedure Taddnotes.Button2Click(Sender: TObject);

begin

close;

end;

procedure Taddnotes.Button1Click(Sender: TObject);

var

dt:TDateTime;

begin

dt:=now;

main.Table3.Append;

main.Table3.FieldByName('name').AsString:=Edit1.Text;

main.Table3.FieldByName('text').AsString:=Memo1.Text;

main.Table3.FieldByName('date').AsDateTime:=dt;

main.Table3.Post;

main.Table3.Refresh;

Edit1.Clear;

Memo1.Clear;

Close;

end;

procedure Taddnotes.N1Click(Sender: TObject);

begin

if sOpenDialog1.Execute then begin

Memo1.Clear;

Memo1.Lines.LoadFromFile(sOpenDialog1.FileName);

end;

end;

procedure Taddnotes.N2Click(Sender: TObject);

begin

Memo1.Clear;

end;

procedure Taddnotes.N3Click(Sender: TObject);

begin

Memo1.PasteFromClipboard;

end;

procedure Taddnotes.N4Click(Sender: TObject);

begin

Memo1.CopyToClipboard;

end;

procedure Taddnotes.N5Click(Sender: TObject);

begin

Memo1.CutToClipboard;

end;

procedure Taddnotes.N6Click(Sender: TObject);

begin

Memo1.SelectAll;

end;

end.

unit statistic;

interface

uses

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

Dialogs, StdCtrls, sGroupBox, TeEngine, Series, ExtCtrls;

type

Tstat = class(TForm)

sGroupBox1: TsGroupBox;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

stat: Tstat;

implementation

uses mainform, settings;

{$R *.dfm}

procedure Tstat.FormCreate(Sender: TObject);

begin

Main.Table1.Last;

Label2.Caption:=IntToStr(Main.Table1.RecordCount);

Main.Table2.Last;

Label4.Caption:=IntToStr(Main.Table2.RecordCount);

Main.Table3.Last;

Label6.Caption:=IntToStr(Main.Table3.RecordCount);

Setting.Table1.Last;

Label8.Caption:=IntToStr(Setting.Table1.RecordCount);

end;

end.

unit settings;

interface

uses

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

Dialogs, ComCtrls, StdCtrls, Buttons, sAlphaListBox, ExtCtrls, sGroupBox,

DBCtrls, DB, DBTables, dbcgrids, acDBCtrlGrid, Menus, Grids, DBGrids,

acDBGrid;

type

Tsetting = class(TForm)

PageControl1: TPageControl;

TabSheet1: TTabSheet;

Label1: TLabel;

lpassword: TLabel;

Label3: TLabel;

Edit1: TEdit;

Label4: TLabel;

Label2: TLabel;

Memo1: TMemo;

GroupBox1: TGroupBox;

Label5: TLabel;

Edit2: TEdit;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

TabSheet2: TTabSheet;

Image1: TImage;

DataSource1: TDataSource;

Table1: TTable;

sGroupBox1: TsGroupBox;

Label11: TLabel;

Edit3: TEdit;

Label12: TLabel;

Memo2: TMemo;

Button1: TButton;

PopupMenu1: TPopupMenu;

N1: TMenuItem;

Table1Id: TAutoIncField;

Table1Name: TStringField;

Table1About: TStringField;

sDBGrid1: TsDBGrid;

SpeedButton1: TSpeedButton;

Label6: TLabel;

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure TabSheet1Show(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure N1Click(Sender: TObject);

procedure SpeedButton1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

setting: Tsetting;

f:textfile;

implementation

{$R *.dfm}

procedure Tsetting.BitBtn1Click(Sender: TObject);

var

password,question,answer:string;

i:integer;

begin

label6.Caption:='Включено!';

Password:=Edit1.Text;

Question:=Memo1.Text;

Answer:=Edit2.Text;

//пароль

For i:=1 to Length(password) do

if (ord(Password[i]))<=253 then password[i]:=Chr(ord(Password[i])+2);

// вопрос

For i:=1 to Length(question) do

if (ord(question[i]))<=253 then question[i]:=Chr(ord(question[i])+2);

//ответ

For i:=1 to Length(answer) do

if (ord(answer[i]))<=253 then answer[i]:=Chr(ord(answer[i])+2);

AssignFile(f,ExtractFilePath(ParamStr(0))+'config\auth.dat');

TRY

Rewrite(f);

WriteLn(f,password);

WriteLn(f,question);

Writeln(f,answer);

FINALLY

CloseFile(f);

END;

For i:=1 to Length(password) do

if(Ord(password[i])) < 255 then password[i]:=Chr(Ord(password[i]) - 2);

lpassword.Caption:=password;

GroupBox1.Visible:=false;

SpeedButton1.Enabled:=true;

end;

procedure Tsetting.BitBtn2Click(Sender: TObject);

begin

close;

end;

procedure Tsetting.TabSheet1Show(Sender: TObject);

var

password,question,answer:string;

i:integer;

begin

if FileExists(ExtractFilePath(ParamStr(0))+'config\auth.dat') then

begin

label6.Caption:='Включено!';

SpeedButton1.Enabled:=true;

GroupBox1.Visible:=false;

AssignFile(f,ExtractFilePath(ParamStr(0))+'\config\auth.dat');

Reset(f);

TRY

Readln(f,password);

Readln(f,question);

Readln(f,answer);

FINALLY

CloseFile(f);

END;

For i:=1 to Length(password) do

if(Ord(password[i])) < 255 then password[i]:=Chr(Ord(password[i]) - 2);

lpassword.Caption:=password;

end

else

begin

lpassword.Caption:='Не указан!';

SpeedButton1.Enabled:=false;

label6.Caption:='Отключено!';

GroupBox1.Visible:=true;

end;

end;

procedure Tsetting.Button1Click(Sender: TObject);

begin

if Edit3.Text = '' then

showmessage('Введите пожалуйста название новой группы!')

else begin

Table1.Append;

Table1.FieldByName('Name').asString:=Edit3.Text;

Table1.FieldByName('about').AsString:=Memo2.Text;

Table1.Post;

Table1.Refresh;

Edit3.Clear;

Memo2.Clear;

end;

end;

procedure Tsetting.N1Click(Sender: TObject);

begin

Table1.Delete;

end;

procedure Tsetting.SpeedButton1Click(Sender: TObject);

begin

Erase(f);

SpeedButton1.Enabled:=false;

GroupBox1.Visible:=true;

end;

end.

unit forgotpassword;

interface

uses

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

Dialogs, StdCtrls, acPNG, ExtCtrls, Buttons;

type

Tforgot = class(TForm)

Label1: TLabel;

lquestion: TLabel;

Memo1: TMemo;

Image1: TImage;

SpeedButton1: TSpeedButton;

lpassword: TLabel;

Edit1: TEdit;

procedure FormShow(Sender: TObject);

procedure SpeedButton1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

forgot: Tforgot;

password,question,answer:string;

f:textfile;

implementation

uses authentication;

{$R *.dfm}

procedure Tforgot.FormShow(Sender: TObject);

var

i:integer;

begin

Forgot.Top:=login.Top;

Forgot.Left:=login.left;

Edit1.Visible:=false;

lpassword.Visible:=false;

Memo1.Clear;

AssignFile(f,ExtractFilePath(ParamStr(0))+'\config\auth.dat');

Reset(f);

TRY

Readln(f); // пароль

Readln(f,question); // вопрос

FINALLY

CloseFile(f);

end;

//декодирование

For i:=1 to Length (question) do

if Ord(Question[i]) < 255 then Question[i]:=Chr(Ord(Question[i]) - 2);

Lquestion.Caption:=question;

end;

procedure Tforgot.SpeedButton1Click(Sender: TObject);

var

i:integer;

begin

AssignFile(f,ExtractFilePath(paramstr(0))+'\config\auth.dat');

Reset(f);

TRY

Readln(f,password);

Readln(f);

Readln(f,answer);

FINALLY

CloseFile(f);

END;

For i:=1 to Length(answer) do

if (ord(answer[i]))<=253 then answer[i]:=Chr(ord(answer[i])-2);

if Memo1.Text = answer then

begin

lpassword.Visible:=true;

lpassword.Caption:='Ваш пароль:';

Edit1.Visible:=True;

For i:=1 to Length(password) do

if (ord(Password[i]))<=253 then password[i]:=Chr(ord(Password[i])-2);

Edit1.Text:=password;

end

else begin

lpassword.Visible:=true;

lpassword.Font.Color:=clRed;

lpassword.Caption:='Вы дали не правильный ответ на вопрос!';

end;

end;

end.

unit editphonenumber;

interface

uses

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

Dialogs, StdCtrls, ComCtrls, DBCtrls, Mask, sMaskEdit, sCustomComboEdit,

sTooledit, sDBDateEdit, sDBLookupComboBox;

type

Teditphone = class(TForm)

PageControl1: TPageControl;

TabSheet1: TTabSheet;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label28: TLabel;

Label29: TLabel;

Label30: TLabel;

TabSheet2: TTabSheet;

Label31: TLabel;

Label32: TLabel;

Label33: TLabel;

Label34: TLabel;

TabSheet3: TTabSheet;

Label35: TLabel;

Label36: TLabel;

Label37: TLabel;

Label38: TLabel;

TabSheet8: TTabSheet;

Label39: TLabel;

Label40: TLabel;

Label41: TLabel;

Label42: TLabel;

Label43: TLabel;

Label44: TLabel;

Label45: TLabel;

Label46: TLabel;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

DBEdit4: TDBEdit;

DBEdit5: TDBEdit;

DBEdit6: TDBEdit;

sDBDateEdit1: TsDBDateEdit;

DBEdit7: TDBEdit;

DBEdit9: TDBEdit;

DBMemo1: TDBMemo;

DBEdit10: TDBEdit;

DBEdit8: TDBEdit;

DBComboBox1: TDBComboBox;

DBMemo2: TDBMemo;

DBEdit11: TDBEdit;

DBEdit12: TDBEdit;

DBEdit13: TDBEdit;

DBEdit14: TDBEdit;

DBEdit15: TDBEdit;

DBEdit16: TDBEdit;

DBEdit17: TDBEdit;

DBMemo3: TDBMemo;

Button1: TButton;

Button2: TButton;

DBEdit18: TDBEdit;

sDBLookupComboBox1: TsDBLookupComboBox;

Label1: TLabel;

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

editphone: Teditphone;

implementation

uses mainform, settings;

{$R *.dfm}

procedure Teditphone.Button2Click(Sender: TObject);

begin

main.table2.Edit;

main.Table2.FieldByName('name').AsString:=DBEdit1.Text;

main.Table2.FieldByName('surname').AsString:=DBEdit2.Text;

main.Table2.FieldByName('lastname').AsString:=DBEdit3.Text;

main.Table2.FieldByName('mphone').AsString:=DBEdit4.Text;

main.Table2.FieldByName('fax').AsString:=DBEdit5.Text;

main.Table2.FieldByName('phone').AsString:=DBEdit6.Text;

main.Table2.FieldByName('bdate').AsString:=DateToStr(sDBDateEdit1.Date);

main.Table2.FieldByName('Country').AsString:=DBEdit7.Text;

main.Table2.FieldByName('Region').AsString:=DBEdit18.Text;

main.Table2.FieldByName('City').AsString:=DBEdit9.text;

main.Table2.FieldByName('address').AsString:=DBMemo1.Text;

main.Table2.FieldByName('JobCountry').AsString:=DBEdit11.Text;

main.Table2.FieldByName('jobRegion').AsString:=DBEdit12.Text;

main.Table2.FieldByName('JobCity').AsString:=DBEdit13.Text;

main.Table2.FieldByName('Company').AsString:=DBEdit14.Text;

main.Table2.FieldByName('JobPhone').AsString:=DBEdit15.Text;

main.Table2.FieldByName('JobFax').AsString:=DBEdit16.Text;

main.Table2.FieldByName('Post').AsString:=DBEdit17.Text;

main.Table2.FieldByName('about').AsString:=DBMemo2.Text;

main.Table2.FieldByName('icq').AsString:=DBEdit10.Text;

main.Table2.FieldByName('e-mail').AsString:=DBEdit8.Text;

main.Table2.FieldByName('status').AsString:=DBComboBox1.Text;

main.Table2.FieldByName('jobaddress').AsString:=DBMemo3.Text;

main.Table2.FieldByName('Group').AsString:=sDBLookupComboBox1.Text;

main.Table2.Post;

main.Table2.Refresh;

close;

end;

procedure Teditphone.Button1Click(Sender: TObject);

begin

close;

end;

end.

unit authentication;

interface

uses

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

Dialogs, StdCtrls, Buttons, sSkinProvider, sSkinManager, ExtCtrls;

type

Tlogin = class(TForm)

Edit1: TEdit;

SpeedButton1: TSpeedButton;

SpeedButton2: TSpeedButton;

SpeedButton3: TSpeedButton;

sSkinManager1: TsSkinManager;

sSkinProvider1: TsSkinProvider;

pmessage: TLabel;

Image1: TImage;

procedure Button1Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure SpeedButton3Click(Sender: TObject);

procedure SpeedButton1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure FormKeyDown(Sender: TObject; var Key: Word;

Shift: TShiftState);

procedure SpeedButton2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

login: Tlogin;

implementation

uses mainform, forgotpassword;

{$R *.dfm}

procedure Tlogin.Button1Click(Sender: TObject);

begin

if Edit1.Text = '1111' then

close

else

Tag:=1;

end;

procedure Tlogin.FormClose(Sender: TObject; var Action: TCloseAction);

begin

exit;

end;

procedure Tlogin.SpeedButton3Click(Sender: TObject);

begin

Tag:=1;

Close;

end;

procedure Tlogin.SpeedButton1Click(Sender: TObject);

var

f:textfile;

password:string;

i:integer;

begin

AssignFile(f,ExtractFilePath(ParamStr(0))+'\config\auth.dat');

Reset(f);

TRY

Read(f,password);

FINALLY

CloseFile(f);

end;

//Декодирование пароля

For i:=1 to Length(password) do

if(Ord(password[i])) < 255 then password[i]:=Chr(Ord(password[i]) - 2);

if Edit1.text = password then

begin

close;

MessageBeep(MB_ICONASTERISK);

PMessage.Font.Color:=clGreen;

Image1.Visible:=false;

//PMessage.Caption:='Добро пожаловать!';

end

else begin

MessageBeep(MB_ICONHAND);

Edit1.Clear;

PMessage.Font.Color:=clRed;

Image1.Visible:=true;

PMessage.Caption:='Доступ запрещен! Проверьте правильно ввода данных...';

end;

end;

procedure Tlogin.FormCreate(Sender: TObject);

begin

sSkinManager1.Active:=True;

sSkinManager1.SkinDirectory:=(ExtractFilePath(ParamStr(0))+'skins\');

end;

procedure Tlogin.FormKeyDown(Sender: TObject; var Key: Word;

Shift: TShiftState);

begin

If Key = VK_RETURN then SpeedButton1.Click;

end;

procedure Tlogin.SpeedButton2Click(Sender: TObject);

begin

forgot.Show;

end;

end. unit addphonenumber;

interface

uses

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

Dialogs, Mask, sMaskEdit, sCustomComboEdit, sTooledit, StdCtrls, ComCtrls,

DBCtrls, sDBLookupComboBox;

type

Taddphone = class(TForm)

PageControl1: TPageControl;

TabSheet1: TTabSheet;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label28: TLabel;

Label29: TLabel;

Label30: TLabel;

TabSheet2: TTabSheet;

Label31: TLabel;

Label32: TLabel;

Label33: TLabel;

Label34: TLabel;

TabSheet3: TTabSheet;

Label35: TLabel;

Label36: TLabel;

Label37: TLabel;

Label38: TLabel;

TabSheet8: TTabSheet;

Label39: TLabel;

Label40: TLabel;

Label41: TLabel;

Label42: TLabel;

Label43: TLabel;

Label44: TLabel;

Label45: TLabel;

Label46: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Edit8: TEdit;

Edit9: TEdit;

Edit10: TEdit;

Memo1: TMemo;

Edit11: TEdit;

Edit12: TEdit;

Edit13: TEdit;

Edit14: TEdit;

Memo2: TMemo;

Edit15: TEdit;

Edit16: TEdit;

Edit17: TEdit;

Edit18: TEdit;

Edit19: TEdit;

Memo3: TMemo;

Button1: TButton;

Button2: TButton;

sDateEdit1: TsDateEdit;

ComboBox1: TComboBox;

Label1: TLabel;

sDBLookupComboBox1: TsDBLookupComboBox;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

addphone: Taddphone;

implementation

uses mainform, settings;

{$R *.dfm}

procedure Taddphone.Button1Click(Sender: TObject);

begin

close;

end;

procedure Taddphone.Button2Click(Sender: TObject);

begin

If Edit1.Text = '' then begin

showmessage('Вы не заполнили обязательноее поле "Фамилия"!');

Exit;

End

else

begin

main.table2.Append;

main.Table2.FieldByName('name').AsString:=Edit1.Text;

main.Table2.FieldByName('surname').AsString:=Edit2.Text;

main.Table2.FieldByName('lastname').AsString:=Edit3.Text;

main.Table2.FieldByName('phone').AsString:=Edit4.Text;

main.Table2.FieldByName('mphone').AsString:=Edit5.Text;

main.Table2.FieldByName('fax').AsString:=Edit6.Text;

main.Table2.FieldByName('bdate').AsString:=DateToStr(sDateEdit1.Date);

main.Table2.FieldByName('Country').AsString:=Edit8.Text;

main.Table2.FieldByName('Region').AsString:=Edit9.Text;

main.Table2.FieldByName('City').AsString:=Edit10.Text;

main.Table2.FieldByName('address').AsString:=Memo1.Text;

main.Table2.FieldByName('JobCountry').AsString:=Edit11.Text;

main.Table2.FieldByName('jobRegion').AsString:=Edit12.Text;

main.Table2.FieldByName('JobCity').AsString:=Edit13.Text;

main.Table2.FieldByName('Company').AsString:=Edit14.Text;

main.Table2.FieldByName('JobPhone').AsString:=Edit15.Text;

main.Table2.FieldByName('JobFax').AsString:=Edit16.Text;

main.Table2.FieldByName('Post').AsString:=Edit17.Text;

main.Table2.FieldByName('JobAddress').AsString:=Memo2.Text;

main.Table2.FieldByName('icq').AsString:=Edit18.Text;

main.Table2.FieldByName('e-mail').AsString:=Edit19.Text;

main.Table2.FieldByName('status').AsString:=ComboBox1.Text;

main.Table2.FieldByName('about').AsString:=Memo3.Text;

main.Table2.FieldByName('Group').AsString:=sDBLookupComboBox1.Text;

main.Table2.Post;

main.Table2.Refresh;

close;

end;

end;

end.

unit aboutfrom;

interface

uses

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

Dialogs, acPNG, ExtCtrls, StdCtrls, sGroupBox;

type

Tabout = class(TForm)

Image1: TImage;

Label2: TLabel;

sGroupBox1: TsGroupBox;

private

{ Private declarations }

public

{ Public declarations }

end;

var

about: Tabout;

implementation

{$R *.dfm}

end.

Додаток В

Роздрук результатів роботи програми

Рисунок В 1 – Форма «Телефонний довідник» .

Рисунок В 2 – Форма «Нотатки» .

На формі показано нотаток який зберігається в базі даних та які функції доступні для роботи з ним.

Рисунок В 3 – Форма «Налаштування програми».

Рисунок В 4 – Форма «Повідомлення».

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]