Delphi programozási jegyzetek

Delphi: programozó jegyzeteket. 1. rész

Köztudott, hogy a Delphi teremt számos kiterjesztésű fájlokat pas, DFM, DPR, stb Jellemző, hogy a programozó érdekli kódfájlokhoz (PAS) és leírásai formák (DFM), míg a többi nem szem elől, de hiába -, hogy fontos információt hordoznak, amely lehet (és bizonyos esetekben - meg kell) változás.

Kezdjük a projekt fájl (DPR). Sőt, ez tartalmazza az aktuális programot. míg a projekthez kapcsolódó formáit több fájlok és DLL rutin.

Projekt fájl struktúra, amely egyetlen alakzat, mint például látható az 1. lista.

Project (program) indul fordul a inicializálása módszer a globális Application objektum, és véget ér befejezése után az ő módszerét Run. Ez a módszer - a központi: ez megjeleníti a fő formája a kérelem és elküldi a Windows üzeneteket. A munka elvégzésének a kódsor található elérése előtt ez függ alkalmazás betöltési idő, és a képernyő, mielőtt a fő ablakban.

Inicializálása módszert szolgáltat, mint mondják, csak abban az esetben, és semmi nem alapértelmezett. Ahhoz, hogy ez a munka, akkor helyezze a mutatót a megfelelő eljárást paraméterek nélkül a globális változó InitProc. Ezt meg lehet tenni bármilyen kezdeti szakaszban az egység (a kód ilyen szakaszok aktiválódik kezdete előtt a fő program), vagy közvetlenül a szervezetben a fő projekt (lásd a 2. listát):

Természetesen ez utóbbi esetben, könnyebb lesz az első állítás a fő program kifejezetten utal az init eljárás. Általánosságban elmondható, hogy a legtöbb esetben Application.Initialize operátor lehet távolítani minden következmény nélkül a program.

Csökkentve a betöltési időt

Egy valós projekt számos formája közötti hívásokat az inicializálása és futtatása általában megtalálhatók számos kihívással CreateForm módszer. által, amelyek a projektben használt formában. Minden hívás ez a módszer növeli az indítási idejű alkalmazásokhoz. A kezdeti időben a képernyőn lesz látható, csak egy ablak a fő alkalmazási forma (létrehozta az első utalás CreateForm), valamint a többi ablak objektumok hozhatók létre a program során, mielőtt megjelenne a megfelelő ablakot.

Alapértelmezésben a kapcsoló automatikus létrehozása formák (ún opció által Project | Options környezetben Delphi) a Preference eszközök lapjára | Környezetvédelmi jelölőnégyzetet, ami Delphi hogy minden új formája a listán az Auto-űrlapok létrehozásához, és ezáltal a megfelelő operátor fellebbez CreateForm fájl projektben. Ha törli ezt a munka megkezdése előtt a projekt, vagy elhalasztja a felesleges formák a listán Elérhető formák Project ablakban | Options. jelentősen (néha - tíz alkalommal), hogy csökkentsék a letöltési időt alkalmazásokat.

A képernyő, mielőtt a fő ablakban

Az alábbi lista 3. (például venni a Delphi rendszer segítségével) létrehozott program 5 ablakokat. A forma Form5 ProgressBar1 mutató. amellyel teszi a folyamat letöltése a program, hogy pontos legyek - létrehozását az összes többi ablak.

Jelszó védelmi program

Trial verziók

A fenti módszer létrehozása próbaverziói programok csak akkor működik, amíg egy bizonyos időpontban vagy kimerülése a megadott számú fut. 5. lista mutatja a projekt fájlt, amelyben a próba-változat a program indítása nem több mint 5-ször. Megjegyezni a következő futás számot a registry.

A projektről át egy másik mappába

