Створення електронної анкети для заповнення даних
Загальний опис основних компонентів: ActionList та його характерні властивості, MainMenu, PageControl, OpenDialog та SaveDialog. Механізм та принципи підключення до бази даних, створення та наповнення таблиць. Головні вимоги до розроблюваної анкети.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 31.10.2014 |
Размер файла | 641,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
КУРСОВА РОБОТА
Створення електронної анкети для заповнення даних
Вступ
анкета база електронний
Ті, кому доводилося часто працювати з великими об'ємами документацій, знають ціну швидкого знаходження потрібної інформації в великих томах документації. Дійсно люди, які займаються різноманітною професійною юридичною діяльністю розбирають дуже багато інформації. І щоб знайти ту чи іншу інформацію треба потратити доволі не мало часу.
Тому, за допомогою комп'ютерів можна полегшити роботу працівників. Для цього й була розроблена електронна анкета для заповнення даних.
Цю програму можна використовувати для зібрання анкетних даних про людей, які подають заявку на отримання візи. Ці дані будуть зберігатися в єдиній базі даних. Замість заповнення бланків і анкет на які теж треба потратити не мало часу, можна заповнити електронну форму, яка зберігається в базі даних. Основна перевага цієї програми в тому, що можна використовувати бланки неодноразово.
Для виконання поставленої задачі вибрано середовище розробки програм Delphi, оскільки в Delphi є великий набір доступних компонентів. Тут інтуїтивно зрозумілий інтерфейс для звичайних користувачів і швидка реалізація поставленої задачі для програміста.
1. Постановка задачі на розробку програми
Оскільки зараз у всіх країнах світу запроваджується нова форма електронної анкети для подачі даних на отримання візи ця програма буде актуальна в наш час.
В даній курсовій роботі необхідно створити електронну анкету для заповнення персональних даних. Для розв'язання даної задачі вимагається розробити базу даних, в якій зберігається інформація про особу, яка подає заявку на отримання візи. Для використання бази створити користувацький інтерфейс в Delphi у вигляді форм для заповнення даних. В інтерфейсі надати можливість перегляду вмістимої інформації в базі даних.
Розглянемо деякі засоби, які допоможуть реалізувати поставлену задачу.
2. Загальний опис основних компонентів
2.1 ActionList
Компонент Delphi - ActionList зберігає список дій, які можуть бути використані компонентами та елементи управління, такими як пункти меню і кнопки. Для прикладу розглянемо пункт в меню і дублююча кнопка. У багатьох програмах є панель задач, в якій кнопки, дублюють дії меню. Ви можете кнопці і пункту меню призначити один код, але керувати цим не так зручно. Набагато зручніше буде створити дії в ActionList і призначити їх кнопці і пункту меню. Додати список дій компонентів до вашої формі або модулю даних можна із стандартної сторінки палітри компонентів. Двічі клацніть список дій, щоб відобразити редактор, з якого ви можете додавати, видаляти і змінювати дії. ActionList призначена в першу чергу для управління діями в крос-платформних додатків.
Властивості ActionList
Основна властивість ActionList це State - дозволяє заборонити виконання всіх команд у списку. В ній є такі категорії:
§ asNormal - всі команди працюють у звичайному режимі;
§ asSuspended - команди недоступні, але не зачіпається властивість Enabled в компонентах використовуваних Action;
§ asSuspendedEnabled - команди недоступні, але мають звичайний вигляд тому, що властивість Enabled кожного компонента використовується Action встановлюється в значення True.
В редакторі дій ActionList створюється дія яка нам потрібна і вже кнопку прив'язуєм до цієї дії. Щоб дія працювала правильно необхідно використовувати наступні параметри:
· AutoCheck - якщо true, то властивість checked буде перемикатися при виконанні дій.
· Caption - назва дії. Ця назва буде копіюватися в властивості caption компонентам, яким буде застосуються дана дія.
· Category - тут можна вибрати існуючe або написати нове ім'я для створення категорії.
· Enabled - показує чи доступна дія.
· Groupindex - якщо у двох дій один індекс, тобто вони знаходяться в одній групі, то при виділенні дії, їй надається властивість checked призначається true іншим діям цієї групи властивість checked призначається false.
· Imageindex - призначає картинку для цієї дії.
· Shortcut - клавіші швидкого доступу.
2.2 MainMenu
Компонент Delphi MainMenu (головне меню) розташовується на сторінці Standard Палітри інструментів. Майже у всіх сучасних Windows додатках є меню, як необхідний елемент інтерфейсу. Меню представляє з себе список з пунктів об'єднаних за функціональною ознакою. Пункт меню позначає або вкладене підменю, або конкретну команду. При виборі пункту меню ми виконуємо відповідну цьому пункту команду або розкриваємо підменю.
MainMenu представляє з себе не візуальний компонент, отже розташовувати його можна на формі де завгодно. Користувач побачить результат роботи компонента - меню згенероване ним, зверху, над формою.
Зазвичай в додатку є одне головне меню і його ім'я автоматично задається у властивості форми Menu Інспектора об'єктів. Але можна також розмістити на формі декілька компонентів головного меню з різними наборами пунктів, які будуть відповідати різним режимам роботи програми. Тоді при проектуванні властивості Menu форми присвоюється посилання на одне з цих меню.
Основна властивість головного меню - це Items. Коли заповнення відбувається в редакторі меню, який викликається подвійним клацанням на компоненті або на крапці навпроти відповідного пункту в добавляє його в інспектор об'єктів. Для додавання нового пункту меню можна скористатися клавішею Insert або заповнити властивість Caption у останньої нижньої комірки. Видалити непотрібний пункт меню можна клавішею Delete.
Властивості MainMenu
Щоб візуально зобразити компонент MainMenu необхідно використовувати наступні властивості:
· Bitmap - малюнок, розташований зліва від заголовка пункту меню. Типово малюнок відсутній.
· Break - цим компонентом можна поділити меню на стовпці.
· Caption - задає заголовок меню. символ «-» в якості заголовка буде відображатися в меню розділова лінія,
· Checked - відповідно до цього ознакою визначається позначений (TRUE) пункт меню чи ні (FALSE). Пункт меню, за умовчанням не відзначений,
· AutoCheck - при рівному TRUE, автоматично змінює властивості Checked на протилежне, якщо обрано даний пункт меню,
· Count - кількість підпунктів в даному пункті меню,
· Enabled - властивість, яка блокує пункт меню. При рівному FALSE вона не активно і їм не можна скористатися,
· RadioItem - дозволяє змінювати вид позначки при FALSE (за замовчуванням) - галочка, TRUE - жирна крапка,
· ShortCut - визначає гарячі клавіші,
· Visible - відповідає за видимість пункту меню.
2.3 PageControl
Компонент Delphi PageControl (багатосторінковий блокнот) розташований на сторінці Win32 Палітри компонентів. Компонент PageControl є більш складним елементом управління, ніж компонент Delphi TabControl, хоча вони мають досить багато спільних властивостей. PageControl може містити кілька панелей класу TTabSheet, які перекриватимуть одного. Перехід на іншу панель (сторінку) здійснюється клацанням миші в області заголовка сторінки.
На етапі конструювання, щоб додати нову панель (сторінку) необхідно натиснути праву кнопку на компоненті і вибрати з контекстного меню пункт «New Page». Delphi створить нову сторінку з ім'ям TabSheet1, її можна перейменувати, змінивши властивість Caption у «Інспекторові об'єктів» об'єкта TabSheet (потрібно проконтролювати, щоб при виділенні маркери не зачіпали області заголовків компонента PageControl). Для видалення панелі використовуємо пункт меню - «Delete Page». Пункти меню «Next Page» і «Previouse Page» дозволяють переходити на наступну і попередню сторінки.
У компонента PageControl є дві основних події OnChange і OnChanging. Подія OnChange відбувається відразу при перемиканні. А OnChangeing відбувається перед переходом на іншу сторінку після кліка на новій закладці. При цьому враховується параметр AllowChange, якщо його поставити рівним FALSE, то перехід не здійснитися.
Процедура SelectNextPage (GoForward: Boolean) задає активної наступну панель, при GoForward рівному TRUE і попередню, якщо GoForward одно FALSE.
Властивість PageCount повідомляє кількість сторінок (лише для читання).
2.4 Компоненти OpenDialog, SaveDialog
На вкладці палітри компонентів Dialogs знаходяться компонент Delphi OpenDialog і компонент Delphi SaveDialog. Всі Delphi діалоги, що знаходяться на цій вкладці, у тому числі і Delphi діалоги вибору файлу, невізуальні, тобто при перенесенні їх на форму в працюючій програмі їх не видно, їх видно тільки на етапі конструювання. Компонент OpenDialog реалізує діалог відкриття файлу. При запуску цього діалогу з'являється вікно, в якому можна вибрати ім'я файлу, що відкривається. У разі успішного закриття діалогового вікна (натисканням кнопки Open) в якості результату повертається обране ім'я файлу.
Компонент SaveDialog пропонує стандартний діалог збереження файлу, який відрізняється від діалогу відкриття файлу тільки своїм заголовком.
Основні властивості компонентів OpenDialog і SaveDialog
Є декілька основних властивостей необхідних для зберігання і відкриття файлу:
· FileName типу String - вказує ім'я і повний шлях файлу, обраного в діалозі. Файл відображається у рядку редагування списку Ім'я файлу і є результатом діалогу.
· Title типу String - задає заголовок вікна. Якщо властивість Title не встановлено, то за замовчуванням використовується заголовок Open для OpenDialog і заголовок Save - для SaveDialog.
· InitiaLDir типу String - визначає каталог, вміст якого відображається при виклику діалогового вікна. Якщо каталог не заданий, то відображається вміст поточного каталогу.
· DefaultExt типу String - задає розширення, автоматично використовуване в імені файлу, якщо користувач не вказав розширення.
· Filter типа String - задає маски імен файлів, що відображаються в списку Тип файлів. У діалоговому вікні видно імена файлів, що збігаються з вказаною маскою це файл. Типово значенням Filter є порожній рядок, що відповідає відображенню імен файлів всіх типів.
· FilterIndex типу Integer - вказує, яка з масок фільтра відображається у списку. Типово властивість FilterIndex має значення 1 (використовується перша маска).
3. Програмна реалізація поставленої задачі
3.1 Підключення до бази даних
Концепція даної програми проста: всі дані анкети будуть зберігатися в базі даних Microsoft Access, яка підключається до Delphi, коли починається робота з програмою. Налаштування підключення до бази даних відбувається за допомогою форми dbconnect.
Рис. 1. Концепція підключення до БД
За допомогою трьох основних компонентів (рис. 1) відбувається підключення бази даних до Delphi:
· ADOConnection - знаходиться на вкладці ADO, призначений для підключення нашої БД по визначеному провайдеру.
· DataSource - знаходиться на вкладці Data Access, призначений для зв'язку нашої сітки відображення даних, з БД.
· ADOTable - знаходиться також на вкладці ADO, призначений отримання потрібних результатів з нашої БД.
3.2 Створення таблиці БД
Щоб реалізувати швидке заповнення таблиці і занесення інформації в базу даних, необхідно створити форму з компонентом DBGrid. Цей компонент інкапсулює двовимірну таблицю, в якій рядки являють собою записи, а стовпці - поля набору даних.
Щоб створити анкету з полями для заповнення бази даних потрібно помістити кнопку, яка буде створювати новий запис в базі даних і переходити на форму для заповнення анкети (рис. 2).
Рис. 2. Таблиця в Delphi, яка підключена до БД
Ще тут реалізована кнопка, яка буде видаляти всі дані про особу з таблиці і бази даних.
3.3 Створення анкети для заповнення даних
Для створення анкети в зручному вигляді для користувача, я використав такий компонент Delphi як PageControl. За допомогою нього можна реалізувати багатосторінковий блокнот з різними розділами та пунктами заповнення даних (рис. 3).
Рис. 3. Реалізація компонента PageControl
Для зручності розроблено меню за допомогою компонента MainMenu (рис. 4).
Рис. 4. Реалізація компоненту MainMenu
Зручністю програми є те що, при заповненні даних, вони зразу ж відображаються в таблиці (рис. 5).
Рис. 5. Заповнення анкетних даних
Зберігання інформації в таблицю відбувається за допомогою кнопки «зберегти», або за допомогою меню.
Рис. 6. Збережені дані в таблиці
Оскільки таблиця інтегрована з базою даних, інформація про особу зразу зберігається в БД Microsoft Access (рис. 7).
Рис. 7. Дані в таблиці БД Microsoft Access
4. Інтерфейс користувача
Запускаючи програму, користувач бачить перед собою вікно таблиці з пустими полями. Переходячи по кнопці на форму анкети, користувачу необхідно заповнити всі бланки в анкеті і зберегти їх в таблицю. При збереженні, в анкеті вся інформація зникає, даючи змогу заповнити нову анкету для нової особи. В кожного є свій порядковий номер, по якому буде легко знайти необхідну інформацію в базі даних. (рис. 8)
Рис. 8. Загальний вигляд таблиці
Збережена інформація залишається в базі даних, що дає гарантію на те що анкети з вашими даними на втратяться.
Висновки
У даній курсовій роботі була розроблена програма, в якій реалізована електронна анкета, для заповнення даних людей, які подають заявку на отримання візи. В програмі створений простий і зрозумілий інтерфейс для користувача. Програма розроблялась у візуальному середовищі програмування Delphi, яке використовує мову програмування ObjectPascal і містить у собі великий набір візуальних інструментів для швидкої та зручної розробки програм. Щоб поєднати роботу с базою даних, тут використовується система управління базами даних Microsoft Access.
В ході курсової роботи я ознайомився з особливостями та проблемами створення бази даних та підключення її до середовища програмування Delphi.
Література
1. Ю.С. Бородич. Паскаль для персональных компьютеров [Текст]:довідник\видавництво: «Вышейшая школа», 2009 г. - 276 с.
2. Е.А. Зуев. Язык прграммирования Turbo Pascal [Текст]:довідник\ видавництво: М. «Унитех», 2012 г. - 576 с.
3. Embarcadero Delphi Wikipedia: [Електронний ресурс]. - Режим доступу: http://uk.wikipedia.org/wiki/CodeGear_Delphi - Назва з екрану. - Мова: укр. - Перевірено: 13.03.2013
4. Microsoft Access: [Електронний ресурс]. - Режим доступу: http://office.microsoft.com/uk-ua/access-help - Назва з екрану. - Мова укр. - Перевірено: 1.04.2013
Додаток
Код підключення Бази Даних
unit Unit1;
interface
uses
SysUtils, Classes, DB, ADODB;
type
Tdbconnect = class(TDataModule)
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
DataSource1: TDataSource;
private
{Private declarations}
public
{Public declarations}
end;
var
dbconnect: Tdbconnect;
implementation
{$R *.dfm}
end.
Основний код програми
unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, ExtCtrls, XPMan, Menus, Buttons, Spin,
ActnList, ToolWin, Mask, DBCtrls;
type
TfmSchengenAgreement = class(TForm)
sbInfo: TStatusBar;
pnTop: TPanel;
pnBottom: TPanel;
MainMenu1: TMainMenu;
miFile: TMenuItem;
N1: TMenuItem;
miExit: TMenuItem;
miHelp: TMenuItem;
miAbout: TMenuItem;
XPManifest1: TXPManifest;
pcPages: TPageControl;
pnPersonalInfo: TPanel;
tsPersonalInfo: TTabSheet;
tsAddress: TTabSheet;
tsPosition: TTabSheet;
tsPartnerChildren: TTabSheet;
tsBrothers: TTabSheet;
tsParents: TTabSheet;
tsFriends: TTabSheet;
tsFormerCounties: TTabSheet;
stPersonalInfo: TStaticText;
stAddress: TStaticText;
stPosition: TStaticText;
stPartnerChildren: TStaticText;
stBrothers: TStaticText;
stParents: TStaticText;
stFriends: TStaticText;
stFormerCountries: TStaticText;
dtpFatherBirthday: TDateTimePicker;
chbxFatherDead: TCheckBox;
dtpFatherDeathday: TDateTimePicker;
lbedFatherAddress: TLabeledEdit;
dtpMotherBirthday: TDateTimePicker;
chbxMotherDead: TCheckBox;
dtpMotherDeathday: TDateTimePicker;
lbedMotherAddress: TLabeledEdit;
chbxFatherWithYou: TCheckBox;
chbxMotherWithYou: TCheckBox;
lbFatherBirthday: TLabel;
lbedFatherDeathday: TLabel;
lbMotheBirthday: TLabel;
lbMotherDeathday: TLabel;
lbedFriendName: TLabeledEdit;
dtpFriendBirthday: TDateTimePicker;
lbFriendBirthday: TLabel;
bbFriendAdd: TBitBtn;
bbFriendDelete: TBitBtn;
bbFriendEdit: TBitBtn;
lvFriends: TListView;
ActionList1: TActionList;
actNextPage: TAction;
actPrevPage: TAction;
lbedPartnerFormerName: TLabeledEdit;
lbedPartnerRealAddress: TLabeledEdit;
chbxPartnerWithYou: TCheckBox;
lbPartnerBirthday: TLabel;
dtpBrotherBirthday: TDateTimePicker;
lbedBrotherPartner: TLabeledEdit;
seBrotherChildrenCount: TSpinEdit;
chbxBrotherWithYou: TCheckBox;
lbBrotherChildrenCount: TLabel;
lbBrotherBirthday: TLabel;
bbBrotherAdd: TBitBtn;
bbBrotherDelete: TBitBtn;
bbBrotherEdit: TBitBtn;
lvBrothers: TListView;
Label2: TLabel;
Label3: TLabel;
dtpVisaStart: TDateTimePicker;
lbVisaStart: TLabel;
lbVisaEnd: TLabel;
dtpVisaEnd: TDateTimePicker;
cbxCountry: TComboBox;
lbCountry: TLabel;
lbVisaDate: TLabel;
dtpVisaDate: TDateTimePicker;
lbedVisaType: TLabeledEdit;
lbedCountryWhere: TLabeledEdit;
bbCountryAdd: TBitBtn;
bbCountryDelete: TBitBtn;
bbCountryEdit: TBitBtn;
lvCountries: TListView;
lbFullName: TLabel;
bbPrev: TBitBtn;
bbNext: TBitBtn;
miSave: TMenuItem;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
bbAbout: TBitBtn;
bbExit: TBitBtn;
lbDate: TLabel;
dtpDate: TDateTimePicker;
bvBevel1: TBevel;
bbSave: TBitBtn;
gbxName: TGroupBox;
lbedFormerNames: TLabeledEdit;
gbxBirth: TGroupBox;
lbBirthday: TLabel;
gbxArmy: TGroupBox;
chbxArmy: TCheckBox;
lbedArmy: TLabeledEdit;
gbxFamilyStatus: TGroupBox;
gbxHomeAddress: TGroupBox;
gbxRealAddress: TGroupBox;
lbedRealIndex: TLabeledEdit;
lbedRealAddress: TLabeledEdit;
gbxPhone: TGroupBox;
lbedRegisterPhone: TLabeledEdit;
gbxResponsiblePerson: TGroupBox;
lbedResponsiblePerson: TLabeledEdit;
lbedRegistered: TLabeledEdit;
gbxJob: TGroupBox;
lbedJobYear: TLabeledEdit;
gbxFirm: TGroupBox;
lbedFirmPhone: TLabeledEdit;
lbedFirmFax: TLabeledEdit;
lbedFirmEMail: TLabeledEdit;
gbxNoJob: TGroupBox;
lbedIfNoJob: TLabeledEdit;
gbxChildren: TGroupBox;
lbedChildPartner: TLabeledEdit;
seChildChildrenCount: TSpinEdit;
chbxChildWithYou: TCheckBox;
bbChildAdd: TBitBtn;
bbChildDelete: TBitBtn;
bbChildEdit: TBitBtn;
lvChildren: TListView;
lbChildBirthday: TLabel;
lbChildChildrenCount: TLabel;
Timer1: TTimer;
Label4: TLabel;
name1: TDBEdit;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBComboBox1: TDBComboBox;
DBEdit4: TDBEdit;
Label5: TLabel;
DBEdit5: TDBEdit;
Label1: TLabel;
DBEdit6: TDBEdit;
Label6: TLabel;
DBEdit7: TDBEdit;
Label7: TLabel;
DBEdit8: TDBEdit;
Label8: TLabel;
DBEdit9: TDBEdit;
Label9: TLabel;
DBEdit10: TDBEdit;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
DBEdit11: TDBEdit;
Label13: TLabel;
DBEdit12: TDBEdit;
Label14: TLabel;
Label15: TLabel;
lbedChildName: TDBEdit;
DateTimePicker1: TDateTimePicker;
dtpChildBirthday: TDateTimePicker;
lbedBrotherName: TDBEdit;
Label16: TLabel;
DBEdit14: TDBEdit;
Label17: TLabel;
DBEdit15: TDBEdit;
Label18: TLabel;
procedure chbxArmyClick (Sender: TObject);
procedure actNextPageExecute (Sender: TObject);
procedure actPrevPageExecute (Sender: TObject);
procedure chbxFatherDeadClick (Sender: TObject);
procedure chbxMotherDeadClick (Sender: TObject);
procedure miAboutClick (Sender: TObject);
procedure miExitClick (Sender: TObject);
procedure lvChildrenChange (Sender: TObject; Item: TListItem;
Change: TItemChange);
procedure cbxFamilyStatusExit (Sender: TObject);
procedure lvFriendsChange (Sender: TObject; Item: TListItem;
Change: TItemChange);
procedure lvBrothersChange (Sender: TObject; Item: TListItem;
Change: TItemChange);
procedure lvCountriesChange (Sender: TObject; Item: TListItem;
Change: TItemChange);
procedure bbFriendAddClick (Sender: TObject);
procedure bbFriendDeleteClick (Sender: TObject);
procedure bbFriendEditClick (Sender: TObject);
procedure lvFriendsKeyDown (Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure lvBrothersKeyDown (Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure bbBrotherDeleteClick (Sender: TObject);
procedure bbBrotherAddClick (Sender: TObject);
procedure bbBrotherEditClick (Sender: TObject);
procedure lvChildrenKeyDown (Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure bbChildDeleteClick (Sender: TObject);
procedure bbChildAddClick (Sender: TObject);
procedure bbChildEditClick (Sender: TObject);
procedure lvCountriesKeyDown (Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure bbCountryDeleteClick (Sender: TObject);
procedure bbCountryAddClick (Sender: TObject);
procedure bbCountryEditClick (Sender: TObject);
procedure miNewClick (Sender: TObject);
procedure miSaveAsClick (Sender: TObject);
procedure miOpenClick (Sender: TObject);
procedure miSaveClick (Sender: TObject);
procedure FormCreate (Sender: TObject);
procedure lbedSurnameChange (Sender: TObject);
procedure Timer1Timer (Sender: TObject);
procedure lbedSurnameKeyUp (Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormActivate (Sender: TObject);
private
{Private declarations}
public
{Public declarations}
end;
var
fmSchengenAgreement: TfmSchengenAgreement;
implementation
uses About, ComponentsLoadSave, Unit1;
{$R *.dfm}
procedure TfmSchengenAgreement.chbxArmyClick (Sender: TObject);
begin
lbedArmy. Enabled:=chbxArmy. Checked;
end;
procedure TfmSchengenAgreement.actNextPageExecute (Sender: TObject);
begin
pcPages. SelectNextPage(True);
end;
procedure TfmSchengenAgreement.actPrevPageExecute (Sender: TObject);
begin
pcPages. SelectNextPage(False);
end;
procedure TfmSchengenAgreement.chbxFatherDeadClick (Sender: TObject);
begin
dtpFatherDeathday. Enabled:=chbxFatherDead. Checked;
end;
procedure TfmSchengenAgreement.chbxMotherDeadClick (Sender: TObject);
begin
dtpMotherDeathday. Enabled:=chbxMotherDead. Checked;
end;
procedure TfmSchengenAgreement.miAboutClick (Sender: TObject);
begin
fmAbout. ShowModal;
end;
procedure TfmSchengenAgreement.miExitClick (Sender: TObject);
begin
Close;
end;
procedure TfmSchengenAgreement.bbChildAddClick (Sender: TObject);
begin
lbedChildName. SetFocus;
If Trim (lbedChildName. Text)='' Then Exit;
With lvChildren. Items. Add Do
Begin
Caption:=Trim (lbedChildName. Text);
SubItems. Add (DateToStr(dtpChildBirthday. Date));
SubItems. Add (lbedChildPartner. Text);
SubItems. Add (IntToStr(seChildChildrenCount. Value));
If chbxChildWithYou. Checked Then
SubItems. Add('Так')
Else
SubItems. Add('Ні');
End;
end;
procedure TfmSchengenAgreement.bbChildDeleteClick (Sender: TObject);
begin
If lvChildren. ItemIndex=-1 Then Exit;
If Application. MessageBox ('Видалити цей запис?', 'Ви впевнені?', MB_YESNO+MB_ICONQUESTION)<>IDYES Then Exit;
lvChildren. Items. Delete (lvChildren. ItemIndex);
end;
procedure TfmSchengenAgreement.bbChildEditClick (Sender: TObject);
begin
lbedChildName. SetFocus;
If lvChildren. ItemIndex=-1 Then Exit;
If Trim (lbedChildName. Text)='' Then Exit;
With lvChildren. Items [lvChildren. ItemIndex] Do
Begin
Caption:=Trim (lbedChildName. Text);
SubItems[0]:=DateToStr (dtpChildBirthday. Date);
SubItems[1]:=lbedChildPartner. Text;
SubItems[2]:=IntToStr (seChildChildrenCount. Value);
If chbxChildWithYou. Checked Then
SubItems[3]:='Так'
Else
SubItems[3]:='Ні';
End;
end;
procedure TfmSchengenAgreement.lvChildrenKeyDown (Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
If Key=VK_DELETE Then
bbChildDeleteClick(Self);
end;
procedure TfmSchengenAgreement.lvChildrenChange (Sender: TObject;
Item: TListItem; Change: TItemChange);
begin
If Change<>ctState Then Exit;
If Item. SubItems. Count=0 Then Exit;
lbedChildName. Text:=Item. Caption;
dtpChildBirthday. Date:=StrToDate (Item. SubItems[0]);
lbedChildPartner. Text:=Item. SubItems[1];
seChildChildrenCount. Value:=StrToInt (Item. SubItems[2]);
If Item. SubItems[3] [1]='Д' Then
chbxChildWithYou. Checked:=True
Else
chbxChildWithYou. Checked:=False;
end;
procedure TfmSchengenAgreement.bbBrotherAddClick (Sender: TObject);
begin
lbedBrotherName. SetFocus;
If Trim (lbedBrotherName. Text)='' Then Exit;
With lvBrothers. Items. Add Do
Begin
Caption:=Trim (lbedBrotherName. Text);
SubItems. Add (DateToStr(dtpBrotherBirthday. Date));
SubItems. Add (lbedBrotherPartner. Text);
SubItems. Add (IntToStr(seBrotherChildrenCount. Value));
If chbxBrotherWithYou. Checked Then
SubItems. Add('Так')
Else
SubItems. Add('Ні');
End;
end;
procedure TfmSchengenAgreement.bbBrotherDeleteClick (Sender: TObject);
begin
If lvBrothers. ItemIndex=-1 Then Exit;
If Application. MessageBox ('Видалити цей запис?', 'Ви впевнені?', MB_YESNO+MB_ICONQUESTION)<>IDYES Then Exit;
lvBrothers. Items. Delete (lvBrothers. ItemIndex);
end;
procedure TfmSchengenAgreement.bbBrotherEditClick (Sender: TObject);
begin
lbedBrotherName. SetFocus;
If lvBrothers. ItemIndex=-1 Then Exit;
If Trim (lbedBrotherName. Text)='' Then Exit;
With lvBrothers. Items [lvBrothers. ItemIndex] Do
Begin
Caption:=Trim (lbedBrotherName. Text);
SubItems[0]:=DateToStr (dtpBrotherBirthday. Date);
SubItems[1]:=lbedBrotherPartner. Text;
SubItems[2]:=IntToStr (seBrotherChildrenCount. Value);
If chbxBrotherWithYou. Checked Then
SubItems[3]:='Так'
Else
SubItems[3]:='Ні';
End;
end;
procedure TfmSchengenAgreement.lvBrothersKeyDown (Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
If Key=VK_DELETE Then
bbBrotherDeleteClick(Self);
end;
procedure TfmSchengenAgreement.lvBrothersChange (Sender: TObject;
Item: TListItem; Change: TItemChange);
begin
If Change<>ctState Then Exit;
If Item. SubItems. Count=0 Then Exit;
lbedBrotherName. Text:=Item. Caption;
dtpBrotherBirthday. Date:=StrToDate (Item. SubItems[0]);
lbedBrotherPartner. Text:=Item. SubItems[1];
seBrotherChildrenCount. Value:=StrToInt (Item. SubItems[2]);
If Item. SubItems[3] [1]='Д' Then
chbxBrotherWithYou. Checked:=True
Else
chbxBrotherWithYou. Checked:=False;
end;
procedure TfmSchengenAgreement.bbFriendAddClick (Sender: TObject);
begin
lbedFriendName. SetFocus;
If Trim (lbedFriendName. Text)='' Then Exit;
With lvFriends. Items. Add Do
Begin
Caption:=Trim (lbedFriendName. Text);
SubItems. Add (DateToStr(dtpFriendBirthday. Date))
End;
end;
procedure TfmSchengenAgreement.bbFriendDeleteClick (Sender: TObject);
begin
If lvFriends. ItemIndex=-1 Then Exit;
If Application. MessageBox ('Видалити цей запис?', 'Ви впевнені?', MB_YESNO+MB_ICONQUESTION)<>IDYES Then Exit;
lvFriends. Items. Delete (lvFriends. ItemIndex);
end;
procedure TfmSchengenAgreement.bbFriendEditClick (Sender: TObject);
begin
lbedFriendName. SetFocus;
If lvFriends. ItemIndex=-1 Then Exit;
If Trim (lbedFriendName. Text)='' Then Exit;
With lvFriends. Items [lvFriends. ItemIndex] Do
Begin
Caption:=Trim (lbedFriendName. Text);
SubItems[0]:=DateToStr (dtpFriendBirthday. Date);
End;
end;
procedure TfmSchengenAgreement.lvFriendsKeyDown (Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
If Key=VK_DELETE Then
bbFriendDeleteClick(Self);
end;
procedure TfmSchengenAgreement.lvFriendsChange (Sender: TObject;
Item: TListItem; Change: TItemChange);
begin
If Change<>ctState Then Exit;
If Item. SubItems. Count=0 Then Exit;
lbedFriendName. Text:=Item. Caption;
dtpFriendBirthday. Date:=StrToDate (Item. SubItems[0]);
end;
procedure TfmSchengenAgreement.bbCountryAddClick (Sender: TObject);
begin
dtpVisaStart. SetFocus;
With lvCountries. Items. Add Do
Begin
Caption:=DateToStr (dtpVisaStart. Date);
SubItems. Add (DateToStr(dtpVisaEnd. Date));
SubItems. Add (cbxCountry. Text);
SubItems. Add (DateToStr(dtpVisaDate. Date));
SubItems. Add (lbedVisaType. Text);
SubItems. Add (lbedCountryWhere. Text);
End;
end;
procedure TfmSchengenAgreement.bbCountryDeleteClick (Sender: TObject);
begin
If lvCountries. ItemIndex=-1 Then Exit;
If Application. MessageBox ('Видалити цей запис?', 'Ви впевнені?', MB_YESNO+MB_ICONQUESTION)<>IDYES Then Exit;
lvCountries. Items. Delete (lvCountries. ItemIndex);
end;
procedure TfmSchengenAgreement.bbCountryEditClick (Sender: TObject);
begin
dtpVisaStart. SetFocus;
If lvCountries. ItemIndex=-1 Then Exit;
With lvCountries. Items [lvCountries. ItemIndex] Do
Begin
Caption:=DateToStr (dtpVisaStart. Date);
SubItems[0]:=DateToStr (dtpVisaEnd. Date);
SubItems[1]:=cbxCountry. Text;
SubItems[2]:=DateToStr (dtpVisaDate. Date);
SubItems[3]:=lbedVisaType. Text;
SubItems[4]:=lbedCountryWhere. Text;
End;
end;
procedure TfmSchengenAgreement.lvCountriesKeyDown (Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
If Key=VK_DELETE Then
bbCountryDeleteClick(Self);
end;
procedure TfmSchengenAgreement.lvCountriesChange (Sender: TObject;
Item: TListItem; Change: TItemChange);
begin
If Change<>ctState Then Exit;
If Item. SubItems. Count=0 Then Exit;
dtpVisaStart. Date:=StrToDate (Item. Caption);
dtpVisaEnd. Date:=StrToDate (Item. SubItems[0]);
cbxCountry. Text:=Item. SubItems[1];
dtpVisaDate. Date:=StrToDate (Item. SubItems[2]);
lbedVisaType. Text:=Item. SubItems[3];
lbedCountryWhere. Text:=Item. SubItems[4];
end;
procedure TfmSchengenAgreement.miNewClick (Sender: TObject);
begin
If Sender<>nil Then
If Application. MessageBox ('Очистити анкету для занесення нових даних?', 'Нова анкета', MB_YESNO+MB_ICONQUESTION)<>IDYES Then Exit;
ClearComponents (fmSchengenAgreement, -1);
ClearComponents (fmSchengenAgreement, -2);
//cbxFamilyStatus. ItemIndex:=0;
chbxArmyClick(Self);
chbxFatherDeadClick(Self);
chbxMotherDeadClick(Self);
pcPages. ActivePageIndex:=0;
end;
procedure TfmSchengenAgreement.miOpenClick (Sender: TObject);
Var
AnkFile:TFileStream;
begin
If Not (OpenDialog1. Execute) Then Exit;
miNewClick(nil);
AnkFile:=TFileStream. Create (OpenDialog1. FileName, fmOpenRead);
LoadComponents (fmSchengenAgreement, -1, AnkFile);
AnkFile. Free;
SaveDialog1. FileName:=OpenDialog1. FileName;
end;
procedure TfmSchengenAgreement.miSaveAsClick (Sender: TObject);
begin
If Not (SaveDialog1. Execute) Then Exit;
miSaveClick(nil);
end;
procedure TfmSchengenAgreement.miSaveClick (Sender: TObject);
Var
AnkFile:TFileStream;
begin
dbconnect.ADOTable1. Insert;
SetFocus;
Update;
end;
procedure TfmSchengenAgreement. FormCreate (Sender: TObject);
begin
miNewClick(nil);
end;
procedure TfmSchengenAgreement.lbedSurnameChange (Sender: TObject);
begin
//lbFullName. Caption:=lbedSurname. Text+' '+lbedName. Text+' '+lbedPatronymic. Text;
end;
procedure TfmSchengenAgreement. Timer1Timer (Sender: TObject);
begin
Timer1. Enabled:=False;
Timer1. Tag:=0;
end;
procedure TfmSchengenAgreement.cbxFamilyStatusExit (Sender: TObject);
begin
Timer1. Tag:=1;
Timer1. Enabled:=True;
end;
procedure TfmSchengenAgreement.lbedSurnameKeyUp (Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
If Timer1. Tag<>1 Then Exit;
If Key<>9 Then Exit;
Timer1. Enabled:=False;
actNextPageExecute(Self);
end;
procedure TfmSchengenAgreement. FormActivate (Sender: TObject);
begin
dbconnect.ADOTable1. Insert;
Update;
end;
end.
Размещено на Allbest.ru
Подобные документы
Поняття та переваги реляційної бази, автоматизація аналізу даних. Опис основних компонентів сховища даних AS/400. Процес перетворення оперативних даних в інформаційні. Багатовимірні бази даних (MDD). Опис даних і створення файлів в інтеграційних базах.
реферат [36,8 K], добавлен 14.01.2012Форми вихідних документів. Перелік запитів до бази даних. Побудова інфологічної моделі, її структурні компоненти: сутності, зв’язки та відносини. Перелік таблиць, опис запитів. Загальна характеристика та головний зміст форм розроблюваної бази даних.
курсовая работа [414,5 K], добавлен 31.01.2014Основні відомості про реляційні бази даних, система управління ними. Основні директиви для роботи в середовищі MySQ. Визначення та опис предметної області. Створення таблиць та запитів бази даних автоматизованої бази даних реєстратури в поліклініці.
курсовая работа [2,9 M], добавлен 06.11.2011Систематизація знань як основна функція бази даних. Логічне та фізичне проектування бази даних. Створення таблиць у базі даних, визначення основних зв'язків. Інструментальні засоби проектування та створення програмного забезпечення для обробки даних.
курсовая работа [1,4 M], добавлен 29.04.2010Проектування бази даних, що реалізує звіти про графік робіт на об’єктах впродовж місяця. Графічне зображення нагромаджувачів даних. Побудова діаграм потоків даних і переходів станів, таблиць у вигляді двовимірного масиву, запитів. Створення бази даних.
курсовая работа [1,2 M], добавлен 29.02.2012Коротка характеристика MSSqlServer 2008, принципи створення та вимоги до бази даних "Автоматизація обліку автомобілів МРЕВ" в середовищі, що вивчається. Формування та зміст відповідних таблиць, установка зв’язків між ними. Створення та оцінка запитів.
контрольная работа [1,3 M], добавлен 13.05.2016Основні особливості Microsoft Access, її значення для створення професійної бази даних. Опис прикладної області "Житлово-комунальне господарство". Створення і заповнення таблиць, запитів, форм і звітів, які можна друкувати й редагувати в Microsoft Access.
курсовая работа [2,2 M], добавлен 17.12.2011Створення інформаційних таблиць бази даних. Створення екранних форм як засобу організації інтерфейсу користувача. Створення запитів для вибору, сортування і обчислення з використанням даних однієї таблиці. Оформлення звітів за допомогою команд MS Access.
лабораторная работа [397,7 K], добавлен 09.09.2010Використання баз даних та інформаційних систем у сучасному житті. Основні відомості про реляційні бази даних. Зв'язування відносин. Структурована мова запитів SQL. Сутність та загальний опис бази даних "Архітектурна компанія". Приклад створення таблиці.
курсовая работа [320,7 K], добавлен 19.06.2015Опис основних кроків створення бази даних по автомобілям у програмі Microsoft Access, та запитів. Порядок формування таблиць, їх зміст і структура, встановлення зв'язків між таблицями. Операції, що проводяться над таблицями. Правила оформлення звіту.
практическая работа [1,1 M], добавлен 27.05.2010