Autor Téma: DataModul - ako si tam vytvoriť skupiny komponentov  (Přečteno 1508 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 3526
  • Karma: 35
    • Verze Delphi: XE7 professional
Rád by som si opticky vytvoril skupiny komponentov. Pre rýchlu orientáciu a zamadzeniu omylov.
Pretože sa na DataModul nedá vložiť žiaden vizuálny komponent, tak to neviem urobiť. Stačilo by mi aj nakresliť obdĺžnik.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline pepak

  • Guru
  • *****
  • Příspěvků: 1357
  • Karma: 31
    • Pepak.net
Re:DataModul - ako si tam vytvoriť skupiny komponentov
« Odpověď #1 kdy: 19-09-2018, 09:18:27 »
Je nějaký důvod, proč si neudělat víc datamodulů?

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 3526
  • Karma: 35
    • Verze Delphi: XE7 professional
Re:DataModul - ako si tam vytvoriť skupiny komponentov
« Odpověď #2 kdy: 19-09-2018, 10:38:23 »
Hm, to nie je riešenie. Daný DataModul nie je súčasťou projektu a pre každých 12 - 15 komponentov vytvárať nový DM? To by ich bolo trochu veľa.
Nie je to zas kritické, ale pomohlo by mi to.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline pepak

  • Guru
  • *****
  • Příspěvků: 1357
  • Karma: 31
    • Pepak.net
Re:DataModul - ako si tam vytvoriť skupiny komponentov
« Odpověď #3 kdy: 19-09-2018, 11:02:16 »
Obávám se, že jiné řešení nenajdeš.

Mám-li být zcela upřímný, ve své praxi mám dojem, že datamoduly jsou spíš pro zlost než pro co jiného a že mě mnohem lépe vyjde, když si na nevizuální úlohy udělám jednoduchý objekt, který všechny požadované komponenty obalí, ale vytvoří si je v runtimu (v konstruktoru nebo v jednotlivých getterech).

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2275
  • Karma: 123
    • Verze Delphi: D2007, XE3, DX10
Re:DataModul - ako si tam vytvoriť skupiny komponentov
« Odpověď #4 kdy: 19-09-2018, 11:32:36 »
Hm, to nie je riešenie. Daný DataModul nie je súčasťou projektu
A jak to s tim souvisi? Mame treba spolecne DM, ktere jsou soucasti konfigurace rodiny aplikaci apod.

Citace
a pre každých 12 - 15 komponentov vytvárať nový DM? To by ich bolo trochu veľa.
My to tak delame a na DM je prostorove oddelujeme mezerama viz priklad DM s daty pro dvojici fast reportu: objednavka + souhrn objednavek viz prilozeny obrazek. A asi se stim vic udelat neda.

Jinak stejne jako pepak nejsem priznivcem DM, ale mam dojem, ze u FR se bez nich clovek neobejde, protoze tam lezou po DM a delaji veci, ktere po nich clovek vubec nechce. Pak uz je pouzivam jen jako container na SQL prikazy, kdyz s nimi musim pracovat: na DM nasazim TFDCommandy a do/z nich kopiruju SQL prikazy mezi nejakym RDBMS manazerem. Vse odstatni delam v RT.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 3526
  • Karma: 35
    • Verze Delphi: XE7 professional
Re:DataModul - ako si tam vytvoriť skupiny komponentov
« Odpověď #5 kdy: 19-09-2018, 11:57:54 »
Tými medzerami to riešim teraz.
Citace
ale mam dojem, ze u FR se bez nich clovek neobejde, protoze tam lezou po DM a delaji veci, ktere po nich clovek vubec nechce.
Preto ho mám, aby som vôbec dokázal vytvoriť a spravovať zostavy. Počas behu aplikácie ho vôbec nepotrebujem. Všetko si vytváram za behu.
Môj DM vyzerá takto
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2058
  • Karma: 91
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:DataModul - ako si tam vytvoriť skupiny komponentov
« Odpověď #6 kdy: 20-09-2018, 17:30:57 »
[Jinak stejne jako pepak nejsem priznivcem DM, ale mam dojem, ze u FR se bez nich clovek neobejde, protoze tam lezou po DM a delaji veci, ktere po nich clovek vubec nechce. Pak uz je pouzivam jen jako container na SQL prikazy, kdyz s nimi musim pracovat: na DM nasazim TFDCommandy a do/z nich kopiruju SQL prikazy mezi nejakym RDBMS manazerem. Vse odstatni delam v RT.

Pokud FR znamena FastReport, tak mozu s klidnym svedomim rict, ze FR vytvarim za behu (resp. mam jeden formular s prazdnym reportem a dalsimi komponentami jako myslim filtry atd.)  a sestavy do nej a z nej streamuji z DB bez zadneho datamodulu.
Pokud oteviram report z DB tak testuji nejakou podminku a pokud je splnena tak report otevru v runtime designeru, tak to muzu primo upravovat bez rekompilace programu.

V Designeru to nadesignuji a ulozim do DB do blobu - popisoval jsem to implementacne i se zdrojakem na delphi.cz

DataModul po zkusenostech pouzivam v podstate jen jako container pro ImageList, zbytek jak pise pepak za behu, vcetne generovani SQL.

Embarcadero MVP - Czech republic

Offline martinnr

  • Plnoletý
  • ***
  • Příspěvků: 161
  • Karma: 2
    • Verze Delphi: 7,2009,XE7
Re:DataModul - ako si tam vytvoriť skupiny komponentov
« Odpověď #7 kdy: 21-09-2018, 07:55:04 »
velmi skarede riesenie: umiestnit hocijaku komponentu nevizualnu, napr DataSource, ktoru sice nikde nepouzijes, a jej meno das "i___________________________________________________"
:-O :-O :-O :-O :-O :-O :-O :-O
skarede a je to len vodorovne oddelovanie. ale aspon ciara... ;-)
berte to skor ako forik "pro nasi malou"...

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 3526
  • Karma: 35
    • Verze Delphi: XE7 professional
Re:DataModul - ako si tam vytvoriť skupiny komponentov
« Odpověď #8 kdy: 21-09-2018, 08:45:09 »
Načo všetko prídu ľudia ;D ;D ;D ;D 
Celkom sa mi to páči. Kedže ten DM nie je súčasťou projektu, tak je jedno ak bude zanešvárený podobnými vecami.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Delfin

  • Guru
  • *****
  • Příspěvků: 1216
  • Karma: 53
  • SW konzultant
    • Verze Delphi: 2009, Tokyo
Re:DataModul - ako si tam vytvoriť skupiny komponentov
« Odpověď #9 kdy: 22-09-2018, 03:35:34 »
Načo všetko prídu ľudia ;D ;D ;D ;D 
Celkom sa mi to páči. Kedže ten DM nie je súčasťou projektu, tak je jedno ak bude zanešvárený podobnými vecami.

Verim ze by se dal vytvorit i v data modulu nejaky zalozkovac (ve stylu tab controls), ale ne bez Open Tools API. Chybi jim to, coz by feature request na quality central mohl do budoucna vyresit (neni to zly napad). Ja uz se Delphi QC ucastnit nechci. Jen si nejspis posledne zakoupene Delphi nainstaluji stranou az zbude cas, protoze ted nemam nejak ani zajem... Ovsem kdyby nekdo potreboval pomocnika s projektem (dejte vedet pres soukrome zpravy).

Jinak Delphi uz asi poustim z hlavy, byt hrozne nerad, ale takova je trzni realita. Nebudu zacinat multiplatformni aplikaci (na kterou se ted chystam) v Delphi. Bohuzel. Co se tyce Windows platformy mi u EMBT toho desne moc chybi, a to nejen na Windows...

A to ani nevim jak pohnu s temi clanky ohledne FireDAC. Mam ted seznam veci, jenz maji prednost. Ale kdyz uz jsem je slibil. Jen to nadseni opadlo (prijde mi to jako ten odevzdany pribeh jednoho z developeru kompilatoru Delphi). Snad nejaka motivace ohledne tech clanku, hm? Susenky nebo tak? :)
« Poslední změna: 22-09-2018, 04:05:25 od Delfin »
I'm a soldier, so don't panic! I know the underground! I like WTFPL license! No more Google, go duck, go!

Offline miroB

  • Hrdina
  • ****
  • Příspěvků: 376
  • Karma: 14
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Re:DataModul - ako si tam vytvoriť skupiny komponentov
« Odpověď #10 kdy: 22-09-2018, 13:42:58 »
..
Jen si nejspis posledne zakoupene Delphi nainstaluji stranou az zbude cas, protoze ted nemam nejak ani zajem... Ovsem kdyby nekdo potreboval pomocnika s projektem (dejte vedet pres soukrome zpravy).

Jinak Delphi uz asi poustim z hlavy, byt hrozne nerad, ale takova je trzni realita. Nebudu zacinat multiplatformni aplikaci (na kterou se ted chystam) v Delphi. Bohuzel. Co se tyce Windows platformy mi u EMBT toho desne moc chybi, a to nejen na Windows...
Škoda.. Pre mňa boli tvoje odpovede veľkým prínosom.
Na rozpracovanom projekte som mesiac neurobil ani čiarku. Plánovane. Lebo vnúčatá..
Začínam sa znovu rozbiehať. Ťažké. Plnú rýchlosť sa mi podarí nabrať za týždeň/dva. Bude mi chýbať, ak nebudeš vedieť pomôcť.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2275
  • Karma: 123
    • Verze Delphi: D2007, XE3, DX10
Re:DataModul - ako si tam vytvoriť skupiny komponentov
« Odpověď #11 kdy: 22-09-2018, 16:32:42 »
Pokud FR znamena FastReport, tak mozu s klidnym svedomim rict, ze FR vytvarim za behu (resp. mam jeden formular s prazdnym reportem a dalsimi komponentami jako myslim filtry atd.)  a sestavy do nej a z nej streamuji z DB bez zadneho datamodulu.
U nas davaji kolegove ten prazdny report na DM spolu s DB. Nikdy jsem nezkoumal, proc to tak delaji. Ja se s FR potkavam sporadicky a delam to stejne jako kolegove, aby to bylo jednotne.  A zadnou radost z FR nemam, zejmena kdyz je treba z nej vydojit neco slozitejsiho. Uz si nepamatujuju, s cim jsem o prazdninach zapasil a musel vyhledat pomoc, ale nejak to souviselo s tim, ze si 'neco' automaticky probehlo 'FR bratrance' ve spolecnem kontejneru (DM) a nekde neco poprenastavovalo (zprasilo) :-(

Citace
Pokud oteviram report z DB tak testuji nejakou podminku a pokud je splnena tak report otevru v runtime designeru, tak to muzu primo upravovat bez rekompilace programu.
Tohle taky kolegove kdysi udelali - maji preview form a v nem se pomoci hotkeys da otevrit designer nebo mame ve frameworku option, ze se pro potreby vyvoje a ladeni otevira automaticky pri kazdem reportu. Jen ty reporty nechavame valet po disku v namespacu aplikace.

Ma to tu vyhodu, ze kdyz se objevi chyba v reportu napr. kdyz zeme platici EUR chteji zobrazovat centy a u CZK ne a my ten report mame blbe, tak staci emajlem poslat opraveny report. Ovsem nevyhodou je, ze BFA v tom maji bordel resp. dnes je velka moda, ze to po odpolednich pokazde administruje jiny pionyr, takze se na support vraceji jiz opravene zalezitosti...

« Poslední změna: 22-09-2018, 16:34:20 od pf1957 »

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2275
  • Karma: 123
    • Verze Delphi: D2007, XE3, DX10
Re:DataModul - ako si tam vytvoriť skupiny komponentov
« Odpověď #12 kdy: 22-09-2018, 16:43:32 »
Jinak Delphi uz asi poustim z hlavy, byt hrozne nerad
To by me zajimalo, z ceho prameni ta nostalgie.

Ja v nem ted par mesicu musel delat a neustale jsem si rikal: OMG, jak v tom nekdo muze delat? Po vsech strankach - od zastaralaho IDE, ktere se spis plete pod ruce, nez aby pomohlo, pres jazyk po knihovny a frameworky... A to jsem se nastesti zda se zbavil nutnosti implementovat ADFS...

Offline Delfin

  • Guru
  • *****
  • Příspěvků: 1216
  • Karma: 53
  • SW konzultant
    • Verze Delphi: 2009, Tokyo
Re:DataModul - ako si tam vytvoriť skupiny komponentov
« Odpověď #13 kdy: 22-09-2018, 23:17:56 »
Great
Rated 1 time
To by me zajimalo, z ceho prameni ta nostalgie.

Z me blbosti. Niceho jineho :) Z toho ze jsem s Delphi zacal programovat (ve stejny cas 8080 assembler, pak nejaky assembler s Atmel AVR). Pak C, C++. Ale to nic z toho nebylo "klikaci" tak jako Delphi. V dnesni dobe, uz ne (radeji C#, a to uz pomerne dlouho). Stejne tak uz ovsem dlouho Delphi neni muj primarni jazyk. Jen jsem se snazil sem tak lidi tady trochu nasmerovat. Asi ztrata casu, nakonec.

Škoda.. Pre mňa boli tvoje odpovede veľkým prínosom.
Na rozpracovanom projekte som mesiac neurobil ani čiarku. Plánovane. Lebo vnúčatá..
Začínam sa znovu rozbiehať. Ťažké. Plnú rýchlosť sa mi podarí nabrať za týždeň/dva. Bude mi chýbať, ak nebudeš vedieť pomôcť.

Dekuji. Mam taky po doolene. A jak uz jsem uvedl, nebudu nejspis prispivat ke vsem tematum, a bude (doufam) mozne me zastihnout na soukromych zpravach. Nemam uz moc zajem tu radit jednoducha reseni pro pripad kdy se da sestavit kus raketoplanu. Osobne by me zajimal zpusob sestaveni pluginu pro trideni non-visual komponent v data modulu, ale nemam uz pro to motivaci ani cas. I tak Miro dekuji za hodnoceni; muzeme nejak zustat v kontaktu...
I'm a soldier, so don't panic! I know the underground! I like WTFPL license! No more Google, go duck, go!

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2058
  • Karma: 91
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:DataModul - ako si tam vytvoriť skupiny komponentov
« Odpověď #14 kdy: 23-09-2018, 09:47:05 »
Excellent
Rated 1 time
Z me blbosti. Niceho jineho :) Z toho ze jsem s Delphi zacal programovat (ve stejny cas 8080 assembler, pak nejaky assembler s Atmel AVR). Pak C, C++. Ale to nic z toho nebylo "klikaci" tak jako Delphi. V dnesni dobe, uz ne (radeji C#, a to uz pomerne dlouho). Stejne tak uz ovsem dlouho Delphi neni muj primarni jazyk. Jen jsem se snazil sem tak lidi tady trochu nasmerovat. Asi ztrata casu, nakonec.

Zatím jsem kromě Delphi a C++ a Javy (s vyjimkou toho nového licenčního problému, který Javu velmi poškodí) nenašel žádný nástroj, kdy i za deset let budu schopen projekt udržovat. Asi se pohybuji v jiné části komerčního spektra, kdy se od mého programu nepředpokládá, že ho co 2 roky restartnu. Ale to se tu už několikrát probíralo. Hodně záleží co člověk a pro koho dělá.

Z celého srdce si myslím, že Delphi je nejlepší volba pro vývoj klientským aplikací pro Windows. Pro jiné platformy je to ke zvážení, jsou tam plusy i minusy.
Strašně mne štve mobilní vývoj, kdy správce platformy pořád mění API.

Jo a C# je slušné řešení na serveru nebo pro nevizuální vývoj.

A pro jistotu: znám opravdové trendy prodeje Delphi, které jsou stabilně mírně stoupající.

Obrázek je za 1000 slov: http://www.commitstrip.com/en/2018/09/21/how-long-it-will-be-alive/?

Citace
..
Nemam uz moc zajem tu radit jednoducha reseni pro pripad kdy se da sestavit kus raketoplanu. Osobne by me zajimal zpusob sestaveni pluginu pro trideni non-visual komponent v data modulu, ale nemam uz pro to motivaci ani cas. I tak Miro dekuji za hodnoceni; muzeme nejak zustat v kontaktu...

Každé programátorské forum je plné příspěvků pro začátečníky a všichni trpí syndromem vyhoření, takže se tím netrap. Velmi ocenuji lidi jako tebe nebo právě PF (a další), kteří to nemají za potřebí ale přece jen poradí.

Embarcadero MVP - Czech republic

 

S rychlou odpovědí můžete používat BB kódy a emotikony jako v běžném okně pro odpověď, ale daleko rychleji.

Jméno: E-mail:
Ověření:
Datový typ v Delphi, který má True a False: