Студопедия — If DataModule1.TownTable.Modified then
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

If DataModule1.TownTable.Modified then






DataModule1.TownTable.Post;

end;

Якщо поточний рядок був змінений, то в властивості Modified буде true, інакше false. А якщо відбулись зміни, то їх треба зберегти, інакше якщо користувач зачинить вікно, то дані можуть не зберегтися. Для збереження змін використовується метод Post.

При натисканні кнопки «Удалить» треба написати наступний код:

procedure TTownBookForm.DelBtnClick(Sender: TObject);

Begin

DataModule1.TownTable.Delete;

end;

Метод Delete знищує поточний рядок з таблиці.

 

Все. Тепер перейдіть до головної форми та створіть меню або кнопку, для виклику «справочника городов».

 

Рис. 1.6 Меню виклику «Справочника городов»

По події OnClick від меню пишемо код виклику вікна «справочника городов»:

 

procedure TForm1.TownBookMenuItemClick(Sender: TObject);

Begin

TownBookForm.ShowModal;

end;

Якщо не був доданий модуль «справочника городов» до головної форми та буде зроблена спроба відкомпілювати проект, то з’явиться наступний запит:

 

 

Тут мова йде про те, що форма TownBookForm оголошена в модулі TownBookUnit та твоя форма не має ссилки на нього. Тобі пропонується додавати її автоматично. Оберіть Yes та модуль буде доданий автоматично, після цього можна знову компілювати проект не роблячі жодних змін. Запустіть проект та перевірте роботу програми.

Запустіть програму, визовіть «Справочник городов» та додайте туди декілька рядків.

Рис. 1.7 Справочник в дії

 

Зараз в нас є «справочник городов» та ми можемо підв’язати його дані до головної таблиці. Але перед цим трохи покращемо форму. Виділіть сітку DBGrid1 на головній формі та в властивості Options відключіть можливість редагування даних в сітці – в dgEditing вкажи false:

 

Рис. 1.8 Відключення можливості редагування

Зараз редагування даних в сітці неможливе, тому ми зробимо для цього окремі вікна. В головному меню створи пункт «Редактирование» з наступними підпунктами:

 

1. Добавить запись;

2. Редактировать запись;

3. Удалить запись.

 

На рисунке 1.9 можно побачити результат цього меню.

Рис. 1.9 Меню «Редактирование»

Тепер створимо нову форму, яка буде використовуватися для редагування даних кожного запису. Створи форму та збережи її під іменем EditFormUnit. Саму ж форму назовемо EditRecordForm. Зараз зміни в формі наступні властивості:

· BorderStyle - bsSingle

· Position – poMainFormCenter.

 

Для початку підключить до нової форми модуль з даними, тому що необхідно буде мати до них доступ. Для цього оберіть з меню File пункт Use Unit, в вікні, яке з’явиться, оберіть DataModuleUnit та натисніть ОК.

Тепер подивись на вигляд форми для редагування даних (рис. 1.10)

Рис. 1.10 Вікно редагування даних

В цьому вікні декілька компонентів для прикрашання вигляду (картинка, панель білого кольору).

Навпроти надписів Фамилия, Имя, Телефон, e-mail та Дата рождения з находяться компоненти DBEdit з закладки Data Controls. Ці компоненти представляють собою прості рядки введення типу TEdit, лише вони вміють автоматично редагувати вказанні поля в БД. Щоб компонент бачив дані з необхідного поля треба вказати у нього в властивості DataSource необхідну таблицю (DataModule1.DataSource1, як це робили з сіткою редагування), а в властивості DataField вказати поле, яке треба редагувати.

Для властивості «Мобильник» краще було б використовувати компонент DBCheckBox. У нього також треба вказати поле в таблиці, як й у компонентів DBEdit.

Саме цікаве – поле «Город». Назви міст зберігаються в окремому довіднику, а в головній таблиці повинні зберігатися лише числа – номери рядків із довідника міст. Припустимо, що в виділенному записі треба вказати місто «Москва», яке йде під номером 2 (поле Key1 для цього рядка в довіднику міст дорівнює 2). В цьому випадку, в основному довіднику в полі «Город» треба вказати лише цифру 2, а назву міста в будь-який момент можно знайти в довіднику міст, за полем Key1. Так як воно унікальне (лічильник), то проблем не виникне.

Щоб все це реалізувати достатньо поставити компонент DBLookupComboBox з закладки Data Controls. Тепер треба вказати в нього в властивості DataSource головну таблицю (DataModule1.DataSource1), яка буде редагуватися, а в властивості DataField вказати поле, яке треба редагувати – «Город».

Компонент DBLookupComboBox виглядає як випадаючий список (схожий на TComboBox). В якості елементів випадаючого списка можна вказати таблицю. В властивості ListSource треба вказати таблицю, з якої будуть обиратися елементи для випадаючого списка. Вкажемо наш довідник міст - DataModule1.TownSource.

В властивості ListField вкажемо поле з цієї таблиці, яке буде використовуватися для заповнення випадаючого списка – «Название города». В властивості KeyField треба вказати поле, значення якого буде заноситися в вказане поле головної таблиці - Key1.

 

По натисканню кнопки «Сохранить» напишіть:

 

procedure TEditRecordForm.BitBtn1Click(Sender: TObject);

Begin







Дата добавления: 2015-10-12; просмотров: 309. Нарушение авторских прав; Мы поможем в написании вашей работы!



Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

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

Правила наложения мягкой бинтовой повязки 1. Во время наложения повязки больному (раненому) следует придать удобное положение: он должен удобно сидеть или лежать...

ТЕХНИКА ПОСЕВА, МЕТОДЫ ВЫДЕЛЕНИЯ ЧИСТЫХ КУЛЬТУР И КУЛЬТУРАЛЬНЫЕ СВОЙСТВА МИКРООРГАНИЗМОВ. ОПРЕДЕЛЕНИЕ КОЛИЧЕСТВА БАКТЕРИЙ Цель занятия. Освоить технику посева микроорганизмов на плотные и жидкие питательные среды и методы выделения чис­тых бактериальных культур. Ознакомить студентов с основными культуральными характеристиками микроорганизмов и методами определения...

Законы Генри, Дальтона, Сеченова. Применение этих законов при лечении кессонной болезни, лечении в барокамере и исследовании электролитного состава крови Закон Генри: Количество газа, растворенного при данной температуре в определенном объеме жидкости, при равновесии прямо пропорциональны давлению газа...

Ганглиоблокаторы. Классификация. Механизм действия. Фармакодинамика. Применение.Побочные эфффекты Никотинчувствительные холинорецепторы (н-холинорецепторы) в основном локализованы на постсинаптических мембранах в синапсах скелетной мускулатуры...

Шов первичный, первично отсроченный, вторичный (показания) В зависимости от времени и условий наложения выделяют швы: 1) первичные...

Studopedia.info - Студопедия - 2014-2024 год . (0.012 сек.) русская версия | украинская версия