602SQL-Úplná dokumentace Index  

TSQL602ServerProps

Delphi / Kylix

Zjednodušená deklarace třídy:

type TSQL602ServerProps = class(TComponent)
public
  property Connection : TComponent;
  property Section    : string;
  property SubSection : string;
  
  constructor Create(AOwner : TComponent; AConnection : TComponent); reintroduce; overload;

  function  GetProp(Sect : string; SubSect : string; Name : string) : string; overload;
  function  GetProp(Sect : string; SubSect : string; Name : string; Index : Integer) 
            : string; overload;
  function  GetProp(Name : string) : string; overload;
  function  GetPropInt(Sect : string; SubSect : string; Name : string) : Integer; overload;
  function  GetPropInt(Name : string) : Integer; overload;
  function  GetPropBool(Sect : string; SubSect : string; Name : string) : Boolean; overload;
  function  GetPropBool(Name : string) : Boolean; overload;
  function  GetPropBin(Sect : string; SubSect : string; Name : string; var Value; 
            Size : Integer) : Integer; overload;
  function  GetPropBin(Name : string; var Value; Size : Integer) : Integer; overload;
  procedure SetProp(Sect : string; SubSect : string; Name : string; Value : string); overload;
  procedure SetProp(Sect : string; SubSect : string; Name : string; Index : Integer;  
            Value : string); overload;
  procedure SetProp(Sect : string; SubSect : string; Name : string; Value : Integer); overload;
  procedure SetProp(Sect : string; SubSect : string; Name : string; Value : Boolean); overload;
  procedure SetProp(Sect : string; SubSect : string; Name : string; var Value; 
            Size : Integer); overload;
  procedure SetProp(Name : string; Value : string); overload;
  procedure SetProp(Name : string; Value : Integer); overload;
  procedure SetProp(Name : string; Value : Boolean); overload;
  procedure SetProp(Name : string; var Value; Size : Integer); overload;
  procedure CreateSubSect(Sect : string; SubSect : string); overload;
  procedure CreateSubSect(SubSect : string); overload;
  procedure DeleteSubSect(Sect : string; SubSect : string); overload;
  procedure DeleteSubSect(SubSect : string); overload;
  procedure RenameSubSect(OldSubSect, NewSubSect : string); overload;
  procedure RenameSubSect(Sect, OldSubSect, NewSubSect : string); overload;
  function  GetSubSects(Sect : string) : TStringList; overload;
  function  GetSubSects : TStringList; overload;
  function  GetPropNames : TStringList; overload;
  function  GetPropNames(Sect : string; SubSect : string) : TStringList; overload;
  function  IsSubSect(Sect : string; SubSect : string) : Boolean; overload;
  function  IsSubSect(SubSect : string) : Boolean; overload;
end;


Popis

Třída umožňuje číst a měnit všechny nastavitelné vlastnosti 602SQL serverů i klientů, zhruba to, co ve standardní instalaci dělají různé nástroje Klientského vývojového prostředí 602SQL serveru.
Množina vlastností je rozdělena do jednotlivých sekcí. Některé sekce jsou dále rozděleny do subsekcí např. vlastnosti pro jednotlivé zaregistrované servery (subsekcemi jsou servery) nebo vlastnosti jednotlivých poštovních profily (subsekcemi jsou profily). Není-li subsekce třeba, zadávejte místo ní prázdný řetězec.
Ve třídě jsou definovány dvě obdobné sady metod (stejných jmen), které se liší je počtem parametrů: hodnoty vlastností lze číst nebo nastavovat jednak pomocí metod, ve kterých je jméno sekce a subsekce explicitně uvedeno např.:

  ServerProps := TSQL602ServerProps.Create(Self);
  SMTPServer := ServerProps.GetProp('Mail', 'Muj profil', 'SMTPServer');
  MyAddress  := ServerProps.GetProp('Mail', 'Muj profil', 'MyAddress');
  POP3Server := ServerProps.GetProp('Mail', 'Muj profil', 'POP3Server');
nebo je možné nastavit vlastnost Section a SubSection a použít metody, které mají jako parametr pouze jméno vlastnosti např.:
  ServerProps.Section    := 'Mail';
  ServerProps.SubSection := 'Muj profil';
  SMTPServer             := ServerProps.GetProp'SMTPServer');
  MyAddress              := ServerProps.GetProp('MyAddress');
  POP3Server             := ServerProps.GetProp('POP3Server');



Unit

ServerProps

Vlastnosti komponenty

Connection : : TComponent;

Spojení na SQL server, je nutné pouze pro vlastnosti ze sekce @SQLSERVER, @USERPROP a ServerInfo, u ostatních sekcí nemusí být zadáno (nečte se z databáze). Může být reprezentováno odkazem na komponentu třídy TSQL602Connection nebo TDBX602Connection.

Section, SubSection : string;