By the way, ez a szám szemlélteti az megsérti a szabályt „egy projekt - egy mappa”: ez a projekt, annak ellenére, hogy a kijelölt szabály, sok modul tárolja almappákat, ennek eredményeként a Delphi jelzi hosszú útvonalakon való hozzáférés a vonatkozó fájlokat. Ha egy ilyen projekt van másolva egy floppy lemezre, ezeket az útvonalakat változatlan marad, és a fordító nem találja a fájlokat. Még rosszabb, ha másolja a projekt egy másik mappába ugyanazon a merevlemezen. Ebben az esetben indítsa el a baj: ha valamit változtatni az új projekt, de az alkalmazás nem válaszol, és ha meg a kontroll töréspont bármikor a modulok lenne kivitelezhetetlen - a fordító továbbra is használja az eredeti fájlok nem másolatokat.

Ha azt szeretnénk, hogy mozog a projekt egy másik helyre, miközben a teljesítmény, meg kell először a Fájl lehetőség | Projekt mentése másként kívánja másolni a mappát a projekt fájlt, majd válasszuk a Fájl lehetőség | Mentés másként mozog az összes modult a projekthez kapcsolódó, ha Delphi lenne képes arra, hogy a szükséges javításokat a projekt fájlt. De ha minden a fájlokat egy mappában, akkor a uses nem határozza meg a megközelítési útvonalak, így nyugodtan másolni egyszerre az összes fájlt egy másik mappába.

.DSK a telepítő fájlt. ahol a közeg információt tárol az állam a képernyőn a kiadás időpontjában a Delphi, továbbá biztosítja a teljes elérési útvonalak fájlokat megnyitni. Ne másolja, ha át a projekt ezt a fájlt.

Változatos üzenete következtetés

Minden gazdagsága Windows vizuális jellemzői nem korlátozódnak egy sor tulajdonságok és módszerek TCanvas osztályban. Ez az osztály magában csak a legnépszerűbb technikákat dolgoznak rajz eszközökkel. Táblázat. 1 listák néhány funkciót a Windows, ami nem magukba TCanvas osztály és jelentősen változhat a szöveges kimenet (ő leginkább kimerült a szűk határait TCanvas).

Külön szerkezet TLogFont golf CreateFontIndirect funkciók jelentése a következő:

lfHeight - a magassága a font (1 pont = 1/72 inch); Ha nagyobb, mint 0 - meghatározza a magassága „jelek-hely” (a hangszórók nagybetűs karakter elemei a betűk E, Q); Ha kevesebb, mint 0 - határozza meg a magassága a „tiszta” karakter, ha értéke 0 - magassága választja a Windows;

lfWidth - átlagos karakter szélességű; ha egyenlő 0 - állítja a szélessége a Windows;

lfEscapment - szög alapvonal a szöveg tized fok képest vízszintes irányban; pozitív érték - óramutató járásával megegyező; Windows 95/98 egybeesik lfOrientation;

lfOrientation - szimbólumok hajlásszög tekintetében a kiindulási; A Windows NT True Type betűtípus eltérhet lfEscapment; ezt be kell állítania a megjelenítési módot, hogy a készülék gm_Advanced (alapértelmezés gm_Compatible);

lfWeight - font sűrűségű (fm_DontCare = 0 - sűrűsége kiválasztja a Windows; fm_Thin = 100 - nagyon vékony font; fm_ExtraLight = 200 - nagyon könnyű; fm_Light = 300 - fény; fm_Normal = 400 - normális; fm_Medium = 500 - megvastagodott; fm_SemiBold = 600 - félkövér; fm_Bold = 700 - félkövér; fm_ExtraBold = 800 - megerősített; fm_Heavy = 900 - nehéz);

lfItalic, lfUnderline, lfStrikeOut - egy nem nulla érték azt jelenti, illetve ferde, keresztbe, és aláhúzással;

lfCharSet - karakterkészlet (ANSI_CharSet = 0; default_charset = 1; Symbol_Char-Set = 2; ShiftJis_CharSet = 128; OEM_CharSet = 255);

