Задание №1. 1. Откройте новое приложение
1. Откройте новое приложение.
2. В модуль данных (имя- DMod) поместите объекты TQuery, TDataSource.
3. Для объекта TQuery установите свойства :
· DatabaseName-имя используемого псевдонима.
· Name AnimalsQuery
· SQL –select * from Animals
· Active-True
· набор изменяемый (свойство RequestLive -True)
4. Для объекта TDataSource установите свойства:
· Name-AnimalsSource
· DataSet-AnimalsQuery
5. Щелчком правой кнопки мыши по объекту TQuery вызовите Fields Editor. Затем из контекстного меню выберите команду Add Field. По умолчанию выделены все поля, щелкните ОК и закройте редактор.
6. Снова откройте редактор полей. Из контекстного меню выберите команду New Field. В окне New Field в текстовом поле Name введите– Mass, задайте тип нового поля как Integer и Calculated
7. Чтобы поместить значение в новое поле, в окне инспектора объектов выделите объект AnimalsQuery.
8. Создайте событие OnCalcField :
void __fastcall TDMod::AnimalsQueryCalcField(TDataSet *DataSet)
{
AnimalsQuerymass->AsInteger=
AnimalsQuerySIZE->AsInteger*AnimalsQueryWEIGHT->AsInteger;
}
9. Включите модуль данных в основную программу.
10. В верхней части формы поместите объект TPanel, на панель поместите два объекта TButton.
11. Пониже разместите объект TDBImage и TDBGrid как показано на рисунке.
12. Покажите в сетке поля: NAME, SIZE, WEIGHT, MASS. Для этого вызовите Columns Editor из контекстного меню из окна свойств инспектора объектов.
13. Выберите для сетки указанные поля.
14. Свяжите компонент TDBImage с полем BMP.(свойство DataSource, свойство DataField)
15. Создайте процедуру при нажатии кнопки “Modify Field”. (Свойство Name-ModifyBtn)
void __fastcall TForm1::ModifyBtnClick(TObject *Sender)
{
int i;
AnsiString S;
DMod->AnimalsQuery->Edit();
i = DMod->AnimalsQuerySIZE->Value;
S = DMod->AnimalsQueryNAME->Value;
i += 1;
S = "FFF";
DMod->AnimalsQuerySIZE->Value = i;
DMod->AnimalsQueryNAME->Value = S;
}
16. Для кнопки “Cancel Modify Field” создайте процедуру отмены изменений:
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Dmod->AnimalsQuery->Cancel();
}
17. Запустите приложение. Убедитесь в его работоспособности.