Программирование - это просто
Advertisement
Главная arrow Уроки Delphi arrow Утилита управления метаданными (платный раздел) arrow Пишем утилиту управления метаданными. Урок 2. Создание таблицы и описание базовых классов.
20.04.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Пишем утилиту управления метаданными. Урок 2. Создание таблицы и описание базовых классов. Печать E-mail
Автор megabax   
06.12.2010 г.
New Page 1

Пишем утилиту управления метаданными. Урок 2. Создание таблицы и описание базовых классов.

Что бы смотреть урок полностью, подпишитесь на платный раздел.

В платном разделе статья находиться здесь.


Исходники к уроку можно скачать в платном разделе.

Продолжим создание системы MDE. Вспомним, как на предыдущем уроке мы заполняли и сохраняли метаданные в тестовом примере:

...

    FMDE1:=TMDEField.Create;

  FMDE1.Name:='Ware';

  FMDE1.Caption:='Товар';

  FMDE1.Size:=30;

  FMDE1.DataType:=ftString;

 

   Stream:=TFileStream.Create('d:\1\1.mde',fmCreate);

  FMDE1.Serialize(Stream);

 

   FMDE2:=TMDEField.Create;

  FMDE2.Name:='Price';

  FMDE2.Caption:='Цена';

  FMDE2.DataType:=ftFloat;

  FMDE2.Precision:=2;

 

    FMDE2.Serialize(Stream);

 

...

Согласитесь, не очень удобно. Даже очень неудобно и нерационально.  Поэтому сейчас мы создадим класс коллекцию полей TMDEFields...

...

... Теперь переделаем наш тестовый пример, который мы создали на прошлом уроке:

procedure TfrmMDETest.btnLoadClick(Sender: TObject);

var

    Stream:TFileStream;

    cn,i:integer;

    FFields:TMDEFields;

begin

  Stream:=TFileStream.Create('d:\1\1.mde',fmOpenRead);

  FFields:=TMDEFields.Create;

  FFields.Unserialize(Stream);

  tbMDETest.TableName:='wares.dbf';

  tbMDETest.Open;

  cn:=dbgMDETest.Columns.Count;

  for i:=0 to cn - 1 do

  begin

    dbgMDETest.Columns[i].Title.Caption:=FFields.FieldByName(dbgMDETest.Columns[i].FieldName).Caption;

  end;

end;

 

procedure TfrmMDETest.btnSaveClick(Sender: TObject);

var

    Stream:TFileStream;

    FFields:TMDEFields;

    FField:TMDEField;

begin

 

    FFields:=TMDEFields.Create;

  FField:=FFields.Add;

  FField.Name:='Ware';

  FField.Caption:='Товар';

  FField.Size:=30;

  FField.DataType:=ftString;

 

    FField:=FFields.Add;

  FField.Name:='Price';

  FField.Caption:='Цена';

  FField.DataType:=ftFloat;

  FField.Precision:=2;

 

    Stream:=TFileStream.Create('d:\1\1.mde',fmCreate);

  FFields.Serialize(Stream);

  Stream.Free;

 

   FFields.FillFieldDefs(tbMDETest.FieldDefs);

 

    tbMDETest.TableName:='wares.dbf';

 

    tbMDETest.CreateTable;

  tbMDETest.Open;

  tbMDETest.Append;

  tbMDETest.FieldByName('Ware').AsString:='Курица';

  tbMDETest.FieldByName('Price').AsFloat:=123.11;

  tbMDETest.Post;

  tbMDETest.Close;

end;

Как видим, код стал немного красивее, чем в прошлый раз. Но мы только начинаем. На следующем уроке продолжим создания новых классов, на основе которых будет строиться утилита и библиотека MDE.

(C) Шуравин Александр 


Скриншоты, помеченные знаком * , являются цитатами и иллюстрациями  в соответствии со ст. 1274 ГК РФ программного продукта "Turbo Delphi", авторское право на который принадлежит "Borland Software Corporation


 

Последнее обновление ( 06.11.2011 г. )
 
Пред. »
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги