Динамическое создание формы ввода данных

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Luxor
новенький
Сообщения: 72
Зарегистрирован: 10.06.2010 19:30:43

Динамическое создание формы ввода данных

Сообщение Luxor »

Есть база firebird.
Есть ли какие-нибудь компоненты для построения формы ввода данных в базу?
Или таковых в природе нет и нужно самому придумать?
Alex2013
долгожитель
Сообщения: 3237
Зарегистрирован: 03.04.2013 11:59:44

Сообщение Alex2013 »

А в чём проблема ?
Вот простенькая замена ShowMessage
Тоже можно сделать и для ввода данных

Код: Выделить всё

// Динамическая форма для вывода
// сообщений
Procedure WriteForm(M:String);
var
WF:TForm;
L:TLabel;
B:TButton;
begin
 WF:=TForm.create(WV1);
 wf.Top:=50;
 wf.left:=25;
 Wf.Width:=550;
 Wf.Height:=200;
  B:=TButton.Create(wf);
  B.Caption:='Ok';
  b.Left:=20;
  b.Top:=155;
  b.ModalResult:=1;
 L:=TLabel.Create(wf);
 l.Align:=alTop;
 l.Top:=20;
 l.Left:=20;
 l.Font.Height:=14;
 l.Caption:=m;
   Wf.InsertControl(l);
   Wf.InsertControl(B);
 wf.ShowModal;
 wf.Free;
end;
SeZuka
постоялец
Сообщения: 209
Зарегистрирован: 05.09.2012 14:58:05

Сообщение SeZuka »

Я так понимаю ТС спрашивал об автоматическом создании форм для ввода данных на основании полей БД.
Самый простой вариант - это DBGrid, открыли нужную таблицу БД и вводите туда данные :)
Luxor
новенький
Сообщения: 72
Зарегистрирован: 10.06.2010 19:30:43

Сообщение Luxor »

Сделал я так.
У меня русские наименования полей хранятся в таблице базы, там же и соответствие английских наименований полей.
Запросом выдергиваю все из таблицы, далее в цикле строю динамически поля на форме и присваиваю событие полю (при выборе поля), в котором на место поля подставляется элемент ввода, календарь, выбор каталога и т.д.
Поле окончания ввода в элементе(OnExit) - данные элемента подставляются в поле.
Вообщем все устраивает. Чуть надо доработать, а так, вполне рабочий вариант.
Аватара пользователя
Tango
постоялец
Сообщения: 162
Зарегистрирован: 31.05.2012 17:07:30

Сообщение Tango »

Поищи исходники старого DCL. Там это шире сделано.
Аватара пользователя
Little_Roo
энтузиаст
Сообщения: 639
Зарегистрирован: 27.02.2009 18:56:36
Откуда: Санкт-Петербург

Сообщение Little_Roo »

Luxor писал(а):У меня русские наименования полей хранятся в таблице базы, там же и соответствие английских наименований полей

Извините, но ЗАЧЕМ ??? Или религия не позволяет присвоить полям НОРМАЛЬНЫЕ латинские (английские...сокращенные...в кодировке волапюк...значения)???
Для экспериментов - да, хорошо, а для реального проекта....... кака... :(

личное ИМХО :shock:
Kemet
постоялец
Сообщения: 241
Зарегистрирован: 10.02.2010 18:28:32
Откуда: Временно оккупированная территория
Контактная информация:

Сообщение Kemet »

Little_Roo писал(а):Извините, но ЗАЧЕМ ??? Или религия не позволяет присвоить полям НОРМАЛЬНЫЕ латинские

Есть люди, для которых нормальным является использование русского языка. Есть программисты, ждля которых нормальными являются русские идентификаторы, и даже есть те, для которых нормальным является использование русских ключевых слов. И в этом есть свои преимущества.
Ответить