Poslední příspěvky

Stran: [1] 2 3 ... 10
1
Obecné / Re:Vytváranie tried a SQL textov mimo formulára - úloha slovne
« Poslední příspěvek od Stanislav Hruška kdy Dnes v 17:16:54 »

Citace
Misto poradi bych dal prioritu a pri validaci bych postupoval od nejvyssi priority
A to nie je to isté?
Citace
A zakodoval bych to HEX
To už je na mňa priveľa :) . Úplne postačí keď ta dám vodiace nuly.
Ďakujem za trefné pripomienky.
2
Obecné / Re:Unit scopes ComCtrls - Delphi 10.2
« Poslední příspěvek od neo kdy Dnes v 16:37:22 »
To tam nemám, bude dobré to přidat. Taková blbina se pak těžko hledá...
3
Obecné / Re:Unit scopes ComCtrls - Delphi 10.2
« Poslední příspěvek od pf1957 kdy Dnes v 16:19:02 »
Zdrojáky jsou důsledně oddělené od ostatních záležitostí ve vlastní složce navíc rozdělené po jednotlivých modulech. Balíčky a výsledné exe a dcu mají svoje složky. Aplikace je velice rozsáhlá takže by to ani jinak nešlo. Kde se tam to DCU vzalo je mi záhadou. Poučení pro příště :-)
Pak ti tam nekde v buildu chybi neco jako
Kód: [Vybrat]
del *.dcu /f/q/s > nul
if exist *.dcu goto :ERRDCU
        goto :EOF
:ERRDCU
        ECHO Unable purge the source pool: there is an suspicious *.dcu file
        exit /B 1

;-)
4
Obecné / Re:Unit scopes ComCtrls - Delphi 10.2
« Poslední příspěvek od neo kdy Dnes v 16:07:15 »
Zdrojáky jsou důsledně oddělené od ostatních záležitostí ve vlastní složce navíc rozdělené po jednotlivých modulech. Balíčky a výsledné exe a dcu mají svoje složky. Aplikace je velice rozsáhlá takže by to ani jinak nešlo. Kde se tam to DCU vzalo je mi záhadou. Poučení pro příště :-)
5
Obecné / Re:pattern factroy Parent - children nevidí do pôvodného parent
« Poslední příspěvek od Delfin kdy Dnes v 15:05:29 »
To Delfin: vzhľadom na Tebou pripravovanú ukážku MVC, mám pracovať s tabuľkou (Insert, Edit a hlavne Locate()) (čo je FireDAC aj tak query) alebo je lepšie to prerobiť na SQL?
Či to je totálne jedno?

Zalezi. Mozna bych se nakonec vydal cestou TFDStoredProc (viz. bod 1). Ale je to jen implementace modelu ktera se da vymenit.

Ona totiz implementace modelu muze byt klidne i soubor nebo kolekce typovych recordu (implementacni trida se zkratka jen nauci vracet data zpusobem definovanym pomoci interface). Jestli se pak bude napr. insertovat do souboru, tabulky, query objektu, kolekce zaznamu nebo objektu je jedno. Vsechny budou mit sjednocenou metodu (definovanou pomoci interface).

TFDTable neni nic vic nez jen obal okolo predka TFDQuery (k ziskavani dat si uvnitr sklada SQL prikazy). Ono to ani jinak nejde. Naprosta vetsina podporovanych DBMS je ovladana pomoci SQL (mozna az na Mongola [MongoDB] vsechny). A TFDTable by tady trpela, stejne jako TFDQuery objekt s prikazem pro tahani jen jednoho detailu pro master zaznam.



Spis bych se ted zameril na ten detail pohled dat, kdy je napr. pro sestaveni stromu treba ziskat detail vlastniku a najemniku pro kazdy byt (jinak ten strom sestavit nepujde). Zameril bych se na to jak dostat detaily "najednou" pro cely dum a pak je protridit na klientu. Moznosti je tady vice, napr.:

1. Ulozene procedury pracujici s temporary tabulkami

- zavolam procku pro ziskani seznamu bytu v dome, pro session se sestavi temporary tabulka (napr. #TempByty) kde budou mimo jine i ID bytu (rekneme BytID), resultset se vrati
- pak se zavola dalsi procka pro ziskani seznamu vlasniku, ta se zepta temporary tabulky vytvorene a naplnene z predchozi procky napr. SELECT IDVlastnik,.. FROM Vlastnik WHERE IDByt IN (SELECT BytID FROM #TempByty) (v realu pres vazebni tabulku, tohle je jen pseudokod).
- vysledne resultsety se ulozi do jednotlivych modelu a tridi na klientu za pomoci metody, nazveme ji treba Select

2. Dotaz ktery vrati detaily pro vsechny byty (muze byt i na serveru v podobe view)

Pujde o dost zbesilou sadu dotazu ktery vraci to same co by vracely procky. Jen ty procky jsou efektivnejsi v tom ze maji cache master tabulky na strane serveru (temporary tabulky), takze neni treba je opakovane sestavovat. V pseudokodu (nejde o realny SQL prikaz) bez vazebnich tabulek napr.:

Kód: MySQL [Vybrat]
  1.    Najemci.ID,
  2.    Najemci.Jmeno
  3.    Najemci
  4.    Byty ON Najemci.ID = Byty.IDNajemce
  5.    Domy ON Byty.ID = Domy.IDByt
  6.    Domy.ID = 123

3. Master-detail relace nebo volani Refresh pro query objekt

Volat Refresh pro kazdy detail nebo vyrobit master-detail relaci je neefektivni a teto ceste bych se vyvaroval.



Ohledne Locate, ten muze posunovat kurzor i na serveru coz je dalsi zbytecny opruz. FireDAC nabizi low level pristup k tabulkam bez nutnosti jeho posunu. Data ktera se dostanou na klienta se daji cist iteraci pres property Table prip. SourceView pro klientsky filtrovany a trideny pohled.
6
Obecné / Re:Unit scopes ComCtrls - Delphi 10.2
« Poslední příspěvek od pf1957 kdy Dnes v 14:09:29 »
Tak záhada vyřešena. Ve složce aplikace jsem našel soubor ComCtrls.dcu. Byl tam bez povšimnutí několik měsíců. Po jeho smazání již všechno funguje. Díky nicku vandrovnik za radu, byla to ta poslední varianta :-)
Tak takovym chybam ja predchazim tak, ze dusledne oddeluju zdrojovky od transientnich souboru, ktere vznikaji jako vysledek buildu, at uz docasne nebo vysledne soubory.
A pred kazdym buildem a commitem na SVN to vsechno dukladne vycistim.
7
Obecné / Re:Unit scopes ComCtrls - Delphi 10.2
« Poslední příspěvek od neo kdy Dnes v 13:57:47 »
Tak záhada vyřešena. Ve složce aplikace jsem našel soubor ComCtrls.dcu. Byl tam bez povšimnutí několik měsíců. Po jeho smazání již všechno funguje. Díky nicku vandrovnik za radu, byla to ta poslední varianta :-)
8
Obecné / Re:Vytváranie tried a SQL textov mimo formulára - úloha slovne
« Poslední příspěvek od pf1957 kdy Dnes v 13:54:13 »
Citace
Nejsnazsi cesta asi zvolit nejaky systematicky (a rigidni) zpusob pojmenovani widgetu tak, abys ze jmena dokazal parsovanim ten binding ziskat.
Viacmenej mám predpona komponentu - tabuľka - pole. To by malo stačiť.

Ešte by som doplnil _ pre parsovanie a poradie v akom sa editujú a má sa vykonať automatická kontrola. Aby som pri kontrole neskákal krížom-krážom po celom formulári.
Ten oddelovac jasne: pustis na to SplitString() a dostanes pole stringu, zkontrolujes pocet prvku a vyzvednes si, co te zajima. Misto poradi bych dal prioritu a pri validaci bych postupoval od nejvyssi priority a mozna bych si v cislovani nechal diry, jako kdyz se v Basicu cislovavali radky, abys to pri nejake zmene-rozsiroani nemusel vsechni prejmenovavat. A zakodoval bych to HEX, abych mel pro ruzne velke hodnoty stejne siroke pole v nazvu
9
Obecné / Re:Vytváranie tried a SQL textov mimo formulára - úloha slovne
« Poslední příspěvek od Stanislav Hruška kdy Dnes v 12:46:21 »
Citace
Nejsnazsi cesta asi zvolit nejaky systematicky (a rigidni) zpusob pojmenovani widgetu tak, abys ze jmena dokazal parsovanim ten binding ziskat.
Viacmenej mám predpona komponentu - tabuľka - pole. To by malo stačiť.

Ešte by som doplnil _ pre parsovanie a poradie v akom sa editujú a má sa vykonať automatická kontrola. Aby som pri kontrole neskákal krížom-krážom po celom formulári.
10
Obecné / Re:Vytváranie tried a SQL textov mimo formulára - úloha slovne
« Poslední příspěvek od Stanislav Hruška kdy Dnes v 12:26:51 »
Pekné, ale radšej pôjdem vlastnou cestou. Predpokladám, že MVC ma k tej vlastnej ceste bude nútiť.
Stran: [1] 2 3 ... 10