Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

И снова справочники [D5, IB6.x]


RDA ©   (2002-09-06 15:03:00) 

В программе есть форма на которой пара кнопок и Grid, а также есть переменные spDataSource:TDataSource, spDataSet:TpFIBDataSet и spFieldName:String. Использую ее в качестве справочника, передавая нужные параметры.
Функция создания, открытия и выбора выглядит так:


var
spDataSource:TDataSource;
spDataSet:TpFIBDataSet;
spFieldName:String;

implementation

function ShowSprav(ADataSource:TDataSource; ADataSet:TpFIBDataSet; AFieldName:String):Variant;
var
fmSprav: TfmSprav;
begin
spDataSource:=ADataSource;
spDataSet:=ADataSet;
spFieldName:=AFieldName;
fmSprav:=TfmSprav.Create(Application);
fmSprav.Grid.DataSource:=spDataSource;
try
if fmSprav.ShowModal=mrOk then Result:=spDataSet.FieldByName(spFieldName).Value
else Result:=""
finally
fmSprav.Free;
end;
end;


По нажатию на определенную кнопку на этой форме, должна появиться другая форма для введения данных в справочник (от справочника к справочнику они разные - формы, они же используются и для редактирования). Можно ли это как-то реализовать - появление разных форм в зависимости от вида справочника. По сути вроде как кнопке нужно присвоить другой обработчик или передать как параметр название нужной функции или процедуры, вобщем не знаю правильного ответа.
Большая просьба мастерам и специалистам: посмотрите на код, скажите правильно ли я делаю, или есть другой более изящный и безопасный код для этого случая, что-то мне в нем не нравиться.


Desdechado   (2002-09-06 21:24:00) [1]

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


RDA   (2002-09-06 17:02:00) [2]

Не понял что за "Текс".
А данные храняться в обычных таблицах IB. При чем здесь как они связываются.
Один грид, с одной колонкой. Что непонятного...
Просто формы разные для добавления записей в справочник. Одна таблица - одна форма, другая таблица - другая форма. Я знаю какую я таблицу перадаю как параметр, и знаю какую форму мне надо открыть для редактирования и добавления записей.
Запись может состоять из различного количества полей с различными условиями типа "Not Nill" и т.д. поэтому и разные формы.


Mike Kouzmine   (2002-09-06 15:19:00) [3]

А как данные храняться, как связываются?
Что в гриде показывается?
Текс в общем понятен, но для чего он - непонятно.


Наверх

Титульная страница Поиск, карта сайта Написать письмо