Autor Téma: Ako ošetriť výsledok kontroly.  (Přečteno 1444 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4417
  • Karma: 39
    • Verze Delphi: XE7 professional
Ako ošetriť výsledok kontroly.
« kdy: 28-02-2018, 08:49:35 »
Ja viem o troch možnostiach:
  • Použiť funkciu if not CheckIt then ...
  • Použiť spoločnú premennú CheckIt; if not FIsSucces then ...
  • Pomocou vyvolanej výnimky raise try CheckIt  except ... Kontroly nepoužívajú DB ani iné prípady, kde by prichádzalo do úvahu raise
Momentálne používam 1. Rád by som si prečítal Vaše názory. Mám aj vnorené kontroly. Každá kontrola je samostatná trieda.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4417
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:Ako ošetriť výsledok kontroly.
« Odpověď #1 kdy: 28-02-2018, 22:00:56 »
Návratová hodnota je vždy len jedna. Úspech/Neúspech
Pôvodne som mal 2. Nepáčili sa mi tam dva riadky, keď pri testovaní návratovej hodnoty funkcie mi stačí jeden
Kód: Delphi [Vybrat]
  1. procedure CheckIt
  2. begin
  3.   IsSuccess := False;
  4. // testy
  5.   if nie je úspech then
  6.   begin
  7.     OznamOChybe;
  8.     Exit;
  9.   end;
  10.   IsSuccess  := True;
  11. end;
  12.  
  13. // Spustenie kontroly
  14.   CheckIt;  // Prvý riadok spustenie kontroly
  15.  
  16.   if not IsSuccess then....  // Druhý riadok test výsledku
  17.  
Citace
{ pokud by ses bal o vykon, muzes funkci nechat vyexpandovat pouzitim directivy inline }
Vôbec nerozumiem o čo tu ide :(  O výkon tu vôbec nejde. Robí sa s veľmi malou sadou údajov. Väčšinou niečo ako dva úzke záznamy.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4417
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:Ako ošetriť výsledok kontroly.
« Odpověď #2 kdy: 01-03-2018, 07:59:09 »
Citace
Ale je to dost subjektivni rada.
Toho som si bol vedomý už pri zakladaní témy. Človek nikdy nevie čo nové sa dozvie. To bol hlavný dôvod založenia témy.
Citace
Zalezi jakou mas predstavu o interakci s uzivatelem (co dela napr. OznamOChybe.
Vypíšem mu hlášku a vrátim ho späť na formulár. Chybu buď odstráni alebo zruší akciu (Edit či Insert).
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2588
  • Karma: 133
    • Verze Delphi: D2007, XE3, DX10
Re:Ako ošetriť výsledok kontroly.
« Odpověď #3 kdy: 01-03-2018, 09:16:04 »
Citace
Zalezi jakou mas predstavu o interakci s uzivatelem (co dela napr. OznamOChybe.
Vypíšem mu hlášku a vrátim ho späť na formulár. Chybu buď odstráni alebo zruší akciu (Edit či Insert).
Ja bych tohle resil standardne pres chain validatoru, jako se to delava u webovych aplikaci. V Delphi jsem to naposledy dodelaval do cizi rodiny aplikaci tak, ze jsem u spolecneho predka vsech formularu pridal abstraktni validator, ktery v array property stradal chybova hlaseni a s nim spojeny widget. Ten mechanismum se aktivoval volanim boolean funkce CheckValidity a zajistil, ze se podle nastaveni zvyrazni widgety s nespravnou hodnotou a nejak zobrazi spojena chybova hlaseni. A kazdy form pak musel implementovat validaci stromu widgetu na nem.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2588
  • Karma: 133
    • Verze Delphi: D2007, XE3, DX10
Re:Ako ošetriť výsledok kontroly.
« Odpověď #4 kdy: 01-03-2018, 09:24:54 »
Toho som si bol vedomý už pri zakladaní témy. Človek nikdy nevie čo nové sa dozvie. To bol hlavný dôvod založenia témy.
Cela ta problematika spada do subsystemu osetrovani a reportovani chyb, stejne jako prace s vyjimkami a predstavu o takovem subsystemu v zavislosti na charakteru aplikace bys mel mit driv, nez napises 1. radek kodu. Pak uz to bude vzdycky vetsi ci mensi paskvil, kde po dodatecnem zadratovani zbydou ruzne nehezke "švy" a zaplaty a ruzne nepokryte diry.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4417
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:Ako ošetriť výsledok kontroly.
« Odpověď #5 kdy: 01-03-2018, 10:10:37 »
Ďakujem za reakciu. V tomto prípade nechcem zbierať všetky hlášky o chybách, ale okamžite požadovať nápravu. Jedná sa o zadávanie údajov - stavy meračov.
Hlášky o chybách zbieram až keď chcem tieto vstupy finálne spracovať. Tam nad tým validatrom pouvažujem. Teraz tie hlásenia jednoducho dávam do jedného reťazca a ten potom zobrazím.

Poznámka:
Jaj, Delfin upravil svoj príspevok, čo som si skoro nevšimol. Idem si to naštudovať.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2588
  • Karma: 133
    • Verze Delphi: D2007, XE3, DX10
Re:Ako ošetriť výsledok kontroly.
« Odpověď #6 kdy: 01-03-2018, 10:21:35 »
Excellent
Rated 1 time
Jaj, Delfin upravil svoj príspevok, čo som si skoro nevšimol. Idem si to naštudovať.
Tak to vis, Delphi je "reputation hunter" ze SO: tam jsou lidi, kteri cekaji na dotaz jako Pavlovovy psy, pak honem neco napisou a postnou, aby je nekdo nepredbehl a nasledne svoji odpoved dodatecne piluji  ;D
Ja uz jsem o tom zpusobu validace v Delphi nekdy psal, akorat jsem to nemohl najit. Az ted v souvislosti s SO jsem si vzpomel, ze to bylo tam: https://stackoverflow.com/questions/19261084/data-validation-problems-in-delphi/19264672#19264672

Offline Marek Weyda

  • Plnoletý
  • ***
  • Příspěvků: 222
  • Karma: 7
    • Verze Delphi: Delphi 2007, 10.1 Berlin
Re:Ako ošetriť výsledok kontroly.
« Odpověď #7 kdy: 01-03-2018, 11:50:38 »
Tak to vis, Delphi je "reputation hunter" ze SO: tam jsou lidi, kteri cekaji na dotaz jako Pavlovovy psy, pak honem neco napisou a postnou, aby je nekdo nepredbehl a nasledne svoji odpoved dodatecne piluji  ;D

Tak to sedlo jako pr... na hrnec :) Palec nahoru ;)

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2588
  • Karma: 133
    • Verze Delphi: D2007, XE3, DX10
Re:Ako ošetriť výsledok kontroly.
« Odpověď #8 kdy: 01-03-2018, 13:20:20 »
Excellent
Rated 1 time
Jinak to nebylo mysleno jako osobni utok na Delfina, ale spis poukazani na praxi, ktera me osobne, jako cloveku odkojenemu list servery a ctoucimu veskera fora pres RSS, docela vadi. Stejne jako mazani prispevku z verejnych for: proste jakmile jednou clovek neco postnul na list server, uz to bylo mezi lidma a nedalo se to vzit zpatky.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4417
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:Ako ošetriť výsledok kontroly.
« Odpověď #9 kdy: 03-03-2018, 09:12:52 »
Excellent
Rated 1 time
Citace
Da se nastavit Maximum time after posting to allow edit na 0
Ale práve to sme nechceli a žiadali sme správcov aby to zmenili. "Dohodli" sme sa na 30 minútach. A taktiež na mazaní príspevkov. Tiež tam je nejaký čas. Akonáhle tam je nejaká reakcia, tak sa nedá vymazať.

Tu sú odpovede celkom na úrovni. A nejaké dodatočné editovanie nie je problém. Až na jednu vec. WEB o tom neinformuje. A tak to často ujde pozornosti. Ak sa jedná o editovanie, ktoré zásadne mení pôvodný príspevok, tak je lepšie napísať nový.

Ja som tu parkrát vedome dal "zlý" príspevok. Bolo to v prípadoch, keď som nepoznal odpoveď a zadávateľ sa za dlhý čas nedočkal odpovede a potreboval to. Účelom bolo vyprovokovať ľudí znalých veci k reakcii. Je zaujímavé, že sa to zakaždým podarilo ;)

Citace
Nicmene v tomto vlakne jsem odpoved jen rozvedl (a pak formatoval spolu s pridanim ukazek), nemenil jsem puvodni nazor.
To som si hneď všimol.

Na záver:
  Každý sme iný a naše reakcie a postoje sú rôzne. Delfin trvá na vecnej argumentácii až do konca. Niektorým to veľmi vadí. Ja som čiastočne tiež taký, takže viem o čom to je ;D  Ale moje okolie z toho nie je nadšené a tvrdí, že som veľmi tvrdohlavý. Ja si myslím, že som iba trochu ::)
Skutočných trolov tu našťastie nemáme. Vydržia tak pár dní.


Prečo musím každý príspevok dodatočne upravovať. Napríklad taký pdf1957, ktorý to berie cez čítačku RSS je z toho celý bez seba :'( [size=78%] [/size]
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2329
  • Karma: 102
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:Ako ošetriť výsledok kontroly.
« Odpověď #10 kdy: 06-03-2018, 00:54:57 »
Prečo musím každý príspevok dodatočne upravovať. Napríklad taký pdf1957, ktorý to berie cez čítačku RSS je z toho celý bez seba :'(

Od toho je tu tlačítko prohlédnout. To neznamená povel počítači aby se pokusil prohlédnout nějakou fintu, ale náhled před odesláním.
Embarcadero MVP - Czech republic

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2329
  • Karma: 102
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:Ako ošetriť výsledok kontroly.
« Odpověď #11 kdy: 06-03-2018, 00:59:16 »
Ano, Heffernan je pro me borec ktery umi, ale nevi vsechno, byt si to mysli a muze se zmylit stejne jako kdokoli jiny. Bohuzel to neprizna, s cimz mam osobni zkusenosti.

Přesně vím, o čem u něho mluvíš, viz některé příspěvky třeba na google+
Embarcadero MVP - Czech republic

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4417
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:Ako ošetriť výsledok kontroly.
« Odpověď #12 kdy: 06-03-2018, 08:26:32 »
Citace
Od toho je tu tlačítko prohlédnout.
Fajn, budem ho tak využívať.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline našinec

  • Hrdina
  • ****
  • Příspěvků: 412
  • Karma: 5
