🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi
Article #334546

System deklaracji na interfejsach

#334546
From: konsul41
Date: Mon, 02 Jan 2012 14:25
91 lines
3692 bytes
Delphi XE


Potrzebuję waszej podpowiedzi.


Projektuję system deklaracji podatkowych (zrealizowane ale wszystko w 
postaci pojedynczego programu i bardzo nie elastyczne)
Ogólna koncepcja jest taka podgląd realizowany na metafile na nim rysowane 
wszystko po kolei.
Wewnętrznie lista obiektów nie edycyjnych (tylko rysowanie), druga lista 
obiekty edycyjne (użytkownik klika na podgląd w miejscu gzie jest pole 
edycyjne i pojawia mu się
edit i może je edytować
DateTimePicker można edytować datę
itd...
Obiekty edycyjne powiadamiają inne obiekty edycyjne o swojej zmianie tamte 
zaś aktualizują się (według wzorca obserwator)




Chcę to wszystko przerobić na bardziej elastyczne jeżeli chodzi o możliwości 
dodawania nowych obiektów.
Wyobrażam to sobie w następujący sposób:
Użytkownik uruchamia deklaracje (najlepiej z dll - mały exe) zwane dalej 
system deklaracji
Ta wczytuje dostępne kontrolki (także z osobnych dll), które rejestrują się 
w systemie deklaracji i od tej pory system deklaracji używa ich jakby były 
jego częścią.
System deklaracji wczytuje z pliku deklaracji szablon, ustawia połączenia 
pomiędzy polami edycyjnymi, wczytuje dane początkowe ...
Utworzona deklaracja pobiera za pośrednictwem systemu deklaracji dane 
finansowe z programu.
Użytkownik edytuje pola edycyjne,drukuje sobie deklaracje, wysyła po 
podpisaniu do urzędu, i co tam jeszcze chce.


Wstępnie pomyślałem o Interfejsach

IRejestrVat = interface
//"Obiekt" rejestru VAT
end ;
IPlanKont = interface
//"Obiekt" PlanuKont
end ;


{Kontrolki}
IBaseObject = interface
end ;


IPitEdit = interface(IBaseObject)
//przodek kontrolek Edycyjnych
end ;


IPitDraw = interface(IBaseObject)
//przodek wszystkich kontrolek nie edycyjnych - tylko rysowanie
end ;
IPitKontener = interface(IBaseObject)
//Kontener dla innych kontrolek
end ;

{Zarzadzanie obiektami}
IObiekty = interface
//interfejs reprezentujący listę dostępnych "obiektów" dla deklaracji,
//ładowanych z bibliotek dll.

end ;
ISysObiekty = interface
//interfejs reprezentujący listę obiektów systemowych dotępnych w systemie
//typu rejestrVAT, PlanKont do dalszego wykorzystania.

end ;


{Deklaracja}
IDeklaracja = interface
//interfejs reprezentujący całą deklarację

end ;


Czy to dobry pomysł?
Wolałbym unikać BPL ponieważ planuję dać możliwość dodawania obiektów także 
innym.

Chciałbym poznać wasze pomysły na zrealizowanie tego systemu. 
Technical Details
Message-ID: <4f01be48$0$1204$65785112@news.neostrada.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!goblin1!goblin.stu.neva.ru!postnews.google.com!news1.google.com!border1.nntp.dca.giganews.com!border4.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!nx01.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!goblin1!goblin.stu.neva.ru!postnews.google.com!news1.google.com!border1.nntp.dca.giganews.com!border4.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!nx01.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
From: <konsul41@wp.pl>
Newsgroups: pl.comp.lang.delphi
Subject: System deklaracji na interfejsach
Date: Mon, 2 Jan 2012 15:25:14 +0100
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5931
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157
X-RFC2646: Format=Flowed; Original
Lines: 93
Message-ID: <4f01be48$0$1204$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 178.42.211.224
X-Trace: 1325514312 unt-rea-a-02.news.neostrada.pl 1204 178.42.211.224:10129
X-Complaints-To: abuse@news.neostrada.pl
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit