HyperLink


Bejelentkezés
E-mail: 
Jelszó: 






Skip Navigation Links
 

Paradox táblához jelszavat rendelő komponens készítése


Példaprogram letöltése

5600 bájt

A ParadoxPassword egy speciális komponens, amellyel jelszót rendelhetünk hozzá egy tetszőleges paradox adattáblához. A komponens láthatatlanul beépül az adattábla és az alkalmazás közé. Egy egyszerű metódushívás segítségével megvalósítja a jelszó beállítását. Ezzel megkímél minket a háttérben zajló, „bonyolult és nehézkes” BDE API ismeretétől és használatától.

A mellékelt példaprogram megnyitása előtt a ParadoxPassword.pas-ban lévő komponenst telepítenie kell a Delphi alá. Ehhez válassza a Component - Install Component menüpontot.
A ParadoxPassword komponens egy láthatatlan komponens, amely segítségével jelszót rendelhetünk hozzá egy tetszőleges paradox adattáblához.
Ahhoz, hogy a komponenst használni tudjuk a következő lépések szükségesek:
  • Helyezzünk el a Form-on egy TTable komponenst, majd ennek a komponensnek a segítségével létesítsünk kapcsolatot az adattáblával. A példaprogramban ez az Adatok.db tábla.
  • Helyezzük el a Form-on a ParadoxPassword komponenst.
  • A ParadoxPassword komponens Table tulajdonságában adjuk meg az előbb felvett TTable komponens nevét. (Ez listából kiválasztható, ha a két komponens egy Form-on helyezkedik el.)
  • A ParadoxPassword komponens Password tulajdonságába írjuk be a használni kívánt jelszót, majd hívjuk meg az Execute metódust.
Az Execute függvény
A függvény hajtja végre a Password tulajdonságban megadott jelszó hozzárendelését a táblához.
A függvényt azután kell meghívni, miután beállítottuk a Table és a Password tulajdonságot.
A függvény visszatérési értéke Boolean típusú. True, ha a jelszó beállítása sikeres volt, False, ha sikertelen.
Az Execute függvény működése
Első lépésben a függvény bezárja a Table tulajdonságban megadott táblát, majd megnyitja azt kizárólagos használatra. A jelszó hozzáfűzés olyan művelet, amely a tábla felépítését változtatja, ezért van szükség kizárólagos használatra.
with fTable do
  begin
  if Active and (not Exclusive) then Close;
  if (not Exclusive) then Exclusive := True;
  if (not Active) then Open;
  hDB := DBHandle;
  Close;
end;
A hDb változó hDBIDb típusú. Ez a típus a BDE unit része. A BDE függvények nagy részének szüksége van egy azonosítóra, ezt az azonosítót tároljuk el a hDb változóban. Egy adatbázis akkor kapja meg ezt az azonosító értéket, amikor megnyitjuk. Ezt az értéket a DBHandle szolgáltatja.
Egy tábla szerkezetét a CRTblDesc (tábla leíró) írja le. Szükségünk van egy pointerre, amelyben az ehhez szükséges adatokat beállítjuk és tároljuk. Ez lesz a pTblDesc változó.
GetMem(pTblDesc, SizeOf(CRTblDesc));
FillChar(pTblDesc^, SizeOf(CRTblDesc), 0);
with pTblDesc^ do
   begin
      StrPCopy(szTblName, StrToOem(fTable.TableName));
      szTblType := szParadox;
      StrPCopy(szPassword, StrToOem(Password));
      bPack := True;
      bProtected := True;
   end;
A tábla tulajdonságainak módosítása futási időben a DbiDoRestructure BDE API függvénnyel lehetséges. A függvény meghívása során paraméterként kell átadnunk a HDb és a pTblDesc változókat.
Néhány tanács
Ha a jelszó beállítása sikertelen, az valószínűleg abból adódhat, hogy egy másik program, esetleg egy másik felhasználó is használja az adott adattáblát.
Ha egy paradox táblához már jelszót rendeltünk, akkor nem tudjuk használni a táblát, csak a jelszó ismeretében. Ez vonatkozik a megnyitására és új jelszó hozzárendelésére egyaránt. Ezért kétszer nem is állíthatjuk be a tábla jelszavát egymás után, csak ha közben megnyitottuk a táblát az előzőleg beállított jelszó használatával.

Cikksorozat

#IDKategóriaCikk címeSorozat
3520DelphiSQL nézettáblák használata1. rész
3559DelphiSQL nézettáblák létrehozása, törlése2. rész
3586DelphiRekordműveletek nézettáblákon keresztül3. rész
3617DelphiNéhány hasznos lehetőség4. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2002 évkönyv 647. 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-2010 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |