Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Связать класс и форму TForm  [new]
DFilushin
Member

Откуда: Новосибирск
Сообщений: 236
Добрый день

Какие есть решения для MVC в делфи?
Есть класс
  TDocument = class
  private
    FDatabase: TDatabase;
    FDataset: TDataSet;
    FId: Integer;
    FLastDate: TDateTime;
    FLastUser: String;
    FIdAuthor: Integer;
    FIdReciever: Integer;
    FIdTypeDocument: Integer;
    FDateCreated: TDate;
    FLinkDocument: TDocument;
    FLinkType: String;
    FTitle: String;
    FNumber: String;
    FAuthor: TEmployee;
    FReceiver: TEmployee;
    FText: String;

и есть форма для отображения/редактирования данных. Как правильно связать этот класс, заполнить поля в форме данными из класса и потом после редактирования их передать для сохранения? Сохраняет класс в БД данные.
7 окт 17, 16:17    [20850954]     Ответить | Цитировать Сообщить модератору
 Re: Связать класс и форму TForm  [new]
DimaBr
Member

Откуда:
Сообщений: 10211
DFilushin
Как правильно связать этот класс, заполнить поля в форме данными из класса...

Правильно ручками. Или, например, назвать компоненты по полям класса+приставка и написать процедуру заполнения.
Если класс от TComponet, то перебираем все публикуемые поля и для каждого ищем компонент на форме для заполнения
7 окт 17, 16:28    [20850965]     Ответить | Цитировать Сообщить модератору
 Re: Связать класс и форму TForm  [new]
DFilushin
Member

Откуда: Новосибирск
Сообщений: 236
DimaBr,
ручками это типа ReadDocument и там
edtNumber.TExt:= FDocument.Number;
edtDateDoc.Value:= FDocument.DateDoc...

И на кнопке Save - SaveDocument, где делать обратное и вызывать FDocument.Save?
7 окт 17, 16:33    [20850971]     Ответить | Цитировать Сообщить модератору
 Re: Связать класс и форму TForm  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 43639

DFilushin
И на кнопке Save - SaveDocument, где делать обратное и вызывать FDocument.Save?

Да. Надеюсь, ты не боишься стереть пальцы до основания, набирая десять строк примитивного
кода?..

Posted via ActualForum NNTP Server 1.5

7 окт 17, 16:51    [20850986]     Ответить | Цитировать Сообщить модератору
 Re: Связать класс и форму TForm  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 57239
Вы хоть расскажите человеку про DB-aware и LiveBinding-и.

Posted via ActualForum NNTP Server 1.5

7 окт 17, 17:02    [20851000]     Ответить | Цитировать Сообщить модератору
 Re: Связать класс и форму TForm  [new]
DFilushin
Member

Откуда: Новосибирск
Сообщений: 236
Гаджимурадов Рустам,

пользовался этим столько лет. На каждую форму положить dbaware - компонент или в дб=модуле запихнуть их 100?
7 окт 17, 17:12    [20851012]     Ответить | Цитировать Сообщить модератору
 Re: Связать класс и форму TForm  [new]
чччД
Guest
DFilushin
Гаджимурадов Рустам,

пользовался этим столько лет. На каждую форму положить dbaware - компонент или в дб=модуле запихнуть их 100?


Для начала попытаться выяснить, что есть "dbaware - компонент" в данном контексте?
7 окт 17, 18:26    [20851088]     Ответить | Цитировать Сообщить модератору
 Re: Связать класс и форму TForm  [new]
DFilushin
Member

Откуда: Новосибирск
Сообщений: 236
чччД,

TDataset, TDbEdit, TDataSource
7 окт 17, 18:30    [20851101]     Ответить | Цитировать Сообщить модератору
 Re: Связать класс и форму TForm  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 57239
DFilushin> На каждую форму положить dbaware - компонент или в дб=модуле запихнуть их 100?

Это зависит от архитектуры программы и её модулей и подхода разработчика к ним.
Можно на каждую форму, можно на датамодуль, датамодулей может быть несколько,
в т.ч. на каждую форму по одному. И т.д.

Posted via ActualForum NNTP Server 1.5

7 окт 17, 18:49    [20851139]     Ответить | Цитировать Сообщить модератору
 Re: Связать класс и форму TForm  [new]
rgreat
Member

Откуда:
Сообщений: 3530
Есть отличный подход: не усложняй простое решение без необходимости.
7 окт 17, 20:06    [20851246]     Ответить | Цитировать Сообщить модератору
 Re: Связать класс и форму TForm  [new]
ziv-2014
Member

Откуда:
Сообщений: 61
Использовать интерфейсы
7 окт 17, 21:32    [20851376]     Ответить | Цитировать Сообщить модератору
 Re: Связать класс и форму TForm  [new]
DFilushin
Member

Откуда: Новосибирск
Сообщений: 236
ziv-2014,

можно подробнее?
7 окт 17, 21:42    [20851393]     Ответить | Цитировать Сообщить модератору
 Re: Связать класс и форму TForm  [new]
ziv-2014
Member

Откуда:
Сообщений: 61
DFilushin
ziv-2014,

можно подробнее?

Реализовываете интерфейс для сохранения в базу + используете атрибуты и rtti.
Реализовываете интерфейс для отображения на форме.
Конкретная реализация зависит от вкуса.
7 окт 17, 22:13    [20851442]     Ответить | Цитировать Сообщить модератору
 Re: Связать класс и форму TForm  [new]
