Вопрос № 106481: Уважаемые эксперты, подкинте пожалуйсто идею.
Есть xml фаил который уже распарчен в нём описвается множество таблиц, доменов, тригеров. Есть програмка которая по этому файлу записвает в БД новые таблици, домены, тригеры. Задача написать метод в э...
Вопрос № 106.481
Уважаемые эксперты, подкинте пожалуйсто идею.
Есть xml фаил который уже распарчен в нём описвается множество таблиц, доменов, тригеров. Есть програмка которая по этому файлу записвает в БД новые таблици, домены, тригеры. Задача написать метод в эту программу что бы при внесении в этот фаил новой таблици или при желании заменить существующую генерировался unit под требуемую таблицу который сгенерирует код для клиентской части БД где можно будет добовлять, удолять или изменять записи в таблице.
Добился того что генерируется форма под требуемую таблицу, на форме находится 4 кнопки Изменить, добавить, удалить, закрыть и TDrowGrid где заполняется шапка по названиям из XML.
Вопрос как сделать чтобы писался и сохранялся dfm фаил и вабще возможно это?
Dfm это обычный текстовый файл. Откройте его в notepad - сами увидите.
Различие между Delphi7 и Delphi5 в свойствах объектов. И в самих объектах (некоторых в D5 не было).
И в D7 Caption хранится в коде типа: Caption = #1053#1072#1087
Для того чтобы увидеть текст dfm нажмите правой кнопкой мышки над формой и выберите View as text.
D7
В Enviroment Options в закладке Designer поставьте "галочку" New form as text.
--------- Пусть все будет хорошо! Давайте жить дружно! :) И будет жить еще лучше!
Ответ отправил: LanK (статус: Практикант)
Ответ отправлен: 23.10.2007, 14:49 Оценка за ответ: 5 Комментарий оценки: Я знаю что Dfm это обычный текстовый ваил но возможно я задал не точный вопрос. Поскольку мне требуется сделать процедуру которая будет писать Dfm фаил для описания пользвательского интерфейса (это должно избавить програмиста от многократного описания одних и тех же действий для разных таблиц)
Отвечает: Виктор Пырлик
Здравствуйте, Degtyarev Anton!
"Добился того что генерируется форма под требуемую таблицу" Ну это же и есть искомое... :) procedure TForm1.Button1Click(Sender: TObject); var fStream:TFileStream; fMemoryStream:TMemoryStream; begin fMemoryStream := TMemoryStream.Create; fStream:= TFileStream.Create('myForm.dfm',fmCreate); fMemoryStream.WriteComponent(self); //вместо self можем записать любую нашу форму fMemoryStream.Seek(0,soFromBeginning);
ObjectBinaryToText(fMemoryStream,fStream); fStream.Free; fMemoryStream.Free; end;
--------- Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: Практикант)
Ответ отправлен: 23.10.2007, 18:26 Оценка за ответ: 5 Комментарий оценки: Спасибо большое за ответ это был один из вопросов который меня интересовал, теперь пол дела сделано :)