unit PantallaAcceso;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  cxContainer, cxEdit, cxControls, cxTextEdit, ExtCtrls, StdCtrls,
  RdxBotones, RdxPaneles, pngimage;

type
  TfPantallaAcceso = class(TForm)
    pnlBarraSuperior: TRdxGradientePanel;
    pnlInferior: TPanel;
    bSalir: TRdxBoton;
    bAceptar: TRdxBoton;
    Shape1: TShape;
    eBienvenido: TLabel;
    eTexto: TLabel;
    lblFullName: TLabel;
    Usuario: TcxTextEdit;
    lblOrg: TLabel;
    Clave: TcxTextEdit;
    Image1: TImage;
    imgFondo: TImage;
    Image2: TImage;
    imgSombra: TImage;
    cbBD: TComboBox;
    Label1: TLabel;
    eEmpresa: TLabel;
    eVersion: TLabel;
    Image3: TImage;
    Shape2: TShape;
    procedure bAceptarClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    FRuta : String;
    property Ruta : String read FRuta write FRuta;
  public
    Version : string;
  end;

var
  fPantallaAcceso: TfPantallaAcceso;

implementation

{$R *.DFM}

uses
  Principal, BaseDatos, IB, Mensajes, Configuracion, StrFunc, SysFunc,
  Excepciones;

procedure TfPantallaAcceso.bAceptarClick(Sender: TObject);
begin
  dmBaseDatos.NombreBD := cbBD.Text;
  try
    dmBaseDatos.Conectar(Ruta, Usuario.Text, Clave.Text);
    ModalResult := mrOk;
  except
    on E : EIBError do begin
      TratarExcepcion(E);
      Usuario.SetFocus;
    end;
  end;
end;

procedure TfPantallaAcceso.FormShow(Sender: TObject);
var
  i : integer;
begin
  eVersion.Caption := 'Versión: ' + Version;

  //Bases de datos
  cbBD.Items.Clear;
  for i := 0 to ListaBD.Count - 1 do
    cbBD.Items.Add(ListaBD.Names[i]);
  cbBD.Text := cbBD.Items.Strings[0];
  Ruta := ListaBD.Values[cbBD.Text];
  ConfigurarPantallaAcceso(Self);
end;

end.
