Tudd Intuíció, előadás, OOP - objektum-orientált programozás
Gyakran előfordul, hogy a különböző komponensek megadjuk az Object Inspector kezdeti értékeit, alapértelmezett lenne, majd változtassa meg azokat a dátumokat a munkaprogramban. A program az elszabadult gomb, mi meg a kiindulási helyzet a gomb, majd a program során, mi változott a tulajdonságait a bal és felső. És amikor a felhasználó belép a szöveget az Edit komponenst. programot megváltoztatta a Text tulajdonság.
Így már többé-kevésbé díszített tárgy személy. Mi lehet terjeszteni az egész alakja ilyen objektumok TChel komponenst, és hozzon létre egy egész várost chelov. És minden egyes töltési példaként tulajdonsága, hogy minden tárgy más lesz, bár leszállt egy közös eleme.
Térjünk vissza a valódi összetevőket. Vegye tSzerkesztés komponenst. Ha Kinema formájában ilyen alkatrészt. majd Delphi automatikusan beállítja a neve tulajdonság egyenlő Edit1 vonalon. A jövőben, akkor olvassa el a tárgy ezen a néven. Ha az Object Inspector módosítsa a Név tulajdonságot Edit1, mondjuk, MyEdit. a kapcsolati lesz többé Edit1. és MyEdit. Tegyük fel, hogy változtatni az ingatlan. Ne felejtsük el, hogy a Név tulajdonságot - változó string típusú.
Továbbá, az alkatrész tSzerkesztés mi érdekli több tulajdonsággal bír. Jellemzője a bal és felső. hogy van egy típus, és biztosítani kell a helyzetét az összetevő formájában. Bal tulajdonság jelzi a távolságot a pixellel a bal szegély kialakításához az alkatrész, és a Top tulajdon - azonos távolság a felső határ.
Mégis tulajdonságai szélessége (szélesség a komponens) és magassága (magassága komponens). Ugyancsak szerves típusok jelzik, hogy egy értéket pixel.
Továbbá, mi érdekli a Text tulajdonság. Ez string változó. azt jelzi, hogy milyen szöveg jelenik meg ez a komponens. Mi lehet szöveget bevinni az Object Inspector, majd amikor a program akkor azonnal megjelenik a beviteli mezőben. Sokkal gyakrabban üresen marad. Az Object Inspector éppen tisztítani az ingatlan, és a szoftver lehet rendelni egy eleme egy üres karakterlánc:
Aztán futás közben, a felhasználó belép egy szöveget a szerkesztése. Meg kell kezelni ezt a szöveget, és elérni azt, amit lehet, nevének megadásával a tárgy és a tulajdonságait:
Ebben a példában mi hozzá egy string változót s a szöveget, amelyet jelenleg nálunk tárolt Edit komponenst beviteli mezőben.
Emlékezzünk, hogy a hozzárendelés balról - jobbra, hogy van, először határozza meg a változó megyünk értéket rendelni, akkor van egy jele egy feladat „: =”, majd a az értéket, amit rendelni a változó.
Megvan a képessége, hogy programból változtatni a szöveget az objektum, és ebben az esetben adja meg a változó - Text tulajdonság:
Most a tárgy megjelenik egy összhangban az új szöveget. Ezen felül, tudjuk módosítani a szoftvert és egyéb tulajdonságait. Például Bal tulajdon - a helyzet a bal határvonal alakját. Mi lehet határozni:
Ha a szöveg, például megnyomja a feldolgozási eljárás, minden alkalommal, amikor megnyomja a gombot, MyEdit tárgy tolódik balra 5 pixel. Próbáld ki magad! Hozzon létre egy új alkalmazás. az alkatrész telepítésére az űrlapon, és tSzerkesztés gombot. Ha nem változik a Név tulajdonságot. akkor meg kell elérni az objektum neve, amely alapértelmezés szerint rendelt Delphi neki:
Persze, ha nem valami tréfás program helyzetének módosításához tárgyak nem éri meg, még akkor is, ha van ilyen lehetőség. Ezen felül, akkor képesek programozottan módosítsa a Név tulajdonságot a tárgy, de jó lenne egy durva hiba - ha a program címét, hogy az objektumot a régi elnevezés, akkor van egy hiba a programban - csak nem találja az objektum. Meg lehet próbálni ezt a példát, miután hozzáadjuk a következő sort:
Amint a gomb megnyomása az első alkalommal, a tárgy mozog balra engedelmesen, és közvetlenül mögötte meg fogja változtatni a nevét. De próbálja meg ismét megnyomja a gombot, és a program csak lóg - nem látta a tárgyat egy új nevet, mert még mindig olvassa el a régi nevét, a tárgy a legfontosabb feldolgozási kód, és a tárgy azonos névvel már létezik!
Ne aggódj, semmi rossz nem fog történni. Egyszerűen válassza ki a Futtatás parancsot a menü - Program visszaállítása. Ennek hatására a program végrehajtása megszűnik és zárás.
Ne felejtsük el azt is róla: nem minden az alkatrészek, amelyek megjelenítik a szöveg a képernyőn, van egy string típusú Text tulajdonság. Például, egy ilyen tulajdonság TLabel komponens felirattal. és ha mi vagyunk az Object Inspector lép tárgya valamilyen szöveget, meg kell adnia azt a Caption tulajdonság. Hasonlóképpen, ha azt akarjuk, hogy programból változtatni a szöveget az objektum Label1. majd tegye a megbízást az új szöveg az ő tulajdonát Képaláírás:
Azonban vannak olyan tárgyak, és bonyolultabb. Vegyük például, TMemo. Nem rendelkezik a Text tulajdonság az Object Inspector, de ez a funkció áll rendelkezésre szoftver. Változó - ingatlan szöveg Memo1 objektum tartalmazza a teljes szövegét a sorokban, amelyek jelenleg a komponenst. De egyre gyakrabban alkalmazzák Lines tulajdon. Ez a tulajdonság már nem csak egy string változó. és egy string tömb, ahol minden elem tartalmaz egy sort. Azt mondhatjuk, hogy a vonalak - egy objektumot a tárgy, amely szintén saját módszereit, hogy van, a funkciók és eljárások. A leggyakrabban alkalmazott módszer SaveToFile () és LoadFromFile (). amelyek rendre megtartják a szöveget a fájlt, és olvassa el a szöveget egy fájlból. Vonalak tulajdonság típusú TStrings. hogy van, nem csak egy húr és egy sor sorokat.
Sok komponensek tulajdonságait az ilyen típusú. Például, TListBox alkotórész hajlamos elemek. amelyik ugyanolyan típusú TStrings. ezért ugyanolyan módszerekkel, mint Lines TMemo komponens. Ez azt jelenti, hogy hívja a megfelelő módszert, akkor, például, hogy a szöveget a fájlból és Memo. és ListBox:
Lesz többször találkozni TStrings típusú ingatlanok különböző alkatrészeket. Ez egy nagyon hatékony eszköz, és meg kell tanulni használni.
Események - olyan eljárások, amelyeket végezni, amennyiben egy esemény bekövetkezik. Például OnChange Edit komponenst esemény következik be, ha a változás a szövegbeviteli mezőt. Az események az Események lapon az Object Inspector. Ha nem hoz létre semmit, amikor az esemény bekövetkezik, és nem történik semmi. Azonban, ha duplán kattint a rendezvény - létrehoz egy eljárást kezelése ezt az eseményt. És a kódot hogy be fog sor, amikor ez az esemény bekövetkezik.
OnChange esemény gyakran használják, amikor szükség van, hogy ellenőrizze, ha a felhasználó adatokat ad. A jó hír - a legtöbb esemény (valamint a tulajdonságok és módszerek), a többség az összetevők ugyanazok. Például szinte minden alkatrész a felhasználó szövegbeviteli esemény OnChange. Használnak szerkesztése vagy Memo. Ez az esemény ugyanígy működik.