Autor Téma: Logovanie postupu zálohy do mema + progressbar  (Přečteno 3029 krát)

Online vandrovnik

  • Guru
  • *****
  • Příspěvků: 1299
  • Karma: 51
    • Verze Delphi: 10.3
Re:Logovanie postupu zálohy do mema + progressbar
« Odpověď #30 kdy: 08-09-2020, 23:40:35 »
Ako to mám urobiť aby to nebolo fuj? V princípe, ak to dám ako konštanty, tak sa na tom nič nezmení. Alebo?

Když to dáš jako konstanty, tak to budeš alespoň mít definované na jednom místě, takže se nestane, že se rozhodneš soubor přejmenovat, ale na polovinu výskytů zapomeneš.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3343
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Logovanie postupu zálohy do mema + progressbar
« Odpověď #31 kdy: 09-09-2020, 09:42:32 »
Ako to mám urobiť aby to nebolo fuj?
Vicecetne porusujes zlate pravidlo, ze vsechno se definuje prave jednou...

- zacina to zminenou definici symbolu misto natvrdo, opakovane uvadene konstanty
- definice symbolu by mely byt atomicke a odvozeny jeden od druheho napr. pripojenim pripony .fdb ke kmenovemu jmenu (to plyne z "prave jednou")
- invarianty: proc bys mel nekde sestavit jmeno DataDir + 'JASOTSVB.FDB' a o par radku niz ho sestavovat znovu
- co kdyby kazdy zakaznik chtel pojmenovat DB soubor jinak
- co kdyby chtel kazdy zakaznik jinak znacit zalozni soubory, jeden .bak, jiny treba .~n~, melo by se delat nejspis pres ChangeFileExt() a ne tvrdou definici.
- s tim souvisi, co kdyby chtel kazdy zakaznik zalozni soubory pojmenovavat jinak, tj. DbCoreName+Suffix, kde jeden bych chtel ciselny suffix 1..n, jiny by nechtel zadny a n presunout do pripony, treti timestamp ve formatu ISO8601
- chtel bys nechavat v adresari poslednich k zaloh
- ...

Pokud budes muset sahnout pri nektere z uvedenych zmen na vic nez jedine misto, neni to remeslne dobre napsane a vytvaris tak spatne udrzovatelny soft. A pritom vytvorit kontext tem operacim a napsat to poradne znamena jen minimalni usili se zasadnimi dopady na udrzovatelnost a reusibilitu.



Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6161
  • Karma: 44
    • Verze Delphi: W10 + D11
Re:Logovanie postupu zálohy do mema + progressbar
« Odpověď #32 kdy: 09-09-2020, 12:03:13 »
Tak nejako som to tušil. Ďakujem.
Použil som to tak preto, že to používam len "tu". Opravím si to.
W10 64b, Delphi 10.4, FireBird 3.08
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6161
  • Karma: 44
    • Verze Delphi: W10 + D11
Re:Logovanie postupu zálohy do mema + progressbar
« Odpověď #33 kdy: 09-09-2020, 12:47:25 »
Myslel som si, že držať to niekde ako globálnu premennú nie je vhodné.
W10 64b, Delphi 10.4, FireBird 3.08
Expert na kladenie nejasne formulovaných otázok.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3343
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Logovanie postupu zálohy do mema progressbar
« Odpověď #34 kdy: 09-09-2020, 13:34:23 »
Myslel som si, že držať to niekde ako globálnu premennú nie je vhodné.
Nemusíš to držet jako globální proměnnou, ale stejně chceš psat do memo, takže budeš mít pravděpodobně extra formulář a tam to mohou být jeho member variable.

Kdyby to člověk chtěl udělat pořádně, tak by si udělal kontext např. IDbBackupRestoreContext, který bys vyloudil na nějaké factory customizaci podle konkrétního zákazníka a tam bys měl např. Property CurrentBackupFilename, ktere by obsahovalo elektivní jméno souboru, do kterého se zálohuje a ve zbytku aplikace by ses na něj odkazoval. A kdybys to chtěl měnit, tak sáhneš akorát do implementace kontextu. Dtto pro vše ostatní včetně odmazani nepotřebných starých záloh aj.
« Poslední změna: 09-09-2020, 13:36:14 od pf1957 »

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6161
  • Karma: 44
    • Verze Delphi: W10 + D11
