Lekce 1.25
Navigace v databßzi


p°edchozφ lekce (1.24) obsah kurzu nßsledujφcφ lekce (1.26)

V p°edchozφ lekci jsme si ukßzali, jak listovat v databßzi v databßzovΘm okn∞. Nynφ se seznßmφme s obdobn²mi mo₧nostmi p°φmo z programu.

Ka₧d² zßznam v databßzi je oΦφslovßn dle po°adφ zßpisu do databßze. Prvnφ zßznam mß proto po°adovΘ Φφslo jedna, poslednφ zapsan² zßznam mß po°adovΘ Φφslo shodnΘ s celkov²m poΦtem zßznam∙ v databßzi. ╚φslo aktußlnφho zßznamu vΦetn∞ celkovΘho poΦtu zßznam∙ v databßzi je uveden ve spodnφ Φßsti databßzovΘho okna v jeho stavovΘm °ßdku. Celkov² poΦet zßznam∙ databßze vracφ funkce DbfReccount, Φφslo aktußlnφho zßznamu vracφ funkce DbfRecNo. Pokud byste cht∞li vypsat uveden² zßpis z programu, m∙₧ete pou₧φt nßsledujφcφho zßpisu:


Writeln(CStr(DbfRecNo)+"/"+CStr(DbfReccount))
Pokud pot°ebujete p°ejφt na po₧adovanΘ Φφslo zßznamu, m∙₧ete tak uΦinit volßnφm procedury DbfGo, ve kterΘ uvedete jako parametr Φφslo po₧adovanΘho zßznamu. Pro p°echod na prvnφ zßznam databßze pou₧ijte volßnφ procedury DbfGoTop. Skok na konec databßze provedete procedurou DbfGoBottom. Jestli₧e budete chtφt listovat v databßzi pouze po jednom zßznamu, m∙₧ete pou₧φt volßnφ procedury DbfSkip, ve kterΘ uvedete jako parametr poΦet zßznam∙ o kterΘ se mß p°esunout ukazatel v databßzi. KladnΘ Φφslo uvßdφ poΦet zßznam∙ sm∞rem na konec databßze, zßpornΘ Φφslo znamenß skok sm∞rem na zaΦßtek databßze.

Pokud byste se pokouÜeli p°ejφt volßnφm procedury DbfSkip p°ed prvnφ zßznam bude nastaven ukazatel databßze na prvnφ zßznam databßze. SouΦasn∞ vÜak bude nastaven p°φznak zaΦßtku databßze, kter² je p°φstupn² volßnφm funkce DbfBof. Obdobn∞, pokud byste se pokouÜeli provΘst skok v databßzi za jeho konec, bude nastaven p°φznak konce databßze, kter² je p°φstupn² volßnφm funkce DbfEof. Vyu₧itφm v²Üe uveden²ch funkcφ m∙₧ete realizovat prochßzenφ databßze od jejφho poΦßtku na konec (nebo obrßcen∞):


'program DBF_1.BPR
ConsoleClear
ConsoleShow
If DbfUse("CENIK") then      'pokud se otev°ela databßze
   DbfGoTop                  'skok na zaΦßtek databßze
   Writeln("***** ZaΦßtek databßze")
   Do until DbfEof           'dokud nenφ konec databßze
      Write(IntToStr(DbfRecNo)+"/"+IntToStr(DbfReccount)+" ")
      Writeln(DbfReadStr("NAZEV"))
      '... dalÜφ akce se zßznamem
      DbfSkip(1)             'skok na dalÜφ zßznam
   loop
   Writeln("***** Konec databßze")
   DbfUse("")
else
   ShowMessage("Databßzi 'CENIK.DBF' nebylo mo₧nΘ otev°φt !")
end if
Pou₧itφm v²Üe uvedenΘ kostry programu mßte mo₧nost zpracovßvat jednotlivΘ zßznamy databßze. V nßsledujφcφ lekci se proto ji₧ seznßmφme s mo₧nostmi p°φmΘho zpracovßnφ databßzov²ch zßznam∙ (Φtenφ a zßznam polo₧ek databßze).
p°edchozφ lekce (1.24) obsah kurzu nßsledujφcφ lekce (1.26)

OZOGAN, 1 Mßje 97, 460 01 Liberec
tel.,fax: (048) 52 28 338, e-mail: info@ozogan.cz