Dec 09, 2011 16:07
Добавление элементов интерфейса в программном коде.
Для этого необходимо:
1) Создать виджет, принадлежащий или форме или другому потомку класса TComponent
2) Вставить созданный виджет туда, куда он принадлежит.
3) ...
4) PROFIT!!!
Например:
var mainfo:tmainfo;Mark:tbooleanedit;
...
Mark:=tbooleanedit.Create(mainfo.MainTable);
mainfo.Maintable.InsertWidget (Mark);
...
Виджет создан! Если он не отображается, то надо свойству visible:=true, если не работает, что свойству enabled:=true. Примерно так! =)
Создание базы данных.
В MSEIDE богатый инструмент для работы с базами данных. Мы будет рассматривать это на примере работы с firebird 2.5.
Для создания базы данных firebird надо перетащить на форму следующие компоненты с вкладки DB окна Component Palette:
1) tmseibconnection - компонент подключения
2) tmsesqltransaction - компонент транзакции для каких-то темных делишек подключения (типа создания БД) =)
3) tmsesqlscript - компонент sql скрипта, который потом будет создавать нашу таблицу.
Дальше необходимо заполнить все поля связанные с местоположением и доступом к базе данных через инспектор объектов у компонента типа tmseibconnection.
После устанавливаем связь между tmseibconnection и tmsesqltransaction. Т.е. указываем через инспектор у компонента типа tmsesqltransaction в поле database наш компонент подключения, а у компонента подключения в поле transaction указываем наш компонент типа tmsesqltransaction.
Теперь они связаны и готовы к работе.
В mseide у компонента tmseibconnection есть специальный метод для создания базы данных - createdatabase (sql оператор создания базы данных).
Например:
var reg_tran:tmsesqltransaction; con:tmseibconnection;
...
con.createdatabase ('CREATE DATABASE ''C:\firdt.fdb'' user ''sysdba'' password ''MASTERKEY'' PAGE_SIZE 4096 DEFAULT CHARACTER SET ASCII;');
con.connected;//База данных создана и приложение выполнило к ней подключение
Теперь надо связать наш tmsesqlscript с подключением и транзакцией в рамках которой мы сейчас работаем. В принципе для скрипта без разницы через какую транзакцию работать. Но мы не будем их плодить, так что пускай все компоненты будут работать через одну и ту же транзакцию.
Чтобы связать tmsesqlscript опять надо воспользоваться инспектором объектов и указать в поле database наше подключение, а в поле transaction соответственно транзакцию.
В поле SQL компонента типа tmsesqlscript пишем скрипт. Для его исполнения необходимо будет сделать вызвать метод выполнения скрипта Execute и подтвердить транзакцию, через которую он работает.
Например:
var reg_sctipt:tmsesqlscript;reg_tran:tmsesqltransaction;
...
REG_SCRIPT.EXECUTE;//метод выполнения скрыпта
reg_tran.commit;
Без подтверждения транзакции никакие изменения в БД не сохранятся!
Кстати, как вы заметили, я не сказал про параметры в tmsesqlscript. А они там есть! Увы, но о этом я расскажу в следующий раз =)
database,
программирование,
mseide