Re:Logovanie postupu zálohy do mema + progressbar
« Odpověď #35 kdy: 09-09-2020, 13:44:47 »
O to factory som sa kedysi pokúšal, no nevyšlo to :'(  Všetky príklady sú v jave/HTML (hlavne moje knihy) alebo v inom jazyku. Len nie v Pascal-e. Niečo sa mi podarilo nájsť. Už si ani nepamätám o ktorý vzor/šablónu išlo. A ja to do Pascalu vo väčšine prípadov neviem dostať. Veď si mi aj napísal, že mi tie knihy budú nanič.
Tie extra formuláre naozaj mám. Klasicky mám ku každému formuláru samostatnú jednotku s objektmi preň. Tu som to neurobil, lebo som to považoval za tak jednoduché, že to nemá význam. Sekol som sa.
W10 64b, Delphi 10.4, FireBird 3.08
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6161
  • Karma: 44
    • Verze Delphi: W10 + D11
Re:Logovanie postupu zálohy do mema + progressbar
« Odpověď #36 kdy: 09-09-2020, 13:54:11 »
Nemyslím si, žeby som mal dať zákazníkom na výber názov súborov. V drvivej väčšine to budú (ak budú ;) ) BFU. U nich sa bude jednať o embedded verziu s inštaláciou do predvolených priečinkov - podľa MS. Bola by to pre nich zbytočná záťaž. Ja som dal možnosť editovania názvu zálohy. No teraz vážne rozmýšľam, že názov iba zobrazím bez možnosti úpravy.
Súčasťou názvu zálohy je dátum a čas na sekundy.
W10 64b, Delphi 10.4, FireBird 3.08
Expert na kladenie nejasne formulovaných otázok.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3343
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Logovanie postupu zálohy do mema + progressbar
« Odpověď #37 kdy: 09-09-2020, 17:06:48 »
Nemyslím si, žeby som mal dať zákazníkom na výber názov súborov.
To byl jen priklad, dokreslujici pravidlo "prave jednou", protoze nikdy nevis, co za pozadavek ti muze spadnout na hlavu. A kdyz ne hned, tak u dalsi aplikace - prece nebudes kazdou aplikaci zacinat od nuly a znovu vymyslet kolo nebo donekonecna prepisovat s problematickym zachovanim zpetne kompatibility => proto je vhodne psat kod tak, aby byl reusable, coz vetsinou tak predstavuje, aby byl decouplovany tj. mel co nejmene implicitnich vazeb.


Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6161
  • Karma: 44
    • Verze Delphi: W10 + D11
Re:Logovanie postupu zálohy do mema + progressbar
« Odpověď #38 kdy: 09-09-2020, 17:15:30 »
Týchto vecí som si vedomý. Ale pri mojom veku a rýchlosti programovania sa na to môžem vy... ;D ;D 8) 8)
Nepredpokladám, že niekedy začnem nejaký nový projekt. Ale človek nikdy nevie...
W10 64b, Delphi 10.4, FireBird 3.08
Expert na kladenie nejasne formulovaných otázok.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3343
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Logovanie postupu zálohy do mema + progressbar
« Odpověď #39 kdy: 10-09-2020, 06:53:19 »
Týchto vecí som si vedomý. Ale pri mojom veku a rýchlosti programovania sa na to môžem vy... ;D ;D 8) 8)
Nepredpokladám, že niekedy začnem nejaký nový projekt. Ale človek nikdy nevie...
Treba ti mezitim dorostou programatori z vnuku  ;D

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6161
  • Karma: 44
    • Verze Delphi: W10 + D11
Re:Logovanie postupu zálohy do mema + progressbar
« Odpověď #40 kdy: 10-09-2020, 08:25:49 »
14 ročný sa zaujíma o jazyky a pracuje na závislosti na hrách.
8 ročný vie z fleku dobre klamať. A je tak trochu zákerák. Ten bude politik!
W10 64b, Delphi 10.4, FireBird 3.08
Expert na kladenie nejasne formulovaných otázok.