lfOutPrecision - pontosság a font; Ajánlott Out_TT_Prec (True Type és válassza vektorbetűtípusokat, ha több fajta hasonló betűtípussal) vagy Out_TT_Only_Prec (Csak True Type);

lfClipPrecision - meghatározza a pontosság a cut-off címkék határait a rajz (Clip_Character_Precis Clip_Embedded, Clip_Mask, Clip_TT_Always, Clip_Default_Precis - ajánlott, Clip_LH_Angles Clip_Stroke_Precis ..);

lfQuality - határozza meg a minőségét vektorizálás (Default_Quality, Draft_Quality, Proof_Quality);

lfPitchAndFamily - négy LSB meghatározza a betűtípust, négy vezető - a családját;

lfFaceName - betűtípus nevét.

Ábra. A 2. ábra egy példa dőlt létrehozott funkciót CreateFontIndirect.

Ahogy végre, ez a példa mutatja be a 6. példában.

Paraméter Format DrawText funkciót tartalmazhat egy vagy több, zászlók (táblázat. 2).

Ha a jelző be van állítva dt_CalcRect. funkció megváltoztatja a magassága és szélessége a téglalap oly módon történik, hogy a teljes szöveget. Ha látsz egy pár sort, a szélessége a kibocsátás nem változik. A függvény visszatérési értéke true magassága a kimeneti négyszög.

Paraméter beállítások ExtTextOut funkció kombinációja lehet a következő értékeket:

eto_Clipped - a szöveg lesz nyírni határokat téglalap;

eto_Gliph_Index - blokk feldolgozása nyelv driver;

eto_Opaque - háttér rajzolni újra

eto_RTLReading - kimenet olvasásához jobbról balra.

Megjeleníti a szöveget szabvány TCanvas módszerek mindig újra rajzolt háttér karakter (a háttér színe visszaadja GetBkColor funkció). Ha a karakter háttér színe eltér a háttérben a vászon, a visszavonás kíséri kellemetlen mellékhatásai. Ha a példát a 6. lista egy űrlapot, hogy elhagyja az alapszín clFaceBtn, a kimeneti ablak ábrán látható. 3.

Természetesen a segítségével SetBkColor funkció beállítható, így a színe megegyezik a színe a vásznon, de ez nem mindig lehetséges. Például, ábra. A 4. ábra a képernyőn, ami hagyományosan biztosítani sok Setup.exe telepítőt. Háttér ezen a képernyőn nem állandó, hanem fokozatosan eltolódik az intenzív kék és fekete. Egyértelmű, hogy létrehozni egy változtatható színű funkció SetBkColor lehetetlen. Sőt, a nagybetűs feliratok Setup.exe programot is hagyományosan megjelenített megvastagodott lejtős Times New Roman betűtípussal fehér betűkkel, fekete árnyék. Megvalósítása ez a hatás elég egyszerű. Tehát, ha kell, hogy kilépjen a rajz háttér, amelyben keresztül SetBkMode funkciók Átlátszó mód. és megjeleníti a feliratot kétszer először fekete, és a második - fehér, kiszorítva a második címke kissé balra és felfelé képest az első. 7. lista szemlélteti ezt:

Ábra. A 4. ábra az ablak fut a program.

Inclusion formájában könyvtárban

A következő példa a felvétele berendezések formájában DLL és használja a hívó programban (lista 8. 9. és 10.).

A modul képezi DLLForm. helyezni egy DLL, arra utal, hogy a standard Forms modul, és így kapja a globális objektumok számára Alkalmazás. aki „nem tudom” semmit globális objektum hívó. A modális hívás módban ez nem számít, mert a modális ablak blokkolja a hívó. A nem-modális módban a hívást kell szinkronizálni az intézkedés tárgyak, különben a minimalizálása a fő ablakban, például nem vezet minimalizálásával windows DLL. A szinkronizálás érjük el a kilincset Application DLL tárgy helyett egy megfelelő leíró hívó program.

További információért, kérjük, forduljon a cég Interface Kft

Kapcsolódó cikkek