Delphi komponensek
alkatrészek alkalmazásával
TCheckBox komponens szolgál egy felhasználó egy tétel kiválasztása - a zászlót, amely lehet jegyezni vagy hogy a védjegy. A legfontosabb összetevő a tulajdon TCheckBox Checked tulajdonságát. amely meghatározza, hogy a jelző. Onclick eseménykezelő legalkalmasabbak a helyiségeket a kódját kell végrehajtani, amikor az állami zászlót.
Most nézzük meg, hogyan lehet használni TCheckBox komponenst. hogy a felhasználó megjelenítéséhez / elrejtéséhez és engedélyezheti / letilthatja az összes gombok formájában.
Végre képzelhető el, legalább három módon. Az első módszer a legegyszerűbb, de kevesebb, mint tökéletes, még hibalehetőséggel és fáradságos. Ő, tulajdonságainak módosítására Bekapcsolt és Látható gombot minden formában.
A második, több alkalmas, a folyamat dolgozik egy nagyszámú komponens használata komponens által elfogadott elnevezéseit alapértelmezés módszer FindComponent. Általános szabály, hogy a tervező Surface generál nevek ezek keverékei, amelyek nyilvánvalóak lesznek csak neki, de veletek vagyunk; Ha szeretnéd, hogy több olvasható, ezek a nevek meg kell változtatni. Azonban a stílus elnevezési alkatrészek hozzá kell adni az ablak tervező Surface. amely a meghatározás szerint + Unikalnyy_Indeks ComponentName. ebben az esetben nagyon hasznos lesz. Ez lehetővé teszi, hogy könnyen olvassa el a szükséges alkatrészeket, ami FindComponent módszer a cikluson belül.
FindComponent módszer AName Components lehetőséget keresni tulajdonságait és a visszautat egybeesett az összetevő neve. Ha az összetevő nem található, akkor a függvény nulla. Components ingatlan egy listát az összes hozzájuk tartozó alkatrészekkel, hogy egy adott alkatrész.
Az alábbi példakód bemutatja, hogyan lehet látni, hogy a forma tartozik nevű összetevő MyButton.
Megjelenítéséhez / elrejtéséhez vagy engedélyezze / tiltsa le az összes gombok formájában, hívja FindComponent eljárás és használata ciklus cikiusszámláió előállító nevének a kívánt alkatrész. Mivel a módszer FindComponent mindig visszatér a fajta TComponent. szükséges ahhoz, hogy a keletkező alkatrész TButton típusát. Mielőtt olvassa el a tulajdonságok be- és kikapcsolható.
A működés a Delphi
A harmadik út a megoldáshoz egy nagyszámú komponens futásidőben, hogy kézzel böngészni Components tulajdon és kiderítse TButton alkatrész vagy bármely más kívánt típust. a művelet során használjuk, hogy meghatározzuk a típusú alkatrész. A szintaxis a művelet az alábbiakban látható:
A művelet True. ha az objektum egy osztály példánya. vagy objektumpéldányt örökösök. Például, a következő ellenőrzés minden esetben fogják értékelni, mint Igaz. mert a fő formája az alosztálya TForm.
TRadioButton alkatrész használt hasonló összetevő TCheckBox. Kockás tulajdonság meghatározza, hogy a kapcsolót, és OnClick tulajdonság lehetővé teszi, hogy végre a kód telepítése után azonnal kapcsoló telepítve.
Nézzünk TRadioButton összetevő létrehozásakor egy alkalmazás, amellyel lehetővé válik, hogy módosítsa a párbeszéd generált üzenetek funkció MessageDlg. MessageDlg függvényt jellemzően megjelenítésére négy szabványos üzenet doboz: PÆrbeszØdpanel figyelmeztetés, hiba, információs ablak és egy megerősítő ablakot.
Hozza létre a következő párbeszédablak
üzenet doboz típusa határozza meg az átviteli TMsgDlgType. amely bejelentette, a párbeszédablakok egység:
Változás a típusú üzeneteket könnyebb az egész ablak definiálásával privát változó TMsgDlgType és adja meg a megfelelő értéket úgy abban az esetben OnClick minden kapcsoló, ahogy az alábbi jegyzék.
Megváltoztatni a típusát az üzenet ablak, akkor is ötvözi a meglévő kódot eseménykezelők egy eseménykezelő. Egy közös kezelő, fel tudjuk használni a Sender paraméter azonosítja a kapcsolót, ami miatt az eseménykezelő, és egy megfelelő változást a fajta üzenet mezőbe. Először távolítsa el a teljes eseménykezelőkkel OnClick Error kapcsolót. Információs és megerősítése, és helyezzük a következő kódot a eseménykezelő onclick figyelmeztető kapcsoló:
Most meg kell rendelni az onClick eseménykezelő a mind a négy kapcsolót. Rendeljen egy eseménykezelő egy nagyszámú komponens lehet leggyorsabb, ha először válassza ki az alkatrészt a tervező Surface. majd az Object Inspector Object Inspector rendelni kezelőt az eseménynek megfelelő.
Több szempontból elfogadható módon megváltoztatni az üzenet mezőbe írja társított tulajdonságok Tag. Ez a tulajdonság nem rendelkezik speciális, nem számítva azt a tényt, hogy ez lehetővé teszi, hogy tárolja egy egész értéket, és használja azt, ha szükséges. Ebben az esetben tudjuk használni a Tag tulajdonság, hogy távolítsa el a teljes szerelvényt, ha -Akkor a eseménykezelő.
A mi feladatunk az, hogy adja meg a Tag tulajdonság kapcsolók egész érték, amely egyezik a felsorolt értékek mtWarning állandók. mtError. mtInformation és mtConfirmation. Így tudjuk elhagyni a tulajdonság változatlan Tag Warning kapcsolót, mert az értéke Ord (mtWarning) 0, bár akkor módosítani kell a címke tulajdonság a másik három kapcsoló. Tehát rendelni egy ingatlan értéke Tag Error 1 kapcsoló, kapcsoló címkeinformáció ingatlan értéke, mint egy ingatlan 2 Tag Megerősítés Érték 3 kapcsolót.
Most, amikor a Tag tulajdonság tartalmazza mind a négy kapcsoló típusának megfelelő üzenet, nem kell használni ha-akkor szerkezetét. hogy milyen típusú üzenet mezőbe. Elég, ha csak a leadott értékcímkének Sender komponens TMsgDlgType típusát. Sőt, meg kell tennünk két öntött beírni. Először is, meg kell hozni Sender objektumot TComponent típusát. mert a címke tulajdonság meghatározott TComponent osztályban. aztán vezet a Tag tulajdonság TMsgDlgType típusát.
Mint látható, a használata a Tag tulajdonság jelentősen csökkenti a kód módosításához szükséges az üzenet típusát mezőbe. Ha szükséges, akkor is törölheti a változó SenderComp és rögzíti mind hoz, hogy írja be az ugyanabban a sorban, annak érdekében, hogy tovább csökkentsék a sorok száma kódot.
TListBox összetevő listáját jeleníti meg terméket. A legfontosabb tulajdonsága ez az összetevő a vagyontárgyak. amely egy objektum típusú TStrings. TStrings osztály megvalósítja listáját húrok, és lehetővé teszi, hogy manipulálják őket. Így, ha azt szeretné, hogy manipulálják az elemeket a listában, akkor hívja módszerek a tulajdonságairól elemek. Például, hogy egy új elemet a listában, fel kell hívnia az Add módszerrel az elemek tulajdonság. Az Add metódus egyetlen paramétert - a karakterláncot, amely hozzáadódik a végén a lista.
Ebben a részben fogjuk használni TListBox összetevő létrehozásához olyan alkalmazás, amely lehetővé teszi, hogy az összes telepített betűtípusok a számítógépen. A telepített betűtípusok felajánlott egy újabb globális elem - az objektum képernyőn. Sorolja betűtípusneveket szereplő betűtípusok tulajdon. amely szintén nyilvánították TStrings típusa tulajdonság.
Megjelenítéséhez betűtípusok listáját a listában, akkor be kell másolni a teljes tartalmát a betűkészletek listáját a listában. Másolás elemek egyik listából a másikba kézzel, de a legjobb, ha az Assign eljárással. Ez a módszer jelenleg szinte mindenütt a VCL és használják, hogy másolja a tartalmát az eredeti objektumot a kért objektumot. Abban az esetben, egy listát a húrok hozzárendelése a módszert alkalmazzák, hogy másolja az összes sort az eredeti listán szereplő sorok a cél listán.
1. Add TLabel komponens a tervező felület és megnevezni PreviewLabel.
2. Adjuk hozzá az eseménykezelő OnClick TListBox komponenst.
Kiválasztása elemek sokaságát
Alapértelmezett TListBox komponens lehetővé teszi, hogy válasszon csak egy tétel a listán. Ha azt szeretnénk, hogy több elemet kiválasztani a listából, be kell állítania egy tulajdonság multiselect True. Amikor a multiselect tulajdonság oda True. nem tudja használni ItemIndex tulajdon. hogy megtudja, melyik elem került kiválasztásra. Abban az esetben, egy listából multiselect ingatlan ItemIndex azonosítja csak egyik eleme, hogy a középpontban. Keresse meg, melyik eleme az ablak multiselect lista került kiválasztásra, akkor a tulajdonságok Kiválasztott. Ez a tulajdonság indexelt tulajdonság, amely lehetővé teszi, hogy meghatározza, volt olyan elem, amelyet az index kerül kiválasztásra. Például, a következő kód lehet meghatározni, hogy a kiválasztott ablak az első elem a lista:
Ha azt szeretnénk, hogy működjön együtt az összes kiválasztott elemeket, meg kell írni egy hurok, amely ellenőrzi a status minden eleme - ez van kiválasztva, vagy sem.
Hozzunk létre egy egyszerű alkalmazás, amellyel a felhasználó több elemet is kiválaszthat egy listában, és mozgassa őket egy másik listát. Hozzáadás tervező Surface két TListBox komponenst. ListBox1 komponens az eredeti listán, és ListBox2 -tselevym komponens.
Másolás az elemeket a forrás listája ablakát a célt normál ciklus. mert a tartalma listához eredeti ablak nem változik. Ahhoz azonban, hogy távolítsa el a kiválasztott elemeket a forrás listából, azt kell használni downto hurok. mert Delphi módszer megváltoztatja annak tartalmát (és mutató) Forrás ablakban.
Ha csak bizonyos elemeket szeretné törölni, akkor is használhatja DeleteSelected módszer.
Módszerek BeginUpdate és EndUpdate
Normális esetben, minden alkalommal, amikor egy új elemet a listából, vagy változtassa meg a tartalmat, a listában újrarajzol mutatni az új elem. Ha hozzá elemeket a listában a ciklusban, akkor használja a módszereket és BeginUpdate EndUpdate tulajdonságok elemek. mert lehetővé teszik a fogyatékkal alatt dolgozza át a listában.
BeginUpdate módszer ideiglenesen kikapcsolja újrarajzoláskor az ablak lista és EndUpdate eljárás folytatódik. BeginUpdate eljárást általában hivatkoznak korábbi ciklusban módosítja a tartalmat a listából, és EndUpdate módszer - befejezése után a ciklus újrarajzoláskor a listából és a kijelző tartalom változásai lista ablakban.
BeginUpdate és EndUpdate technikák valóban lehetővé teszi, hogy megtapasztalják a sebességkülönbség a műveletet egy ablak lista, különösen, ha ez egy nagy ciklus. Tehát, 5000, hogy a kiválasztott terméket egy listából a másikba, majd körülbelül 2 másodpercig. Ha a módszereket és BeginUpdate EndUpdate. majd végezze el ugyanazt a ciklust eltart körülbelül 0,2 másodperc.
IndexOf a módszer lehetővé teszi, hogy megtalálja a karakterláncok sztringlistát. Ez a módszer egy-paramétert, és visszaadja az index a húr telt el, ha találtak. Ha az adott string string lista nem létezik, indexOf eljárás visszatér -1.
IndexOf módszert lehet használni, például, hogy a felhasználó képes felvenni a listába csak egyedi értékeket. A következő példa bemutatja nem csak az a módszer alkalmazásának indexOf. de MessageDlg funkció kiadására a felhasználó kérésére. MessageDlg funkció használható, hogy a felhasználó, ha azt akarja, hogy hozzáadott értéket a listáról, ha ez az érték már létezik.
Ha szükséges, akkor is kihasználni a rövidített értékelést.
Tulajdonságok Nevek és értékek
Osztályba TStrings azonosított két jellemző, hogy lehet használni, hogy hozzáférjen a sort a sztringlistát. Tulajdonságok nevek és értékek indexelt tulajdonságokat, amelyek lehetővé teszik a hozzáférést egy részét tartalmazó sort a név-érték párokat. Alapesetben a szimbólum elválasztó része a név a része az érték a sorban az egyenlőségjel (=).
A nevek és értékek tulajdonságokat, például könnyen létrehozhat egy kis szótárat. Most fogunk létrehozni egy egyszerű angol-orosz-angol-ukrán szótár a tulajdonság értékek.
Az első dolog, amit meg kell tennie, hogy kitölti a két különböző szöveges fájl angol-orosz-angol-ukrán név-érték párokat.