unit ElegirEmpresa; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, ExtCtrls, DBCGrids, StdCtrls, DBCtrls, IBDatabase, Db, IBSQL, IBCustomDataSet, IBTable, cxControls, cxContainer, cxEdit, cxImage, cxDBEdit, Grids, DBGrids, pngimage, RdxBotones, RdxPaneles, RdxBarras, RXCtrls, FthBtns, ActnList, RdxFrame, RdxFrameEmpresas; type TfrElegirEmpresa = class(TRdxFrameEmpresas) DBCtrlGrid1: TDBCtrlGrid; DBText1: TDBText; DBText2: TDBText; dsEmpresas: TDataSource; pnlBarraSuperior: TRdxGradientePanel; imgFondo: TImage; brDoble: TRdxBarraInferior; bSeleccionar: TRdxBoton; bCancelar: TRdxBoton; Shape1: TShape; Image6: TImage; Image1: TImage; Label1: TLabel; Label2: TLabel; bAnadirEmpresa: TRdxBoton; FourthStandardButton1: TFourthStandardButton; FourthStandardButton2: TFourthStandardButton; Acciones: TActionList; actAnadir: TAction; actModificar: TAction; actEliminar: TAction; actConsultar: TAction; actCancelar: TAction; actAbrir: TAction; actCerrar: TAction; DBImage1: TDBImage; procedure actAbrirExecute(Sender: TObject); procedure actModificarExecute(Sender: TObject); procedure actEliminarExecute(Sender: TObject); procedure actAnadirExecute(Sender: TObject); procedure RdxFrameEmpresasShow(Sender: TObject); procedure actModificarUpdate(Sender: TObject); private procedure BuscarEmpresa; override; procedure FreeContenido; override; public constructor Create (AOwner : TComponent); override; destructor Destroy; override; published property TablaEmpresas; property Entidad; end; var frElegirEmpresa: TfrElegirEmpresa; implementation {$R *.DFM} uses RdxEmpresaActiva, RdxGestorContadores, Configuracion, BaseDatos, //Tipos, TablaEmpresas, Empresa, Variants, Entidades, Mensajes; { TfElegirEmpresa } procedure TfrElegirEmpresa.BuscarEmpresa; begin with TablaEmpresas do begin DisableControls; Close; Open; EnableControls; if EmpresaActiva.Codigo <> -1 then Locate('CODIGO', EmpresaActiva.Codigo, []) else Locate('CODIGO', CodigoEmpresa, []); end; end; constructor TfrElegirEmpresa.Create(AOwner: TComponent); begin inherited; Entidad := entEmpresas; ConfigurarVentanaPrincipal(Self); BaseDatos := dmBaseDatos.BD; Transaccion := dmBaseDatos.Transaccion; TablaEmpresas := TIBDataSet.Create(Self); dsEmpresas.DataSet := TablaEmpresas; with TablaEmpresas do begin DisableControls; Database := BaseDatos; Transaction := Transaccion; SelectSQL.Assign(dmTablaEmpresas.sqlGrid); Prepare; EnableControls; end; end; destructor TfrElegirEmpresa.Destroy; begin TablaEmpresas.Close; TablaEmpresas.Unprepare; TablaEmpresas.Free; inherited; end; procedure TfrElegirEmpresa.FreeContenido; begin if (ContenidoModal is TRdxFrameEmpresas) then CodigoEmpresa := (ContenidoModal as TRdxFrameEmpresas).CodigoEmpresa; inherited FreeContenido; end; procedure TfrElegirEmpresa.actAbrirExecute(Sender: TObject); begin EmpresaActiva.Codigo := TablaEmpresas.FieldByName('CODIGO').AsInteger; GestorContadores.CodigoEmpresa := TablaEmpresas.FieldByName('CODIGO').AsInteger; CloseFrame; end; procedure TfrElegirEmpresa.actModificarExecute(Sender: TObject); var ContenidoAux : TRdxFrameEmpresas; begin EntidadModal := entEmpresas; ModoModal := Modificar; WidthModal := 497; HeightModal := 658; ContenidoAux := TfrEmpresa.Create(Self); ContenidoAux.CodigoEmpresa := TablaEmpresas.FieldByName('CODIGO').AsVariant; ContenidoModal := ContenidoAux; end; procedure TfrElegirEmpresa.actEliminarExecute(Sender: TObject); var ContenidoAux : TRdxFrameEmpresas; begin EntidadModal := entEmpresas; ModoModal := Eliminar; WidthModal := 497; HeightModal := 640; ContenidoAux := TfrEmpresa.Create(Self); ContenidoAux.CodigoEmpresa := TablaEmpresas.FieldByName('CODIGO').AsVariant; ContenidoModal := ContenidoAux; end; procedure TfrElegirEmpresa.actAnadirExecute(Sender: TObject); begin EntidadModal := entEmpresas; ModoModal := Anadir; WidthModal := 550; HeightModal := 640; ContenidoModal := TfrEmpresa.Create(Self); end; procedure TfrElegirEmpresa.RdxFrameEmpresasShow(Sender: TObject); begin if EmpresaActiva.Codigo <> -1 then BuscarEmpresa; if TablaEmpresas.IsEmpty then VerMensaje('No hay ninguna empresa dada de alta. Pulse en el botón ''Añadir una empresa nueva'' para dar de alta una.'); end; procedure TfrElegirEmpresa.actModificarUpdate(Sender: TObject); begin (Sender as TAction).Enabled := not TablaEmpresas.IsEmpty; DBCtrlGrid1.Enabled := (Sender as TAction).Enabled; end; end.