Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.07;
Скачать: CL | DM;

Вниз

метод show для форм   Найти похожие ветки 

 
andre_nik   (2002-10-29 16:29) [0]

подскаждите, пожалуйста, каким образом можно реализовать сей факт:
есть база данных где описаны имена форм и описалово к ним,и в зависимости от того какая запись выбрана-открывается соотвествующая форма. Формы генерятся при запуске программы
Если можно с исходными примерами
Заранее благодарен


 
TTCustomDelphiMaster ©   (2002-10-29 16:52) [1]


> и описалово к ним


Всмысле информация о том какие компоненты раположены на форме или просто написано зачем эта форма нужна?


 
Bis ©   (2002-10-29 16:58) [2]

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


 
Andre_nik   (2002-10-30 06:00) [3]

пример
база
поле1......поле2
form11 форма картотеки
form_22 форма платежного поручения
ggg_yyy форма еще чего нить

по поле2 делается скрол бар.и в зависимости от того какой итем выбрали, должна открыться соответствующая форма
к примеру выбрали поле "форма картотеки" должна показаться форма "form1". Оператор Case не подходит - слишком уж много записей в базе



 
Mike_Goblin ©   (2002-10-30 10:56) [4]

Создавать класс формы через CreateNew, а не Create, использовать для загрузки и хранения формы мехнизм загрузки/сохранения в dfm


 
----   (2002-10-30 11:43) [5]

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

сохраняем форму в файл
VAR
fs: TFileStream;
BEGIN
fs:=TFileStream.Create(Filename,какие-то параметры..смотри хелп);
fs.WriteComponent(Form1);
fs.Free;
END;

Потом ты этот файл с формой записываешь в BLOB-поле и при необходимости считываешь. Форма сохраняется со всей своей функциональностью.
Считываешь форму так:
var
my_form: TForm;
begin
//считываем файл из базы в поток
TBlobField(table1.FieldByName("pole3")).SaveToStream(fs);
//считываем форму из потока
TComponent(my_form):=fs.ReadComponent(nil);

//дальше можно работать с твоей формой....
end;


 
----   (2002-10-30 11:55) [6]

А есть еще один способ...наверное он тебе больше понравится, т.к. не нужно хранить ничего в БД кроме имен классов...

{ /* Создание формы по имени класса*/}
var
f: TForm;
AClassName: String;
begin
AClassName:="TForm1";
RegisterClass(TForm1);
f:= TForm( TControlClass(GetClass(AClassName)).Create(nil) );
end;



Страницы: 1 вся ветка

Текущий архив: 2002.11.07;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.021 c
1-21631
sas1
2002-10-24 21:56
2002.11.07
заполнить массив Items компонента Checklistbox


1-21678
wer1
2002-10-28 10:36
2002.11.07
Мастера подскажите! Как определить какое колличество строк в Memo


4-21880
lds78
2002-09-24 09:51
2002.11.07
HBitmap


1-21512
Separator
2002-10-29 07:23
2002.11.07
Адресное пространство


7-21825
Dj Karies
2002-09-04 10:51
2002.11.07
Потоки