rgreat
Member

Откуда:
Сообщений: 3530
ziv-2014,

Только сказал "не усложняй без нужды" и вот...
8 окт 17, 00:04    [20851572]     Ответить | Цитировать Сообщить модератору
 Re: Связать класс и форму TForm  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 57239
ziv-2014> используете атрибуты и rtti.

Ну, интерфейсы при наличии готового класса ещё ладно.
Но что такое в данном контексте "атрибуты" и зачем rtti?

Posted via ActualForum NNTP Server 1.5

8 окт 17, 01:24    [20851680]     Ответить | Цитировать Сообщить модератору
 Re: Связать класс и форму TForm  [new]
чччД
Guest
Вот нафига в Delphi эта MVC? Неужели действительно собираемся оперативно тасовать компоненты (MVC)?

Ну, ради чего периодически кто-то пытается натянуть старую сову на глобус?
8 окт 17, 04:05    [20851715]     Ответить | Цитировать Сообщить модератору
 Re: Связать класс и форму TForm  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 57239
Что умеют, то и пытаются натянуть.
В конце концов, MVC это стильно,
модно и молодежно.

Posted via ActualForum NNTP Server 1.5

8 окт 17, 11:38    [20851949]     Ответить | Цитировать Сообщить модератору
 Re: Генератор отчетов с включением дизайнера в конечное приложение - ы...?  [new]
энди
Member

Откуда: Киров, Россия
Сообщений: 724
А кое где тем временем до сих пор работают программы написанные на коболе :) Ох уж мне все эти новомодные технологии :))
8 окт 17, 11:42    [20851959]     Ответить | Цитировать Сообщить модератору
 Re: Связать класс и форму TForm  [new]
DFilushin
Member

Откуда: Новосибирск
Сообщений: 236
Гаджимурадов Рустам,

а вы попробуйте Django на питоне. Удобно и "стильно"
8 окт 17, 15:50    [20852248]     Ответить | Цитировать Сообщить модератору
 Re: Связать класс и форму TForm  [new]
ziv-2014
Member

Откуда:
Сообщений: 61
Гаджимурадов Рустам
Ну, интерфейсы при наличии готового класса ещё ладно.
Но что такое в данном контексте "атрибуты" и зачем rtti?

Атрибуты нужны для того, чтобы указать какие поля связывать и сохранять.
Rtti - нужен для того, чтобы сделать все автоматом.
8 окт 17, 17:59    [20852494]     Ответить | Цитировать Сообщить модератору
 Re: Связать класс и форму TForm  [new]
чччД
Guest
DFilushin
Гаджимурадов Рустам,

а вы попробуйте Django на питоне. Удобно и "стильно"


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

Ну а ты попробуй на питоне кодить "в стиле Delphi". И на каком-нибудь форуме питоноидов рассказывай, что у них не так для быстрой и удобной работы.
8 окт 17, 18:45    [20852653]     Ответить | Цитировать Сообщить модератору
 Re: Связать класс и форму TForm  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 57239
ziv-2014> Атрибуты нужны для

Я не спрашивал, для чего они нужны.
Я спрашивал, что под ними подразумевается.
Если затрудняешься объяснить - можно привести пример.

Что "rtti нужен для того, чтобы сделать все автоматом" и
ежу понятно, но непонятно как он поможет с БЛОБами, с
любым нестандартным выводом даже integer и string-полей.
Или надо будет "эти 10 полей автоматом, эти 5 полей вручную,
а здесь рыбу заворачивали" ?

Posted via ActualForum NNTP Server 1.5

8 окт 17, 18:54    [20852679]     Ответить | Цитировать Сообщить модератору
 Re: Связать класс и форму TForm  [new]
ziv-2014
Member

Откуда:
Сообщений: 61
Гаджимурадов Рустам
Что "rtti нужен для того, чтобы сделать все автоматом" и
ежу понятно, но непонятно как он поможет с БЛОБами, с
любым нестандартным выводом даже integer и string-полей.
Или надо будет "эти 10 полей автоматом, эти 5 полей вручную,
а здесь рыбу заворачивали" ?

А чтобы справиться с БЛОБАМИ и любыми нестандартными типами,
тута тебе в помощь атрибуты с необходимыми обработчиками для
не стандартных типов.
8 окт 17, 19:45    [20852766]     Ответить | Цитировать Сообщить модератору
 Re: Связать класс и форму TForm  [new]
white_nigger
Member

Откуда: Тула
Сообщений: 1534
Гаджимурадов Рустам
Я не спрашивал, для чего они нужны.
Я спрашивал, что под ними подразумевается.
Если затрудняешься объяснить - можно привести пример.
Так именно аттрибуты и подразумеваются. Смотри любой ОРМ для делфи
8 окт 17, 22:37    [20853102]     Ответить | Цитировать Сообщить модератору
 Re: Связать класс и форму TForm  [new]
vavan
Member

Откуда: Казань
Сообщений: 2848
DFilushin
TDbEdit
если юзать что-то вроде dblayoutview/dbcardview (от девэксов) то от россыпи подобных индивидуальных под каждое поле контролов возможно будет практически полностью отказаться
9 окт 17, 09:24    [20853488]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Delphi Ответить