Poslední příspěvky

Stran: [1] 2 3 ... 10
1
Obecné / Re:Moje MCVE - pripomienky a návrhy
« Poslední příspěvek od Stanislav Hruška kdy Dnes v 09:28:00 »
Ešte dodatok.
Mám dva projekty. Uvedené MCV (PoBeS) a správu bytov. Pri PoBeS by som to asi nechal tak ako to je. Nie je to veľký projekt. Tá správa bytov je už iná káva a tam by som to teda prerobil.
2
Obecné / Re:Ako rozsekať reťazec if ... then ... elese if ...
« Poslední příspěvek od vandrovnik kdy Dnes v 09:21:14 »
Ale zato se dá do třídy dát virtual metoda, kterou potomci overridnou každý podle svého, a potom není potřeba řešit žádný "rozcestník", protože správná metoda se zavolá čistě na základě polymorfismu. - Nebo použít jiný obdobný mechanismus, když nejde udělat společného předka (interface, společná proměnná...).

Já měl právě za to, že tady řešíme případ, kdy autor dotazu nemůže měnit ty jednotlivé třídy, protože virtuální metody myslím zná a používá.
3
Obecné / Moje MCVE - pripomienky a návrhy
« Poslední příspěvek od Stanislav Hruška kdy Dnes v 09:11:35 »
Viď https://forum.delphi.cz/index.php/topic,16665.0.html príspevok #20
Citace
No (co se tyce toho puvodniho MCVE kodu z jineho dotazu), zacal bych tim jak si z tech TMS komponent vyrobit (tak trochu) "DB aware" komponenty nez mastit neco tak neprehledneho a komplikovaneho (delajiciho ve vysledku vice nez ma).
Vytvoriť "DB awareP bol jediný dôvod pre napísanie tohto riešenia. To už mi bolo vytknuté. Som si toho stavu vedomý. Ja som to vtedy ináč nevedel a na tom sa zatiaľ nič nezmenilo :'(  Dokonca som rád/hrdý, že sa mi vôbec niečo podarilo dať dokopy.
Aj preto som tam napísal, že beriem akékoľvek pripomienky.
PS:
To Delfin - ja som dúfal, veril a túžobne očakával, že urobíš kostru MCV (Model - riadenie - pohľad) z ktorej budem vychádzať. Aj si začal, ale potom som už nedostal žiadnu informáciu. Pozor! Nič nevyčítam. Veď si nič nesľúbil, čo bolo aj z oboch strán zdôraznené. Pracoval si aj na tom, aby si pri VST obišiel record.
Na internete som našiel len teóriu, ale podľa nej to nespravím. Keby bol nejaký príklad, tak snáď.
4
Obecné / Re:Ako rozsekať reťazec if ... then ... elese if ...
« Poslední příspěvek od pepak kdy Dnes v 05:59:00 »
Ale zato se dá do třídy dát virtual metoda, kterou potomci overridnou každý podle svého, a potom není potřeba řešit žádný "rozcestník", protože správná metoda se zavolá čistě na základě polymorfismu. - Nebo použít jiný obdobný mechanismus, když nejde udělat společného předka (interface, společná proměnná...).
5
Obecné / Re:Ako rozsekať reťazec if ... then ... elese if ...
« Poslední příspěvek od Delfin kdy Dnes v 02:52:15 »
P.S. pokud tedy slo o dotaz "Da se testovat typ tridy objektu jinak nez pomoci is operatoru?", pak je odpoved ne. Stale (aktualne Delphi Rio) se neda vytvorit case kod ve smyslu:

Kód: Delphi [Vybrat]
  1. case ObjectInstance.ClassType of
  2.   TClassOne: TClassOne(ObjectInstance).ExecClassOneMethod;
  3.   TClassTwo: TClassTwo(ObjectInstance).ExecClassTwoMethod;
  4. end;

Ovsem v kontextu kodu ze zminovaneho puvodniho MCVE (z jineho vlakna) by bylo na snade spis zmenit architekturu.
6
Obecné / Re:Ako rozsekať reťazec if ... then ... elese if ...
« Poslední příspěvek od Delfin kdy 18-05-2019, 23:05:09 »
Ako som písal, tak som si zmiešal dohromady dve veci. Keď som sem písal, tak som mal na mysli podmienky typu:

Kód: [Vybrat]
if cosi is Tnieco then

Dobra, takze jsme se dobrali k dotazu "Da se testovat typ tridy objektu jinak nez pomoci is operatoru?" Pfew ::) No (co se tyce toho puvodniho MCVE kodu z jineho dotazu), zacal bych tim jak si z tech TMS komponent vyrobit (tak trochu) "DB aware" komponenty nez mastit neco tak neprehledneho a komplikovaneho (delajiciho ve vysledku vice nez ma).
7
Obecné / Re:Ako rozsekať reťazec if ... then ... elese if ...
« Poslední příspěvek od vandrovnik kdy 18-05-2019, 23:03:02 »
Možná by šlo si udělat takový "rozcestník":
Kód: [Vybrat]
type tVolanaProcedura=procedure(x:tObject); // nebo procedure of object apod.
     tRozcestnik=class(tDictionary<tClass, tVolanaProcedura>);

Místo "ifů" bys pak z rozcestníku zkusil načíst proceduru a tu zavolat. Pokud teda jsou ty procedury taky na jedno brdo.
Výhodou by bylo, že bys nemusel spravovat jedno centrální místo s těmi "ify", místo toho by si třeba každá unita mohla přidat pár záznamů do rozcestníku pro "svoje" objekty. Ale nezkoušel jsem to a asi je to pro tenhle případ překombinované a nejpraktičtější bude ta sbírka "ifů" :-) (Pokud by to nešlo pro tClass, tak pro string by to jít mělo a předávalo by se tam objekt.ClassName.)
8
Obecné / Re:Ako rozsekať reťazec if ... then ... elese if ...
« Poslední příspěvek od Stanislav Hruška kdy 18-05-2019, 22:53:15 »
Ako som písal, tak som si zmiešal dohromady dve veci. Keď som sem písal, tak som mal na mysli podmienky typu:

Kód: [Vybrat]
if cosi is Tnieco then
9
Obecné / Re:Ako rozsekať reťazec if ... then ... elese if ...
« Poslední příspěvek od vandrovnik kdy 18-05-2019, 22:22:22 »
A jak vypadají ty jednotlivé podmínky? Jestli jsou "na jedno brdo", nebo každá úplně jiná.
10
Obecné / Re:Ako rozsekať reťazec if ... then ... elese if ...
« Poslední příspěvek od Delfin kdy 18-05-2019, 22:21:23 »
Kód: Delphi [Vybrat]
  1. if not (Part1 and Part2 and Part3) then
  2.   raise ...;
V pozitivni logice by to s ohledem na De Morganovy zakony muselo byt not (Part1 or Part2 or Part3), ne?

Jiste. Jsem to kus neceho toporiveho. Omlouvam se za zmateni a dekuji za upozorneni!
Stran: [1] 2 3 ... 10