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

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

метод show для форм [D5, Win95/98, WinME, NT4, Win2k, WinXP]


andre_nik ©   (2002-10-29 16:29:00) 

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


----   (2002-10-30 11:55:00) [1]

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

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


----   (2002-10-30 11:43:00) [2]

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

сохраняем форму в файл
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;


Mike_Goblin   (2002-10-30 10:56:00) [3]

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


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

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

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


Bis   (2002-10-29 16:58:00) [5]

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


TTCustomDelphiMaster   (2002-10-29 16:52:00) [6]


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


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


Наверх

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