Autor Téma: Význam nepoužitia TButton  (Přečteno 2302 krát)

Offline František

  • Guru
  • *****
  • Příspěvků: 576
  • Karma: 6
    • Verze Delphi: primárne v XE5, občas 10.2.3 comunity
Význam nepoužitia TButton
« kdy: 02-08-2016, 12:42:06 »
dostal sa mi do rúk projekt, kde autor kreslí všetky ovládacie a zobrazovacie prvky na TImage a vobec tam nepouziva TButton, Tlabel a ine ..grafy, tabuľky ... sem tam sa nejaka komponenta mihne ale mám dojem že do už tak doplnil niekto ďaľlší
autor je uz tatam...
a mne unika význam a výhody ....
vie mi na to niekto odpovedať? stretli/použili ste také niečo?

Offline < z >

  • Administrátoři
  • Guru
  • *****
  • Příspěvků: 1146
  • Karma: 44
    • Verze Delphi: 7, 2010
Re:Význam nepoužitia TButton
« Odpověď #1 kdy: 02-08-2016, 12:51:13 »
Třeba nevěděl, co to button je, a nebo chtěl vytvořit omalovánky :)
(dnes se tomu říká "skiny" nebo "témata")

Offline forget123

  • Mladík
  • **
  • Příspěvků: 76
  • Karma: 3
    • Verze Delphi: XE6
Re:Význam nepoužitia TButton
« Odpověď #2 kdy: 02-08-2016, 12:56:29 »
Napada ma:
- V D7 sa buttonu neda zmenit farba
- TButton ma fokus (bez fokusu je napr. TSpeedButton)
- TImage je "skinovatelny", mozno bol taky zamer

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2931
  • Karma: 135
    • Verze Delphi: D2007, XE3, DX10
Re:Význam nepoužitia TButton
« Odpověď #3 kdy: 02-08-2016, 15:28:15 »
a mne unika význam a výhody ....
Takto polozena otazka IMO nema odpoved, protoze zalezi na charakteru aplikace, poctu widgetu aj.

Offline JaroB

  • Guru
  • *****
  • Příspěvků: 1003
  • Karma: 28
    • Verze Delphi: XE8, Seattle
Re:Význam nepoužitia TButton
« Odpověď #4 kdy: 02-08-2016, 21:02:20 »
Existují free alternativní komponenty např. CorrelButton, AlButton, ColorButton, ButtonWithColor a další alternativy TBitBtn. Stačí se podívat např. na www.torry.net a hledat ty pro Delphi 7, jsou jich mraky

Offline Marek Weyda

  • Hrdina
  • ****
  • Příspěvků: 254
  • Karma: 8
    • Verze Delphi: Delphi 2007, 10.1 Berlin
Re:Význam nepoužitia TButton
« Odpověď #5 kdy: 03-08-2016, 07:37:43 »
dostal sa mi do rúk projekt, kde autor kreslí všetky ovládacie a zobrazovacie prvky na TImage a vobec tam nepouziva TButton, Tlabel a ine ...

Tak to je opravdu zajímavé, já jsem se setkal s něčím podobným, kdy projekt ve staré Delphi 7 byl dělán obdobně, jak píšeš, také jsme úplně nevěděli proč, ale údajně to bylo kvůli optimalizaci na dotyková zařízení. Pak mě ještě napadá jeden důvod: někteří programátoři za každou cenu chtějí dělat věci jinak, než to dělají ostatní v týmu. V každém případě je to dost zajímavé. Jedná se o nějaký rozsáhlejší projekt nebo je to menší aplikace ?

Offline JaroB

  • Guru
  • *****
  • Příspěvků: 1003
  • Karma: 28
    • Verze Delphi: XE8, Seattle
Re:Význam nepoužitia TButton
« Odpověď #6 kdy: 03-08-2016, 08:06:54 »
Tímhle způsobem se dělají některé druhy her, příp. jejich úvodní nebo ukončovací (intro, game over, credits) obrazovky, nemusí to být zrovna TImage, někdy stačí i paintbox nebo nějaký jiný, šikovný potomek graphiccontrol.
Třeba to dělají jen proto, že to jinak neumí...

Offline František

  • Guru
  • *****
  • Příspěvků: 576
  • Karma: 6
    • Verze Delphi: primárne v XE5, občas 10.2.3 comunity
Re:Význam nepoužitia TButton
« Odpověď #7 kdy: 03-08-2016, 09:40:20 »
...  ale údajně to bylo kvůli optimalizaci na dotyková zařízení.
Jedná se o nějaký rozsáhlejší projekt nebo je to menší aplikace ?
je možné to dotykové ...
je to rozsiahlejší projekt ...

na dateve struktury používa recordy a pointre ... ide to do veľkých hĺbok .. aj tie vykreslované prvky sú uložené v recordoch
DB je skoro nevyužité, aj keď sa na tom podpisalo už par ďalších programátorov, ktorý to zmenili ....

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2931
  • Karma: 135
    • Verze Delphi: D2007, XE3, DX10
Re:Význam nepoužitia TButton
« Odpověď #8 kdy: 03-08-2016, 09:54:35 »
na dateve struktury používa recordy a pointre ... ide to do veľkých hĺbok .. aj tie vykreslované prvky sú uložené v recordoch
Tak to bych se klonil k nazoru JaroB, ze to programator jinak neumel a nebyl ochoten se ucit neco noveho. Nejspis neco takoveho programoval jeste pred nastupem objetkovych knihoven tj. pred Turbo Vision, tak v tom pokracoval a delal si vsechno sam.

Taky jsem upravoval rozsahly projekt, ktery kdysi v dobe D1 zacal nejaky neobjektovy Cckar. Ten aspon vedel, co a proc dela.
Ale pak se v tom hrabalo hafo dalsich prasat. Musim rict, ze jsem nikdy nevidel hur zprasenej projekt, jeste ted je mi nabliti, kdyz si na to vzpomenu  >:(

Offline JaroB

  • Guru
  • *****
  • Příspěvků: 1003
  • Karma: 28
    • Verze Delphi: XE8, Seattle
Re:Význam nepoužitia TButton
« Odpověď #9 kdy: 03-08-2016, 10:11:00 »
To ale není nic proti tomu, když programátor Javy přejde k Delphi a nastřílí a la java tisíce a tisíce tříd v super hierarchii stovek formulářů a extra všechno zapouzdří do gigového konfiguráku v xml ... to je fakt síla a kdo se potom v tom má vyznat, zvlášť když názvy objektových tříd mají konvenci typu "aaa999" (úspěšně pochybuju, že by si někdo pamatoval víc jak pětadvacet tisíc nativně generovaných a inteligentně překryvných identifikátorů)

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2931
  • Karma: 135
    • Verze Delphi: D2007, XE3, DX10
Re:Význam nepoužitia TButton
« Odpověď #10 kdy: 03-08-2016, 10:25:40 »
To ale není nic proti tomu, když programátor Javy přejde k Delphi a nastřílí a la java tisíce a tisíce tříd v super hierarchii stovek formulářů a extra všechno zapouzdří do gigového konfiguráku v xml ... to je fakt síla a kdo se potom v tom má vyznat, zvlášť když názvy objektových tříd mají konvenci typu "aaa999"
No ale to spis vypada, ze to programator Javy nepsal, ale proste popad kus prelozeneho (navic obfuskovaneho) Java kodu a prohnal to nejakym zpetnym prekladacem ev. nejakym konvertorem do Delphi a nejak to portoval do Delphi.

Offline Marek Weyda

  • Hrdina
  • ****
  • Příspěvků: 254
  • Karma: 8
    • Verze Delphi: Delphi 2007, 10.1 Berlin
Re:Význam nepoužitia TButton
« Odpověď #11 kdy: 03-08-2016, 10:26:24 »
To pf1957 a JaroB:

Tak jste mi před obědem oba zlepšili náladu :-) Jsem rád, že v tom nejsem sám :-) Protože to, co popisujete, mi také ledacos z praxe připomíná. A už jsem myslel, že jsem citlivka, když se mi z toho často chce taky zvracet. Holt prostě zatnout zuby, ale někdy je to fakt síla.

Offline JaroB

  • Guru
  • *****
  • Příspěvků: 1003
  • Karma: 28
    • Verze Delphi: XE8, Seattle
Re:Význam nepoužitia TButton
« Odpověď #12 kdy: 03-08-2016, 11:12:50 »
No, musím souhlasit, spousta her byla/je napsaných ještě v Delphi 5, a pokud to používá jen standardní komponenty, v tomto případě TImage, je to dobře přenositelné výš a vzhled záleží jen na těch obrázcích, ať už se tomu říká jakkoliv. Řídit se to dá taky dobře a vyměnit obrázky lze taky snadno. Pak už jde jen o vnitřní logiku kontrolérů...

Offline JaroB

  • Guru
  • *****
  • Příspěvků: 1003
  • Karma: 28
    • Verze Delphi: XE8, Seattle
Re:Význam nepoužitia TButton
« Odpověď #13 kdy: 03-08-2016, 11:18:40 »
Sorry, zřejmě jsem zareagoval na příspěvek, který mezitím zmiznul.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2931
  • Karma: 135
    • Verze Delphi: D2007, XE3, DX10
Re:Význam nepoužitia TButton
« Odpověď #14 kdy: 03-08-2016, 11:31:15 »
No, musím souhlasit, spousta her byla/je napsaných ještě v Delphi 5, a pokud to používá jen standardní komponenty, v tomto případě TImage, je to dobře přenositelné výš a vzhled záleží jen na těch obrázcích, ať už se tomu říká jakkoliv. Řídit se to dá taky dobře a vyměnit obrázky lze taky snadno. Pak už jde jen o vnitřní logiku kontrolérů...
Obecne s tim lze souhlasit, take treba u aplikaci pro visualizaci technologickeho procesu a jeji ovladani pres obrazovku aj.
Proto jsem psal, ze na to nelze na zaklade (jako vzdy u OP) ubohouckeho popisu problemu odpovedet, kdyz se nevi, wo co go...

Ale nestandardni renderovani widgetu nema nic spolecneho s opustenim resp. nepouzitim objektoveho navrhu.  Vzdyt polymorfismus se skoro v kazde ucebnici objektoveho programovani pro zacatecniky vyklada prave na vykreslovani objektu a jen naprosta "zizalka" nepouzije dedicnost a bude matlat recordy a pointery...  :o
« Poslední změna: 03-08-2016, 11:33:28 od pf1957 »