[ Pobierz całość w formacie PDF ]
.LocateBtnClick(Sender: TObject);varLO: TLocateOptions;beginLO := [];if not CBCaseSens.CheckedthenInclude(LO, loCaseInsensitive);if RBClosest.CheckedthenInclude(LO, loPartialKey);if not DM.Table1.Locate(CBField.Text, EValue.Text, LO)thenMessageDlg('Brak dopasowania', mtInformation, [mbOk], 0);end;procedure TFilterForm.SpeedButton1Click(Sender: TObject);beginDM.Table1.FindFirst;end;procedure TFilterForm.SpeedButton2Click(Sender: TObject);beginDM.Table1.FindNext;end;procedure TFilterForm.SpeedButton3Click(Sender: TObject);beginDM.Table1.FindPrior;end;procedure TFilterForm.SpeedButton4Click(Sender: TObject);beginDM.Table1.FindLast;end;procedure TFilterForm.FormClose(Sender: TObject; var Action: TCloseAction);beginAction := caHide;MainForm.Filter1.Checked := False;end;end.Zak³adkiZak³adki (bookmarks), zgodnie ze sw¹ nazw¹, umo¿liwiaj¹ zapamiêtanie bie¿¹cejpozycji zbioru danych i póŸniejszy szybki powrót do niej na ¿¹danie.£atwoœæich wykorzystywania wynika z faktu, i¿ wymagaj¹ operowania tylko jedn¹w³aœciwoœci¹.Zak³adka reprezentowana jest w Delphi przez typ TBookmarkStr, a realizuj¹c¹ têkoncepcjê w³aœciwoœci¹ zbioru danych jest Bookmark.Zawiera ona informacjê obie¿¹cej pozycji w zbiorze; aby pozycjê tê zapamiêtaæ, nale¿y odczytaæ wartoœæw³aœciwoœci i przechowaæ j¹ w zmiennej typu TBookmarkStr:varBM: TBookMarkStr;beginBM := Table1.BookMark;Zmiana w³aœciwoœci Bookmark, przez przypisanie jej wartoœci wczeœniejzapamiêtanej, spowoduje ustawienie zbioru danych na pozycji odpowiadaj¹cej tejwartoœci:Table1.Bookmark := BM;Poniewa¿ TBookmarkStr jest synonimem typu StringtypeTBookmarkStr = string;zak³adki nale¿¹ do zmiennych o kontrolowanym czasie ¿ycia (nie jest konieczneich zwalnianie).Gdy jednak zak³adka okazuje siê niepotrzebna, mo¿emy zwolniæzajêt¹ przez ni¹ pamiêæ, przypisuj¹c jej ³añcuch pusty:BM := '';Wybór ³añcucha AnsiString jako reprezentacji dla zak³adki powoduje jejniezale¿noœæ od konkretnej implementacji bazy danych, poniewa¿ dane zak³adkiobs³ugiwane s¹ ca³kowicie przez BDE.WskazówkaMimo i¿ nadal w Delphi dostêpne s¹ funkcje GetBookmark(), GotoBookmark() iFreeBookmark() pochodz¹ce jeszcze z wersji Delphi 1, zaleca siê u¿ywaniew³aœciwoœci Bookmark i zmiennych TBookmarkStr jako konstrukcji wygodniejszych imniej podatnych na b³êdy.Funkcjonowanie zak³adek mo¿na przeœledziæ na przyk³adowym projekcieBookmarkDemo.dpr, który umieœciliœmy na za³¹czonym kr¹¿ku CD-ROM.PodsumowanieCelem niniejszego rozdzia³u by³o wprowadzenie Czytelnika w problematykêprogramowania obs³ugi baz danych.Przedstawiliœmy komponenty wywodz¹ce siê zklasy TDataSet i reprezentuj¹ce zró¿nicowane technologicznie zbiory danych.Omówiliœmy sposoby poruszania siê po zbiorze danych i manipulowania jegozawartoœci¹.Zilustrowaliœmy tak¿e kilkoma przyk³adami mo¿liwoœci, jakie niesieze sob¹ filtrowanie i indeksowanie, w szczególnoœci — ró¿norodne sposobywyszukiwania rekordów.W kolejnych rozdzia³ach zajmiemy siê now¹ w Delphi 6 technologi¹ dbExpress orazmechanizmem dbGo, umo¿liwiaj¹cym dostêp do danych typu ADO
[ Pobierz całość w formacie PDF ]