HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Project és modul információk


ToolsAPI 2. rész

Példaprogram letöltése

5964 bájt

Az előző részben létrehoztunk a Delphi főmenüjében egy új menüpontot. Most ezt a menüpontot bővítjük egy további elemmel. Készítünk egy ablakot, amely segítségével megtudhatjuk, hogy project-ünk hány unit-ból és Form-ból áll, valamint hogy ezek mely állományokban találhatóak. Az ablak második felében a Delphi moduljait, valamint azok komponenseit listázzuk ki.

A mellékelt példaprogram használatához a ModulInfo.dpk Package állomány tartalmát telepítenie kell.
Delphi5 feletti verziók használata esetében a Package fordítása hibát fog okozni, hiányzó unit-ok miatt. A fordításhoz szükséges unit-ok megtalálhatóak a delphiX\Source\ToolsAPI könyvtárban.
Ugyanazokat a kezdeti lépéseket kell végrehajtanunk, mint az előző részben. Létre kell hoznunk egy DataModule-t, valamint egy Form-ot.
Ügyelnünk kell arra, hogy sem a unit-ok nevei, sem az objektumok nevei nem lehetnek ugyanazok, mint amiket az előző programban készítettünk. Más elnevezést kell beállítanunk a Package Options ablakában. A TWizard osztály implementálása során létrehozott GetIDString és GetName függvényeknek is más értékeket kell visszaadniuk, mint az előző programnak.
Fontos, hogy mindenhez más elnevezést használjunk, mert különben a Delphi nem fogja engedni feltelepíteni az újabb programunkat, hiszen ugyanazon név alatt nem hozhatunk létre egy helyen, két objektumot.
Egy másik probléma is felmerül. Az előző részben létrehoztunk egy új menüpontot. Nem lenne szerencsés ugyanazzal a névvel még egyet elkészíteni.
Meg kell tehát vizsgálnunk, hogy az előző alkalommal létrehozott menüpont létezik-e. Ha nem, akkor létrehozzuk, ha igen, akkor csak egy újabb almenüpontot helyezünk el benne.
if m.Items[m.Count-2].Caption<>'Animare' then begin
  PopupMenu1.Items.Caption:='Animare';
  m.Insert(m.Count-1, PopupMenu1.Items);
end
else begin
  m:=m.Items[m.Count-2];
  n:=TMenuItem.Create(Nil);
  n.Caption:='Project/Modul info';
  n.OnClick:=Tools2Click;
  m.Add(n);
end;
Az információkat a ToolServices objektum segítségével fogjuk elérni. Használatához a uses listában fel kell sorolnunk a következő unitok neveit: ToolsAPI, ExptIntf, ToolIntf.
A ToolServices egy olyan objektum, amely már deklarálva van, nem kell belőle új példányt létrehoznunk.
Számos függvénnyel rendelkezik. Ezeknek most két csoportját vizsgáljuk meg. Az egyik csoport segítségével az aktuálisan megnyitott project állományairól kaphatunk információkat. A másik csoport a Delphi moduljairól készít listát. A telepített komponenseket is modulok tartalmazzák, ezeket is kilistázhatjuk.
Project állományok
GetCurrentFile
function GetCurrentFile: string;
Az aktuálisan megnyitott állomány elérési útját és nevét adja vissza.
GetFormCount
function GetFormCount: Integer;
A project-ben szereplő Form-ok számát adja vissza.
GetFormName
function GetFormName(
Index: Integer
): string;
A megadott indexű Form-hoz tartozó állomány elérési útját és nevét adja vissza.
Paraméterek
Index: Integer
A Form indexe.
Visszatérési érték
A Form-ot tartalmazó állomány elérési útja és neve.
GetNewModuleName
function GetNewModuleName(
var UnitIdent,
FileName: string
): Boolean;
Automatikusan generál egy soron következő unit- és állománynevet. Ugyanazt a mechanizmust használja, mint az IDE.
Paraméterek
var UnitIdent
Az itt megadott változóba kapjuk meg a unit soron következő, lehetséges nevét.
FileName: string
Az itt megadott változóba kapjuk meg a unit soron következő, lehetséges állománynevét.
GetProjectName
function GetProjectName: string;
Az aktuálisan megnyitott project dpr állományának elérési útját és nevét adja eredményül.
GetUnitCount
function GetUnitCount: Integer;
A project-hez tartozó unit-ok számát adja vissza. Az eredménybe a dpr, pas, res, dof, pas, stb. állományokat is beleszámolja. Ha csak a dpr és pas állományokat akarjuk kilistázni, akkor erre figyelnünk kell.
GetUnitName
function GetUnitName(
Index: Integer
): string;
A project egy unitjának elérési útját és állománynevét adja vissza.
Paraméterek
Index: Integer
A unit indexe. Az indexelés a szokásos módon, 0-val kezdődik.
Visszatérési érték
A megadott indexű unit elérési útja és állományneve.
IsFileOpen
function IsFileOpen(
const FileName: string
): Boolean;
Segítségével leellenőrizhetjük, hogy egy megadott állomány meg van-e nyitva.
Paraméterek
const FileName: string
A vizsgálandó állomány elérési útja és neve.
Visszatérési érték
Igaz, ha az állomány meg van nyitva, ellenkező esetben hamis.

Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2003 évkönyv 248. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |