Консультация № 136948
15.05.2008, 14:39
0.00 руб.
0 1 1
Здравствуйте ув. эксперты.
Нужна срочная помощь по лабораторной. Преподаватель сейчас болеет, и если раньше он мог дать подсказку и натолкнуть на правильный путь, то теперь нет такой возможности. А лабораторную надо отправить завтра вечером, т.к. в понедельник уже будет выставляться промежуточная аттестация.
Мне осталось по сути только добавлять данные в вычисляемые поля на основе введённых данных и проверять введённые данные на формат (цифры или символы).
Значит при разработке лабораторной в Delphi 7.0 с использованием БД, для занесение в БД используются компоненты DBGrig и DBNavigator.
Так вот, проблема в следующем: я не знаю как обратится к полям таблицы. Ну например нужно проверять введённые значения и заносить данные в вычисляемые поля. В связи с эти несколько вопросов:
1) Это нужно делать в самой форме или в модуле данных?
2) Как обратится к полям таблицы? Какие свойства использовать и т.д.? Т.е. чтобы я мог проверить введённые значения
3) Для вычисляемых полей. Нужно сначала считать данные из необходимых полей, провести расчет, а потом занести эти данные в необходимые вычисляемые поля. Как сделать именно добавление данных в вычисляемые поля?
4) Внутри каких обработчиков таблицы это нужно делать? У DBGrig, например есть обработчик события OnEnter, я думал что можно использовать его, но оказывается он задействуется только тогда, когда первый раз кликаешь на сам DBGrig, чтобы ввести туда значения.

Пожалуйста, подскажите как решить эти проблемы. Конечно и за лабораторную в таком виде я баллов 70-75 получу, но хотелось бы побольше. А учебных пособий по Делфи у меня при себе нет(((

Если необходима какя-то доп информация, спрашивайте в мини-форуме. Просто очень нужно завтра до 20.00 отправить максимально сделанную лабораторную.

Обсуждение

Неизвестный
15.05.2008, 15:00
общий
это ответ
Здравствуйте, Стас Тельнов/[анти]КИЛЛЕР!
1) Не имеет значения, в каком модуле писать процедуру, главное привязать её к правильному событию.
2) DataModul.YourDataSet.FieldByName(‘ColName‘).Value - Это и есть значение поля ColName. Далее можете с ним делать все что пожелаете, только перед редактированием нужно будет ввести дата сет в режим редактирования (Edit;).
3) Дважны щёлкаете по датаСету. Создаете новое поле. Тип выдираете "Calcula...", по русски говоря "Вычисляемое". Затем тип поля. Затем у ДатаСета есть событие "OnCalcFields", в нём Вы и пишите ваше вычисление. Например:
DataModl.DataSet.FieldByName(‘Sum‘).Value := DataModl.DataSet.FieldByName(‘Kol‘).Value * DataModl.DataSet.FieldByName(‘Prime‘).Value;
//Sum - Вычисляемое поле.

Если возникнут ещё вопросы, пишите.
Форма ответа