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.