Parametry
curs | tabulka nebo otev°en² kurzor - viz podrobnosti |
recnum | vrßcen² poΦet zßznam∙ |
[cdp | kontextovß prom∞nnß klienta] |
Popis
Funkce vracφ v parametru recnum poΦet zßznam∙ v kurzoru resp. tabulce curs.
Je-li parametrem curs Φφslo tabulky, vracφ se poΦet vÜech zßznam∙ v tabulce, vΦetn∞ zruÜen²ch a t∞ch uvoln∞n²ch, za nimi₧ jsou jeÜt∞ n∞jakΘ neuvoln∞nΘ zßznamy. Je-li curs Φφslo otev°enΘho kurzoru, vracφ se poΦet zßznam∙ vybran²ch do kurzoru p°i jeho vytvß°enφ, vΦetn∞ t∞ch, kterΘ byly za dobu existence kurzoru zruÜeny, a zßznamy pozd∞ji p°idanΘ. Prvnφ provedenφ Rec_cnt
na urΦitou tabulku resp. kurzor m∙₧e chvφli trvat, proto₧e zßznamy se musφ spoΦφtat.
D∙raznΘ upozorn∞nφ: Jednou z nejΦast∞jÜφch chyb zaΦφnajφcφch v²vojß°∙ je opomenutφ, ₧e Rec_cnt
na tabulku poΦφtß i smazanΘ a uvoln∞nΘ zßznamy. P°i pokusu Φφst z uvoln∞nΘho zßznamu zφskßvajφ pak (v lepÜφm p°φpad∞) nesmyslnΘ hodnoty. Je proto nutnΘ kontrolovat systΘmov² sloupec DELETED (viz p°φklad).
Hodnota funkce
Funkce vracφ hodnotu FALSE, pokud se akci poda°ilo ·sp∞Ün∞ provΘst. V opaΦnΘm p°φpad∞ vracφ TRUE a povahu chyby lze zjistit volßnφm funkce Signalize
.
P°φklad 1
if not Rec_cnt(TAB1, limit) then
for I:=0 to limit-1 do
if not TAB1[I].deleted then
Delete( TAB1, i );
P°φklad 2
podm := 'SELECT c_dop,datum,cislo FROM Dop WHERE datum='+poms+' ORDER BY c_dop';
if Open_sql_cursor (c_dat,podm) then Signalize
else begin
Rec_cnt(c_dat,pocet);
if pocet=0 then begin
spom := 'Nenalezen ani jeden dopis s datem '+poms;
Info_box('Nelze',spom);
Close_cursor(c_dat);
end
else ...
Viz