Egy példa egy listát a mutatók
Egy példa egy listát a mutatók
Fontolja meg az pointerek sorolja például DemoList alkalmazást. Ha rákattint a jelentkezési lapot jelenik pont van rendelve egy sorszám. Ezzel egyidejűleg a koordináta és a pont-számot rögzített a megfelelő tulajdonságok TMypixel osztály példányát létre. A mutatót az objektum az új elem pixList listából.
Ennek eredményeként, a tisztítás után szekvencia formájában az összes képpont lehet visszaállítani a mutatókat, hogy pont a objektumok listáját.
pontok listáját lehet válogatni X koordináta növekvő sorrendben.
Listing 7.1. Modul projekt fő formája DemoList
Ablakok, üzenetek, SysUtils, osztályok, grafika, vezérlők, Forms,
Dialogs, StdCtrls, gombok;
eljárás FormCreate (Sender: TObject);
eljárás FormClose (Sender: TObject; var Action: TCloseAction);
eljárás FormMouseDown (Sender: TObject; gomb: TMouseButton;
Shift: TShiftState; X, Y: Egész szám);
eljárás ListBtnClick (Sender: TObject);
eljárás ClearBtnClick (Sender: TObject);
eljárás DelBtnClick (Sender: TObject);
eljárás SortBtnClick (Sender: TObject);
PixNum: integer; nyilvános
A PixList do
. Az i: = 0 Count - 1 do TMyPixel (db [i]) FText: = i + 1;
Class TMyPixel tárolást biztosít pont koordinátái és sorszáma a sorozatban. Ezeket a paramétereket át az osztály kivitelező. setPixel módszer Vonópont egy vázlatot penész (lásd. fejezet. 10).
Egy példány jön létre minden egyes új pontot, ha rákattint a felvezető eljárás FormMouseDown. Van is egy mutató az új objektum tárolja a létrehozott az Add módszerrel tag PixList listán. Így a program „emlékszik” a helyét és sorrendjét a pontokat.
Módszer ListBtnClick felvezető okozza a kijelző pontok. Ehhez a hurok mutató jelenlegi listát továbbítjuk a változó objektum típusa curPixel. t. e. Ez a változó egy időben „látogatás” minden teremtett tárgyak, mutatókat a listában.
Ez úgy történik, hogy hozzáférhessen a tárgyak tulajdonságait (közvetlenül egy mutatót, amely lehet tenni). A második módszer, melynek során a tárgyalt típusú eljárásban felvezető SortBtnClick.
Mielőtt még a másodlagos kijelző pontot kell tisztítani a forma felületén. Ezt a műveletet a felvezető módszer clearBtnClick.
pontok listáját lehet válogatni X koordináta növekvő sorrendben. Ebből a célból az eljárás felvezető SortBtnClick módszer az úgynevezett Küld PixList listán. A paraméter módszer (variábilis eljárás típus) továbbítjuk PixCompare funkciót. amely biztosítja kapszulázott módszer Rendezés lista elemeit rendezési mechanizmus algoritmus, amely dönt a szolgálati idő két szomszédos elem.
Ha a függvény egy pozitív szám, annál nagyobb elem item1 item2 elem. Ha az eredmény negatív, akkor item1 kisebb item2. Ha az elemek megegyeznek, a függvény vissza kell nulla.
Ebben az esetben mi összehasonlítjuk a koordinátáit két pontot X. Ennek eredményeként ez a fajta emelkedő sorrendben a tárgyak voltak elrendezve úgy, hogy az első elem a listában pont egy objektum minimális koordináta X és az utolsó - a témában a legnagyobb koordináta X.
A válogatás után a bal újraszámozhatja az összes pontot. Ez teszi a ciklus felvezető módszer SortBtnclick. Ügyeljen arra, hogy a kérelem ebben az esetben az eljárás, melynek során a típus, amely a kezelés tulajdonságait esetekben TMypixe l osztályban.
DeiBtnClick felvezető módszer egy teljes listát pixList takarítás.