Nastavují sekci a podsekci zjišťované vlastnosti - viz Přehled všech sekcí, subsekcí a jejich vlastností. Není-li sekce a subsekce nastavena těmito vlastnostmi, musí se použít ty varianty funkcí, které mají jméno sekce a subsekce jako parametr.



Metody komponenty

constructor Create(AOwner : TComponent; AConnection : TComponent)

Konstruktor vytvoří třídu a nastaví vlatnost Connection

function GetProp(Sect : string; SubSect : string; Name : string) : string;

function GetPropInt(Sect : string; SubSect : string; Name : string) : Integer;

function GetPropInt(Name : string) : Integer;

function GetPropBool(Sect : string; SubSect : string; Name : string) : Boolean;

function GetPropBool(Name : string) : Boolean;

function GetPropBin(Sect : string; SubSect : string; Name : string; var Value; Size : Integer) : Integer;

function GetPropBin(Name : string; var Value; Size : Integer) : Integer;

Funkce vracejí hodnotu vlastnosti Name ze sekce Sect, subsekce SubSect.

function GetProp(Sect : string; SubSect : string; Name : string; Index : Integer) : string;

Umožňuje číst vlastnosti jejichž hodnoty mají více instancí, např.: Dir nebo IP_disabled_addr ze sekce @SQLSERVER. Parametr Index je pořadové číslo hodnoty.

procedure SetProp(Sect : string; SubSect : string; Name : string; Value : string);

procedure SetProp(Sect : string; SubSect : string; Name : string; Value : Integer);

procedure SetProp(Sect : string; SubSect : string; Name : string; Value : Boolean);

procedure SetProp(Sect : string; SubSect : string; Name : string; var Value; Size : Integer);

procedure SetProp(Name : string; Value : string);

procedure SetProp(Name : string; Value : Integer);

procedure SetProp(Name : string; Value : Boolean);

procedure SetProp(Name : string; var Value; Size : Integer);

Metody nastavují hodnotu vlastnosti Name ze sekce Sect, subsekce SubSect na Value.

procedure SetProp(Sect : string; SubSect : string; Name : string; Index : Integer; Value : string);

Umožňuje nastavit vlastnosti jejichž hodnoty mají více instancí, např.: Dir nebo IP_disabled_addr ze sekce @SQLSERVER. Parametr Index je pořadové číslo hodnoty.

procedure CreateSubSect(Sect : string; SubSect : string);
procedure CreateSubSect(SubSect : string);

Vytvoří subsekci SubSect v sekci Sect. Umožňuje např. zaregistrovat další SQL server nebo vytvořit nový poštovní profil.

procedure DeleteSubSect(Sect : string; SubSect : string);
procedure DeleteSubSect(SubSect : string);

Smaže subsekci SubSect v sekci Sect. Umožňuje např. zrušit registraci SQL serveru nebo zrušit poštovní profil.

procedure RenameSubSect(OldSubSect, NewSubSect : string);
procedure RenameSubSect(Sect, OldSubSect, NewSubSect : string);

Přejmenuje subsekci OldSubSect v sekci Sect. Umožňuje např. přejmenovat poštovní profil.

function GetSubSects(Sect : string) : TStringList;
function GetSubSects : TStringList;

Vrací seznam subsekcí v sekci Sect. Umožňuje získat např. seznam zaregistrovaných serverů nebo poštovních profilů.

function GetPropNames : TStringList;
function GetPropNames(Sect : string; SubSect : string) : TStringList;

Vrací seznam jmen vlastností v sekci Sect a subsekci SubSect. Umožňuje např. vytvořit kopii poštovního profilu.

function IsSubSect(Sect : string; SubSect : string) : Boolean;
function IsSubSect(SubSect : string) : Boolean;

Vrací true, je-li SubSect subsekcí sekce Sect. Umožňuje testovat např. zda je zaregistrovaný SQL server, nebo zda existuje poštovní profil daného jména.



Příklad

Zjistit a vypsat informace o serveru

  SQLServerProps1 := TSQL602ServerProps.Create(Self,SQL602Connection1);
  ipaddr := SQLServerProps1.GetProp('database',srvname,'IP address');
  filpath := SQLServerProps1.GetProp('database',srvname,'Path');
  pomi := SQLServerProps1.GetPropInt('ServerInfo','','OP_GI_SERVER_PLATFORM');
  if pomi = 0 then poms := 'Windows' else poms := 'Linux';
  if filpath<>'' then res := 'Lokální server s databází v '+filpath
  else res := 'Vzdálený server na IP adrese '+ipaddr;
  res := res +#13#10+ 'Platforma serveru:     '+ poms ;
  pomi := SQLServerProps1.GetPropInt('ServerInfo','','OP_GI_LICS_CLIENT');
  poms := IntToStr(pomi);
  res := res +#13#10+ 'Celkový počet licencí: '+ poms;

  MainForm.Frame_db.Memo_defin.Text := res;
  SQLServerProps1.Free;

Seznam subsekcí: