Autor Téma: Moje MCVE - pripomienky a návrhy  (Přečteno 624 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4223
  • Karma: 37
    • Verze Delphi: XE7 professional
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #15 kdy: 20-05-2019, 17:33:25 »
Citace
Je, ale duvod proc nepouzivas DB aware komponenty je protoze si chces prizpusobit funkcionalitu, nebo k tomu mas jiny duvod?
Keď som bol nútený sa ich vzdať, tak som TMS nemal. Problém bol s určitou funkčnosťou. Neviem či tam boli aj chyby. Mám pocit, že áno. Než mať problémy, tak som ich obišiel. A nie som, z tohto dôvodu, sám.
Teraz silne rozmýšľam, žeby som tie DB TMS mohol nasadiť. Len neviem ako riešiť automatickú kontrolu a vlastnosť Desired. Možno ostanem pri TDBEditControl, ktorý bude mať menej vlastností. A nebudem sa starať o zobrazené hodnoty - to by som komplet vyhodil.
DBGrid určite nepoužijem. Môj zlatý VST.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline miroB

  • Hrdina
  • ****
  • Příspěvků: 450
  • Karma: 16
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #16 kdy: 20-05-2019, 19:11:11 »
Zdá sa, že ti ide aj o nejaký data aware grid.
V TMS je TDBAdvGrid, odvodený z TAdvStringGrid.
Ten je kompatibilný s TMS štýlmi. Od Office 2003 Blue až po Office 2016 Black, plus Metro Light a Metro Dark.
Upravené demo zobrazuje cca 25 "TMS" štýlov. Pozri png a zip v prílohe.
Zatiaľ sa mi zdá, že celá aplikácia by komplet mohla byť na báze štýlov TMS.
Pravda aj ja používam VST. Tiež sa ho nechcem vzdať. Zatiaľ neviem s istotou, ako to vyriešim.
Intenzívne študujem TMS, aby som sa rozhodol, akou cestou sa vybrať. Mnohé veci fungujú ozaj pekne. Mám zatiaľ veľký rešpekt.
Prikladám vzhľad 6 z cca 25 štýlov, ktoré ponúka TMS.
Je to vylepšené demo z "Demos\AdvToolBar\Office2010Metro".
  • Sú dorobené všetky štýly, ktoré aktuálne TMS podporuje. Ich zoznam je jasný z obrázku
  • TStringGrid som nahradil TAdvStringGrid-om, aby prevzal štýly
Je pravdepodobné, že by tam rovnako dobre fungoval aj TAdvDBGrid, namiesto TAdvStringGrid-u
Viaceré screeny, z dema sú uložené ako png. Pozerám, že príloha png sa mi moc pekne nezobrazuje. V zip archíve sú aj ďalšie. IrfanView png-čka zobrazuje podstatne krajšie, ako vidím tu cez web.
« Poslední změna: 20-05-2019, 19:21:39 od miroB »

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4223
  • Karma: 37
    • Verze Delphi: XE7 professional
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #17 kdy: 20-05-2019, 19:42:58 »
Citace
Zdá sa, že ti ide aj o nejaký data aware grid.
To si vôbec netrafil. Ja tu riešim celkový koncept môjho riešenia. Vyzerá to tak, že:
  • ostanem pri tom čo mám
  • použijem DB TMS komponenty. To sa mi dvakrát nechce. Myslím si, že mi to prakticky nič neprinesie. Akurát vyhodím nejaký kód. Ale v tom prípade budem musieť vyriešiť základnú automatickú kontrolu údajov. Tá mi stačí v 90 - 95%. Ďalšiu kontrolu robím len v prípade nejakých väzieb medzi údajmi. Kvôli tomu asi budem musieť ponechať aj pôvodné riešenie s TDBEditCtrl. Pokiaľ mi niečo alebo niekto neosvieti rozum
V žiadnom prípade nechcem rozširovať vlastnosti TMS komponentov. Kto by sa o to potom staral. Jedine, žeby sa to dalo urobiť nejako hromadne na pozadí.
Ja mám vyriešený aj "style" pre VST. Užívateľ si môže vybrať buď bielu farbu pozadia, alebo podľa panela = štýlu. Tieňované, tmavé a svetlé. Tak isto si môže vybrať farbu čiar (mriežky) a iné. Dával som tu snímky s tým, že v prípade záujmu som ochotný to poskytnúť. Nikto sa neprihlásil.
Ja pri tom VST dosť čarujem s farbami + preťahujem medzi nimi uzly. Dosť som sa s tým natrápil. Keby som použil iný komponent, tak neviem či by som to zvládol.
Dosť dlho mi trvalo, kým sa s VST naučil ako-tak pracovať. A teraz by som to zahodil? Vďaka nemu mám jednotný štýl cez celú aplikáciu. Či sa jedná o tabuľky alebo stromy.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4223
  • Karma: 37
    • Verze Delphi: XE7 professional
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #18 kdy: 20-05-2019, 19:45:58 »
Pre istotu Ťa upozorňujem, keď si to tu ešte nečítal, že nie všetky štýly v TMS majú rovnaké názvy, poradie a rovnaký počet!
Edit:
Neviem či si na to natrafil. Majú zvlášť štýl Metro, kde si môžeš zvoliť ľubovoľnú farbu. + tmavý či svetlý, ako to máš v ukážke.
« Poslední změna: 20-05-2019, 19:50:09 od Stanislav Hruška »
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline miroB

  • Hrdina
  • ****
  • Příspěvků: 450
  • Karma: 16
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #19 kdy: 20-05-2019, 20:31:41 »
Pre istotu Ťa upozorňujem, keď si to tu ešte nečítal, že nie všetky štýly v TMS majú rovnaké názvy, poradie a rovnaký počet!
Edit:
Neviem či si na to natrafil. Majú zvlášť štýl Metro, kde si môžeš zvoliť ľubovoľnú farbu. + tmavý či svetlý, ako to máš v ukážke.
Áno, viem o tom. Demo som upravil tak, aby akceptovalo rozdiely:
AdvStyleIF.TTMSStyle vs AdvToolBarStylers.TToolBarStyle
Rozdielov nie je veľa. TToolBarStyle obsahuje navyše bsOfficeXP. To je jediné. Inak je už poradie rovnaké.
Úpravu mám na dvoch miestach v danom demo: vo FormCreate (načítanie do ComboBoxu) a v ComboBox1Change (ošetrené rozdiely).
vyriešil som to raz a prevždy, aby som nemusel všade ručne cpať tie zoznamy.
Nikde ich nemajú všetky. To sa mi nepáčilo.
Stačí aby som tie dve veci hodil do každého TMS dema, kde sú štýly.
Ako vidieť z obrázkov, funguje aj Metro aj Office, aj všetky Windows štýly od XP po Win 10.
Je to skontrolované. Neposlal som všetkých 25, lebo by presahovali 500 kB.
« Poslední změna: 20-05-2019, 20:53:43 od miroB »

Offline miroB

  • Hrdina
  • ****
  • Příspěvků: 450
  • Karma: 16
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #20 kdy: 20-05-2019, 20:45:27 »
Citace
V žiadnom prípade nechcem rozširovať vlastnosti TMS komponentov. Kto by sa o to potom staral. Jedine, žeby sa to dalo urobiť nejako hromadne na pozadí.
Hodlám používať len TMS komponenty, ktoré akceptujú štýly. Preto sa s tým dosť hrajem. Aby som nešiel naslepo.
Citace
Ja pri tom VST dosť čarujem s farbami + preťahujem medzi nimi uzly. Dosť som sa s tým natrápil. Keby som použil iný komponent, tak neviem či by som to zvládol.
Dosť dlho mi trvalo, kým sa s VST naučil ako-tak pracovať. A teraz by som to zahodil? Vďaka nemu mám jednotný štýl cez celú aplikáciu. Či sa jedná o tabuľky alebo stromy.
Podobne..
Pokúsim sa ísť tou cestou, že vyberiem TMS štýl, ktorý sa bude podobať na VST. Aj VST trochu poladím. Nepotrebujem hogo-fogo. Vzhľad len taký, aby bolo všetko dobre rozoznať. Na čierne, či veľmi tmavé pozadia zatiaľ nemyslím.
Aj keď to dynamické menenie 25 štýlov v TMS je fakt pôsobivé. Celá aplikácia naraz. Bez akýchkoľvek veľkých úprav. Na to  majú v TMS TAdvFormStyler, ktorý zmení štýl vštkých komponentov, čo sú na to navrhnuté.  Vrátane TAdvStringGrid a TDBStringGrid. Zdá sa, že takých komponentov je tam mnoho.

Offline miroB

  • Hrdina
  • ****
  • Příspěvků: 450
  • Karma: 16
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #21 kdy: 20-05-2019, 22:15:09 »
Pre istotu Ťa upozorňujem, keď si to tu ešte nečítal, že nie všetky štýly v TMS majú rovnaké názvy, poradie a rovnaký počet!
Edit:
Neviem či si na to natrafil. Majú zvlášť štýl Metro, kde si môžeš zvoliť ľubovoľnú farbu. + tmavý či svetlý, ako to máš v ukážke.
Áno, viem o tom. Demo som upravil tak, aby akceptovalo rozdiely:
AdvStyleIF.TTMSStyle vs AdvToolBarStylers.TToolBarStyle
Rozdielov nie je veľa. TToolBarStyle obsahuje navyše bsOfficeXP. To je jediné. Inak je už poradie rovnaké.
Opravujem je tu ďalší štýl: AdvMenuStylers.TOfficeStyle. Je určený pre Menu. Ten nemá "Office 2003 Classic" a "Windows XP". A je trochu viac rozhádzaný. Ale vyriešim aj to, aby som nestrácal čas s demami.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4223
  • Karma: 37
    • Verze Delphi: XE7 professional
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #22 kdy: 21-05-2019, 08:35:01 »
Ak máš záujem, tak Ti môžem poslať na to hotové riešenie.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline miroB

  • Hrdina
  • ****
  • Příspěvků: 450
  • Karma: 16
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #23 kdy: 21-05-2019, 11:38:28 »
Ak máš záujem, tak Ti môžem poslať na to hotové riešenie.
Jasne, že mám záujem. Rád pošlem aj to svoje. Len, aby sme sa náhodou neprevinili voči licencii.
Moje aktualizované zoznamy štýlov sú na obrázku. V každom riadku je len kompatibilný štýl. Screen je z MS Excel tabulky. Štýl TAdvPanelStyle, bol rozhádzaný najviac.
Poznámka: TAdvPanelStyle v kombinácii so všetkými ostatnými TMS spôsobil haváriu demo programu. Tomu by som sa vyhýbal.
Poznámka: Štýly VCL a TMS nepoužívať v jednom programe. Je to dôvod havárie dema!
Moja prvotná požiadavka bola možnosť kvalitného menu - Štýly som riešil v rámci prieskumu.
« Poslední změna: 21-05-2019, 11:45:01 od miroB »

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4223
  • Karma: 37
    • Verze Delphi: XE7 professional
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #24 kdy: 21-05-2019, 12:03:26 »
V prílohe.
Ten Excel si si mohol ušetriť. Stačilo si ho vypýtať ;D
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline miroB

  • Hrdina
  • ****
  • Příspěvků: 450
  • Karma: 16
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #25 kdy: 21-05-2019, 12:50:53 »
Fiiha, ďakujem. Vidím tam JSON a RTTI !

Moje riešenie je jednoduché pre rýchlu potrebu.
Pripájam kód ako doplnok:
  • demo: \tmssoftware\TMS Component Pack\Demos\AdvToolBar\Office2010Metro\Office2010Demo.dproj
  • a na báze Excel tabuľky TMS štýlov. Viď aj obr. v príspevku vyššie.
TToolBarStyle je použitý ako základ pre naplnenie riadiaceho ComboBoxu
Sú vyriešené zoznamy štýlov:
  • TToolBarStyle,   TTMSStyle,   TOfficeStyle
  • Metro Dark a Light
  • Nie je rieseny styl : TAdvPanelStyle. Dal by sa riesit podobne ako je "case AdvFormStyler1.Style of"
Malo by fungovať hneď po dosadení do projektu Office2010Demo.dproj.
Pozor:
- FormCreate : treba skombinovať so stávajúcim kódom dema
- ComboBox1Change je komplet
« Poslední změna: 21-05-2019, 12:57:19 od miroB »

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4223
  • Karma: 37
    • Verze Delphi: XE7 professional
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #26 kdy: 21-05-2019, 13:05:33 »
JSON používam na uloženie informácii o aplikácii.
RTTI je tam jedine kvôli získaniu názvu vymenovanej položky. Ináč s ním nikdy nepracujem. Pre mňa to už je vyššia škola.
Riešenie je univerzálne a nezávislé na prípadných zmenách v budúcnosti. Ak by nastali, tak je potrebné vykonať kontrolu a prípadne to upraviť.
Písal si, že FormStyler sa postará o všetko čo je na ňom. Podľa mňa to nie je pravda. Netestoval som to. Skús si nahodiť PageControl.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline miroB

  • Hrdina
  • ****
  • Příspěvků: 450
  • Karma: 16
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #27 kdy: 21-05-2019, 13:25:24 »
Písal si, že FormStyler sa postará o všetko čo je na ňom. Podľa mňa to nie je pravda. Netestoval som to..
Máš pravdu ty. Napr. ani AdvTreeView sa nechytá.
Vychádzal som z TMS "TAdvStringGrid Developers Guide.pdf", citujem:
"This means that with a TAdvFormStyler on the form, setting the style on this component will automatically change the style of all TMS components on the form that are TMS style interface compliant and thus also TAdvStringGrid."
U každého komponentu treba preto pozrieť návody na "TMS style interface compliant", alebo si prakticky overiť.
..Skús si nahodiť PageControl.
Zrovna alternatívy PageControl majú "pokryté", ako som vyrozumel z rôznych demo. Pozri napr: TMS TAdvOfficePager.pdf
« Poslední změna: 21-05-2019, 13:33:36 od miroB »

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4223
  • Karma: 37
    • Verze Delphi: XE7 professional
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #28 kdy: 21-05-2019, 14:18:06 »
Čaro TMS nie je v štýloch, ale v ich funkčnosti. To akurát môžeme robiť machrov pre užívateľmi akí sme šikovní :D a koľko sme sa museli natrápiť kým sme to zmakli. Vraj to už vyšlo/vychádza z módy.
Taký AdvEdit je pre mňa úžasný. Použijem jediný druh komponentu na zobrazenie x typov. Druhý je StringGrid, kde si môžeš napchať čo chceš. Ja som s ním ešte nepracoval, ale Daniel Andraščík si bez neho svoje aplikácie nevie predstaviť.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline miroB

  • Hrdina
  • ****
  • Příspěvků: 450
  • Karma: 16
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #29 kdy: 21-05-2019, 15:35:18 »
Čaro TMS nie je v štýloch, ale v ich funkčnosti..
To je na diskusiu.. Na príklade "Office2010Demo.exe" je vidieť, že aj vlastnosti Menu sa menia na báze štýlov. Porovnaj klik na menu "File" pre novšie a staršie štýly.
Ba už aj prvý vzhľad menu nie je rovnaký.
Je to vlastne tvar office verzii pred 2007, pri 2007 a po 2010.
Alebo tiež štýly od win 7 vrátane. Menu "File" tak produkuje rozne zobrazenia, v zavislosti od stylov