Autor Téma: Vytvorenie FastReport "za behu"  (Přečteno 931 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5570
  • Karma: 42
    • Verze Delphi: W10 + Delphi 10.4 professional
Vytvorenie FastReport "za behu"
« kdy: 23-09-2018, 20:47:23 »

Ja si zostavy vytváram klasicky. Hodím si na DM potrebné komponenty a makám.
Ale zaujal ma postup, ktorý používajú viacerí a zmienili sa o tom vo vlákne:
DataModul - ako si tam vytvoriť skupiny komponentov https://forum.delphi.cz/index.php/topic,16329.0.html
Radek Červinka Odpověď #6
pf1957 Odpověď #11
Rád by som o tom vedel niečo viac. Hlavne mi nejde do hlavy, ako sa rieši:
  • SQL, keď pre každú zostavu potrebujem mať iný text a v zdrojákoch ho teda poskladaný nemám! Myslím tým jeho výslednú hodnotu
  • Tak isto pre každú zostavu si ináč pomenujem frxDBDataSet.UserName
  • Pre niektoré zostavy potrebujem viac frxDBDataSet-ov + DataSource
Samozrejme beriem aj kľúčové slová pre hľadanie na internete, či priamo odkazy :)
Poznámka:
Viem, že tam je možnosť dať užívateľovi vytvárať si vlastné zostavy. No to som nikdy neskúšal. Ani to neplánujem použiť. Väčšina mojich prípadných zákazníkov je rada, že vedia ako sa zapína PC. Pre tých zbehlejších chcem použiť FastCube.

W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2766
  • Karma: 105
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Vytvorenie FastReport "za behu"
« Odpověď #1 kdy: 23-09-2018, 22:55:19 »
Základem jsou data - používám dva přístupy (popíši ADO co mám v jednom projektu):

- předám tam datasety z programu
- případně definuji data přímo na záložce data - tam si můžeš přidat vlastní "ADO" query (pokud máš FastReport a ADO), s tím, že existuje nějaká globální proměnná, která specifikuje ADODefaulConnection (když tak pohledám), které pak budou používat všechny Query, resp. proběhnu po načtení report a přiřadím Connection pro datasety. Druhá možnost je specifikovat tfrxADODatabase.


Druhý případ používám, kdy je těch reportů více a nevím přesně co budou chtít. Tak prostě v té záložce ADO naprskám Query a ty použiji. https://www.fast-report.com/documentation/UserMan/simple_report_of_the_list_type.htm
Embarcadero MVP - Czech republic

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5570
  • Karma: 42
    • Verze Delphi: W10 + Delphi 10.4 professional
Re:Vytvorenie FastReport "za behu"
« Odpověď #2 kdy: 24-09-2018, 08:25:34 »

Poprosil by som polopatisticky od začiatku. Vôbec sa totiž nechytám. Programovanie nechajme bokom.
Niečo v tomto zmysle:
Spustím Delphi
Spustím aplikáciu, alebo pracujem v Delphi
V nej....
Je otázne, či sa mi oplatí meniť techniku vytvárania zostáv, keďže pracujem sám.
Na Data mám IBX, DBX a ADO. V projekte používam FB + FireDac + frxDBDataSet + spol.
DM nie je súčasťou projektu. Jeden môj DM vyzerá momentálne takto:
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2766
  • Karma: 105
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Vytvorenie FastReport "za behu"
« Odpověď #3 kdy: 24-09-2018, 09:23:08 »

Je otázne, či sa mi oplatí meniť techniku vytvárania zostáv, keďže pracujem sám.

Pro mne to má nejsilnější význam tím, že když si někdo vzpomene, že bych chtěl napr. změnit font, nebo přidat sloupec na reportu xxx nebo jinak změnit sestavy, tak se jen připojím na vzdálenou plochu, spustím aplikaci a v ni report z DB v modu design, udělám změnu a sestava se uloží do DB a okamžitě je dostupná všem uživatelům co se připojují na danou DB (případně do seznamu sestav přidám kopii, a v té provedu změny). Žádná rekompilace, žádné testy, nic - jen okamžitá reakce. Poslední dobou už mám SQL uloženy přímo v sestavě, takže je můžu jednoduše upravit nebo přidat další  - z aplikace si předávám jen ID, které je  dostupné nejjednodušeji v seznamu proměnných FastReportu.

Pokud bych to tak nedělal, tak mezitím třeba už mám rozpracované něco jiného, musel bych to se vracet k dané verzi atd., rekompilovat a vůbec.


Embarcadero MVP - Czech republic

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5570
  • Karma: 42
    • Verze Delphi: W10 + Delphi 10.4 professional
Re:Vytvorenie FastReport "za behu"
« Odpověď #4 kdy: 24-09-2018, 09:51:10 »
Rozumiem. No ja mám aj zostavy pre ktoré si vytváram SQL.Tex dynamicky podľa volieb užívateľa. Hlavne časti WHERE, ORDER BY A GROUP BY. Dokonca podľa nich aj určujem, ktorá zostava sa spustí. Viď obrázok. To je asi najkomlikovanejší formulár.


Hm, ak chcem pridať stĺpec do zostavy, tak ho najprv musím dostať do DataSetu. Ak je DataSet súčasťou FR, tak to je jasné. Ináč build.


Zas aby každý zákazník mal iné zostavy??? Ale on je spokojný.
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline František

  • Guru
  • *****
  • Příspěvků: 615
  • Karma: 6
    • Verze Delphi: primárne v XE5, občas 10.2.3 comunity
Re:Vytvorenie FastReport "za behu"
« Odpověď #5 kdy: 24-09-2018, 18:39:20 »
no ja mám síce tých zostáv menej, ale iba jednu frxReport a otváram si *.fr3 podla potreby (nakreslím a uložím)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5570
  • Karma: 42
    • Verze Delphi: W10 + Delphi 10.4 professional
Re:Vytvorenie FastReport "za behu"
« Odpověď #6 kdy: 24-09-2018, 19:38:24 »
Citace
no ja mám síce tých zostáv menej, ale iba jednu frxReport a otváram si *.fr3 podla potreby (nakreslím a uložím)
Ja ich tam mám len kvôli zjednodušeniu práce. Aby som nemusel nič nastavovať a pamätať si ;D
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline František

  • Guru
  • *****
  • Příspěvků: 615
  • Karma: 6
    • Verze Delphi: primárne v XE5, občas 10.2.3 comunity
Re:Vytvorenie FastReport "za behu"
« Odpověď #7 kdy: 24-09-2018, 22:36:27 »
vsak si to ulož niekam, DB, array, dictionary