Re:Ako ošetriť výsledok kontroly.
« Odpověď #13 kdy: 06-03-2018, 12:34:37 »
Citace
Da se nastavit Maximum time after posting to allow edit na 0
Ale práve to sme nechceli a žiadali sme správcov aby to zmenili. "Dohodli" sme sa na 30 minútach. A taktiež na mazaní príspevkov. Tiež tam je nejaký čas. Akonáhle tam je nejaká reakcia, tak sa nedá vymazať.

Za chybu považuji mimojiné i to, že po úpravě příspěvku nabíhá znovu celý (nový) časový limit na úpravu.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2588
  • Karma: 133
    • Verze Delphi: D2007, XE3, DX10
Re:Ako ošetriť výsledok kontroly.
« Odpověď #14 kdy: 06-03-2018, 13:08:55 »
je napr. pro budouciho "hledace" mnohem slozitejsi
Pro budouciho hledajiciho mozna, ale IMHO primarni jsou diskutujici, kteri se o zmenene odpovedi nedozvi, pokud netravi cely den procitanim prispevku nahoru a dolu viz Stanova reakce "Jaj, Delfin upravil svoj príspevok"... Kdyz nekdo opravi nejake typo chyby jako "pýča", tak budiz. Ale doplnovat do prispevku dalsi fakta a detaily, to uz je mimo scope diskuse.
 
Ostatne si myslim, ze i ten SO je uz nekde, kde byt IMHO nemel, protoze kdyz tam neco hledam, tak se musim casto procitat litaniema, kde odpovidajici IMHO zbytecne opisuje ucebnice nebo nejake reference, ktere bych stejne nasel, kdyby ta odpoved na SO vubec nebyla. A to o tech reputation hunterech, to je smutna ukazka, jak se muze zvrhnout dobre mineny mechanismus  >:(

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2588
  • Karma: 133
    • Verze Delphi: D2007, XE3, DX10
Re:Ako ošetriť výsledok kontroly.
« Odpověď #15 kdy: 06-03-2018, 14:11:28 »
vidis za "reputation hunterem".
Z prekladu to neni zrejme? Ty, kteri se honi za body, tj. v podstate profesionalni odpovidace, kteri odpovi spravne a strucne, aby byli prvni a dostali akceptovanou odpoved a pak se k tomu vraci a doplnuji dalsi sracky, aby dostali dalsi lajky od ostatnich, ktere jsou uz v podstate zbytecne, kdyz OP akceptoval strucnou odpoved. Nebo se nechaji odpovedmi/komentari "nakopnout" a pak pridaji vlastni odpoved, kterou akceptuji atd. Tech v mych ocich zavrzenihodnych technik je cela rada, ale uz ten SO cela leta jednoduse nestiham ani cist, jen to vzdycky cas od casu smazu. A jak jsem psal, cim dal tim hur se mi tam diky grafomanum neco hleda.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2588
  • Karma: 133
    • Verze Delphi: D2007, XE3, DX10
Re:Ako ošetriť výsledok kontroly.
« Odpověď #16 kdy: 06-03-2018, 15:01:37 »
Jen nechapu proc bych jim mel byt ja.
No protoze doplnujes odpovedi v diskusi ;-) Jednat tam byl smajlik a dvak jsem psal, ze to nebylo mysleno jako osobni utok
Citace
Pak tak trebas Heffernan ktery vi vse a nejlepe, a jak je nekdo proti je zle. Neni to jednoduche prostredi ;) Pak jen ztracis cas...
David toho vi hodne, taky jsem s nim nekolikrat diskutoval, ale tenkrat zadne zle reakce nemel. Uz si to vsechno nepamatuju, ale tohle s "cinskym" textem ano https://stackoverflow.com/questions/15670942/rijndael-encrypt-file-in-c-sharp-and-decrypt-as-string-in-delphi#comment22266978_15670942

Offline našinec

  • Hrdina
  • ****
  • Příspěvků: 412
  • Karma: 5
Re:Ako ošetriť výsledok kontroly.
« Odpověď #17 kdy: 06-03-2018, 16:46:41 »
Za chybu považuji mimojiné i to, že po úpravě příspěvku nabíhá znovu celý (nový) časový limit na úpravu.

Tady existuje omezeny pocet editaci (5, mozna?). V cemz ale porad nevidim problem.

To si děláš srandu?!  ???  Když zrovna Ty třeba napíšeš prvou reakci odpoledne a poslední změna je třeba před půlnocí, tak mi zkrátka to množství editací nepřijde normální.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2329
  • Karma: 102
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:Ako ošetriť výsledok kontroly.
« Odpověď #18 kdy: 06-03-2018, 17:07:16 »
Excellent
Rated 3 times
Nechce te se raději zase bavit o programování?

Osobně si myslím, že editace by měla sloužit jen k opravě chyb, resp. třeba zkomolených názvů knihoven, aby když někdo hledá synapse a v příspěvku bylo původně synaspe tak ji našel.
Embarcadero MVP - Czech republic

Offline Marek Weyda

  • Plnoletý
  • ***
  • Příspěvků: 222
  • Karma: 7
    • Verze Delphi: Delphi 2007, 10.1 Berlin
Re:Ako ošetriť výsledok kontroly.
« Odpověď #19 kdy: 08-03-2018, 08:49:06 »
Poor
Rated 1 time
Osobně si myslím, že editace by měla sloužit jen k opravě chyb, resp. třeba zkomolených názvů knihoven, aby když někdo hledá synapse a v příspěvku bylo původně synaspe tak ji našel.

Tak to si myslím je Radku přesné, co jsi napsal. Celý problém hezky popsal také pf1957, jaká je dnes praxe. Takže sice se ta diskuze trochu zvrhla, ale zase se tady poměrně přesně popsala temná zákoutí dnešních odborných programátorských fór.

Za mě: pokud odpovím a mám chybu, skoro ve 100 procentech případů needituji a píši další post. Tak by to mělo být. Pokud edituji své posty, ten, co chtěl znát odpověď, bude pak zmatený. Ten, co čte později step by step - také.

Praxe je ale taková, jak napsal pf1957. Někteří prostě asi částečně kvůli své ješitnosti, malým znalostem, honěním se za hodnocením, "lajky" a podobně, tak strašně moc chtějí, aby jejich post byl dokonalý a neustále ho předělávají podle toho, co dodatečně někde zjistili nebo když jim někdo nastavil zrcadlo jejich skutečným znalostem.

Pak se z odborných fór stává to, co je prostě dneska běžné.

Ale abych jenom nekritizoval - myslím si, že toto fórum je zlaté. Zrovna včera jsem četl diskuzi na jiném programátorském serveru a bylo to přesně o tom, co tady shrnul pf1957, až jsem se smál, jak to sedlo jako pr... na hrnec.

Ale máš pravdu - bavme se hlavně o programování samotném, takže už více nic o tomto :)