Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Добавление вычисляемого поля




Else

Begin

Begin

Else

End

Begin

Begin

Else

End

Else

Begin

Begin

Begin

DBEdit1.DataSource:=Form1.DataSource1;

DBEdit1.DataField:='Fio';

 

DBEdit2.DataSource:=Form1.DataSource1;

DBEdit2.DataField:='DataR';

DBEdit3.DataSource:=Form1.DataSource1;

DBEdit3.DataField:='Adres';

DBEdit4.DataSource:=Form1.DataSource1;

DBEdit4.DataField:='NomerChit';

BitBtn1.ModalResult:=mrOk;

 

BitBtn2.ModalResult:=mrCancel;

end;

Для кнопки «Добавить запись в конец НД » напишите обработчик события OnClick:

 

procedure TForm1.BitBtn1Click(Sender: TObject);

 

if table1.ReadOnly=False then

Table1.Append;

 

if Form2.ShowModal=mrOk then

Table1.Post

 

Table1.Cancel;

 

ShowMessage('Редактирование записей запрещено!');

end;

 

Для кнопки «Вставить запись» – следующую процедуру:

 

procedure TForm1.BitBtn2Click(Sender: TObject);

if table1.ReadOnly=False then

Table1.Insert;

if Form2.ShowModal=mrOk then

Table1.Post else

Table1.Cancel;

 

ShowMessage('Редактирование записей запрещено!');

end;

 

Для кнопки «Удалить запись»:

 

procedure TForm1.BitBtn3Click(Sender: TObject);

 

if table1.ReadOnly=False then

if Messagedlg('Удалить запись?',

mtConfirmation,[mbYes, mbNo],0)=mrYes then

 

Table1.delete;

end

ShowMessage('Редактирование записей запрещено!');

end;

 

После щелчка по этой кнопке на экране появляется окно, в котором происходит подтверждение или отказ от удаления текущей записи.

 

a. Контрольные вопросы

1. Для чего используются процедуры Edit, Post, Insert, Append, Delete?

 

2. Как программно выполнить редактирование записи?

 

3. Как добавить запись?

 

4. Как программно выполнить удаление записи?

 

5. Как очистить таблицу БД?

 


 

Практическая работа 11. Тема: Добавление вычисляемого поля.Подсчет итогов по столбцу таблицы

 

 

1Создайте на диске D: в папке TO-31 каталог Практическая работа12

2Запустите утилиту BDE Аdministrator и создайте новый псевдоним БД с именем Итогиаттестации.

3С помощью утилиты Database Desktop создайте новую таблицу со следующими полями:

Группа

 

Количество студентов в группе

 

Количество студентов с одной двойкой

 

Количество студентов с двумя двойками

 

Количество студентов с тремя и более двойками

 

Пропуски по неуважительной причине

 

Пропуски по уважительной причине

группа количество студентов количество неуспевающих пропуски успеваемость
    с одной "2" с двумя "2" с тремя и более "2" у/п н/п всего  
АС 08               47%
АС 09               46,4%
АС 10               50%
АС 11               60%

 

4. Сохраните таблицу в созданную папку Практическая работа12 под именем attestation.db и занесите в неё следующие данные:


5Запустите Delphi 7.0.

 

6На форму поместите компоненты Table, DBGrid, DataSource1 и DBNavigator и установите для каждого компонента свойства в том порядке, как указано ниже:

 

Table1

 

DatabaseName - Итоги аттестации

TableName - attestation.db

Activ – True

 

DataSource1

 

DataSet - Table1

 

DBGrid

 

DataSource - DataSource1

 

DBNavigator

 

DataSource - DataSource1

 

7. Сохраните проект в папку Практическая работа12. Запустите программу на исполнение.

 

8. Вновь вернитесь в режим редактирования приложения.

 

9. У компонента Table1 свойству Activ установите значение False.

 

10. Щёлкните правой кнопкой мыши по компоненту Table1. Из контекстного меню выберите пункт Field Editor. Таким образом вы запустили Редактор полей.


11. В появившемся окне Редактора полей (Field Editor) щёлкните правой кнопкой мыши и с помощью контекстного меню добавьте все поля (Add fields …)

 

12. Вновь в редакторе полей щёлкните правой кнопкой мыши и теперь уже добавьте новое поле (New field) со следующими настройками:

 

 

имя

 

нового

 

поля

 

 

тип данных нового поля

 

 

тип нового поля (вычисляемое)

 

 

13. Создайте процедуру вычисления поля (событие OnCalcFields) и внесите следующий код:

 

if (Table1Number_of_person.Text<>'') and (Table1One.Text<>'') and (Table1Two.Text<>'') and (Table1Three_and_more.Text<>'') then Table1Progress.asFloat:= (100-

 

((((StrToInt(Table1One.Text)

+StrToInt(Table1Two.Text)+ StrToInt(Table1Three_and_more.Text))*100)/(StrToInt(T able1Number_of_person.Text)))));

 


14. Вновь у компонента Table1 свойству Activ установите значение True. Сохраниете изменения и запустите приложение на исполнение.

 

Если вы всё сделали правильно, поле Progressing должно высчитываться автоматически, попробуйте

 

изменить в полях One, Two, Three_add_more данные и посмотрите, как меняются значения в поле Progressing

 

 




Поделиться с друзьями:


Дата добавления: 2014-11-06; Просмотров: 360; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.086 сек.