Пишем утилиту управления метаданными. Урок 1. Создание таблицы и описание базовых классов. |
Автор megabax | |||
22.11.2010 г. | |||
Пишем утилиту управления метаданными. Урок 1. Создание таблицы и описание базовых классов.Что бы смотреть урок полностью, подпишитесь на платный раздел. В платном разделе статья находиться здесь. Исходники к уроку можно скачать в платном разделе. Вы когда нибудь сравнивали 1С и Delphi? Казалось бы, что сравнивать? 1С предназначена для создания бухгалтерских решений, на ней можно очень быстро написать практически любую программу для работы с базами данных. Действительно, что бы в 1С создать СУБД, достаточно описать структуру метаданных: справочники, документы, регистры. И все, уже можно вводить данные. Связи реализуется очень легко - просто назначим полю тип ссылка на другой справочник или документ. А в Delphi? Вот простой пример: есть справочник складов. У него есть поле "тип склада". Это тоже справочник. Что бы все это реализовать в Delphi надо создать две таблицы, организовать между ними связь и прочий геморой. Но, с другой стороны, написали вы на 1С конфигурацию. Стали ее продавать. Но, что бы использовать легально вашу конфигурацию, клиент еще должен иметь легальную 1С. А если у него нету 1С, то он должен его купить. А ему это надо? Вот так и получается, что круг возможных потребителей вашего продукта резко сужается. Какой выход? Писать на Delphi! Во первых, есть бесплатная версия этой среды разработки Turbo Delphi. В нее входит BDE (средство для работы с базами данных), она так же распространяется бесплатно. Таким образом, вы создаете дистрибутив, включаете туда DBE, и легально продаете, не боясь нарушить чьи либо авторские права. Но! Надо еще написать. А написать на Delphi хорошую СУБД не так то просто, как в 1С. Хорошо бы иметь какой то инструмент управления метаданными, типа как конфигуратор в 1С. Вот мы и займемся его созданием. Называться наша библиотека будет MDE (Metadata Engine). И так, начнем. объявим базовый класс, от которого, как говориться, будем "танцевать"... ... ... В данном тексте мы используем процедуры и функции, которых нет в Delphi. Давайте их тоже реализуем:
Они служат для сериализации строк в поток и чтение из потока. Штатными средствами Delphi это сделать невозможно. Почему? Ответ на этот вопрос выходит за рамки урока, поэтому, кому интересно, см. сюда. Еще мы объявим класс поддержки полей:
... .... Теперь переходим к тестированию. Кинем на форму компоненты TTable, TDataSource и TDBGrid. Соединим их между собой. Если не знаете как, см. сюда. Теперь добавим еще две кнопочки. Вот что у вас должно получится в итоге: Реализуем обработчики событий нажатия на эти кнопки (если не знаете, что такое обработчик события, см. сюда и сюда)... ... ..., мы успешно создали первый нужный нам класс. Остальные классы создадим на будущих уроках. (C) Шуравин Александр Скриншоты, помеченные знаком * , являются цитатами и иллюстрациями в соответствии со ст. 1274 ГК РФ программного продукта "Turbo Delphi", авторское право на который принадлежит "Borland Software Corporation
|
|||
Последнее обновление ( 06.11.2011 г. ) |
« След. | Пред. » |
---|