HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Milyen Office összetevők vannak telepítve a gépre?


Példaprogram letöltése

3962 bájt

Az Office programcsomag, ahogy azt a neve is mutatja, irodai és vállalati munkát támogató programokat tartalmaz. Készíthetünk szöveges állományokat, táblázatokat, adatbázisokat, reprezentációkat, sőt, elektronikus levelezésünket is lebonyolíthatjuk velük. Azonban a különböző típusú feladatokra általában az Office egy meghatározott programját kell használnunk. A cikkben bemutatásra kerülő módszer segítségével egyszerűen megállapíthatjuk, hogy az általunk használt Office mely összetevői vannak, illetve nincsenek telepítve gépünkre.

Mindehhez a Windows Registry-jét hívjuk segítségül. Amikor felinstallálunk egy programot a gépünkre, az beregisztrálja magát a Registry-be, és egy úgynevezett Registry Key (kulcs) jön létre, mely a telepített programra utal. Példánkban ezt a Key-t fogjuk megvizsgálni.
Lássuk, hogyan valósul ez meg a példaprogramban.
Első lépésként egy tömbben eltároljuk az Office-ban található alkalmazások neveit.
  Appl: array[0..5] of String = ('Word', 'Excel', 'Access', 'PowerPoint', 'FrontPage', 'Outlook');
Ezután létrehozunk egy olyan függvényt, mely megvizsgálja, hogy az OfficeAppl String típusú paraméterben kapott alkalmazásnévhez létezik-e a Registry-ben kulcsinformáció.
function IsOfficeApplInstalled(OfficeAppl:string): Boolean;
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_CLASSES_ROOT;
Megnyitjuk a Registry-t, majd beállítjuk azt a munkakönyvtárat, amelyikben az adatokat el szeretnénk érni. Esetünkben ez a HKEY_CLASSES_ROOT lesz.
    Result := Reg.KeyExists(OfficeAppl+'.Application');
Minden alkalmazás, mely installálásra kerül a rendszerben, egy *.Application bejegyzést kap ebben a könyvtárban, ahol a * helyén a beregisztrált alkalmazás neve található. Esetünkben ez például a Word.Application lesz.
  finally
    Reg.Free;
A munka végeztével felszabadítjuk a Registry-t.
  end;
end;
Ezután meghívjuk a fenti függvényt, melynek értékként a tömbben eltárolt alkalmazások neveit adjuk át sorban, és attól függően, hogy létezik-e bejegyzés a megadott programhoz vagy sem, a megfelelő üzenetet adjuk a Memo-hoz.
Példánkban ez a következőképpen néz ki:
  Memo1.Clear;
  for i:=0 to 5 do
  begin
    if IsOfficeApplInstalled(Appl[i]) then
      Memo1.Lines.Add('A MS '+Appl[i]+' telepítve van a gépre.')
    else
      Memo1.Lines.Add('A MS '+Appl[i]+' nincs telepítve a gépre.')
  end;
Először töröljük a Memo1 tartalmát, majd az IsOfficeApplInstalled függvény visszatérési értékétől függően kiíratjuk a megfelelő üzenetet.
A fent ismertetett módszer segítségével nem csak az Office komponensei, hanem bármely más program is megvizsgálható, melynek létezik a Registry megfelelő könyvtárában ’.Application’ végű bejegyzése.

Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2003 évkönyv 487. 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 |