{ =============================================================================== Copyright (©) 2001. Rodax Software. =============================================================================== Los contenidos de este fichero son propiedad de Rodax Software titular del copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado, en su totalidad o en parte, con el permiso escrito de Rodax Software, o de acuerdo con los términos y condiciones establecidas en el acuerdo/contrato bajo el que se suministra. ----------------------------------------------------------------------------- Web: www.rodax-software.com =============================================================================== Fecha primera versión: 13-05-2002 Versión actual: 1.0.1 Fecha versión actual: 06-03-2004 =============================================================================== Modificaciones: Fecha Comentarios --------------------------------------------------------------------------- 06-03-2004 Al hacer doble click sobre el grid, se pasará a modificar el registro o se seleccionará, dependiendo del modo en el que se encuentre la pantalla. =============================================================================== } unit Instaladores; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Db, DBTables, Grids, DBGrids, ComCtrls, IBDatabase, ToolWin, ExtCtrls, IBCustomDataSet, IBQuery, RXDBCtrl, RdxPaneles, RdxBarras, RdxBotones, Tipos, Mensajes, RdxFrameInstaladores, dxCntner, dxTL, dxDBCtrl, dxDBGrid; type TfrInstaladores = class(TRdxFrameInstaladores) pnlGrid: TPanel; brSeleccion: TRdxBarraInferior; bSeleccionar: TRdxBoton; bCancelarGuardar: TRdxBoton; dsInstaladores: TDataSource; gridInstaladores: TdxDBGrid; barraInstaladores: TRdxBarraSuperior; bBuscar: TRdxBotonSuperior; bConsultar: TRdxBotonSuperior; bEliminar: TRdxBotonSuperior; bModificar: TRdxBotonSuperior; bAnadir: TRdxBotonSuperior; imgSombra: TImage; procedure bAnadirClick(Sender: TObject); procedure bModificarClick(Sender: TObject); procedure bEliminarClick(Sender: TObject); procedure bConsultarClick(Sender: TObject); procedure bBuscarClick(Sender: TObject); procedure bSeleccionarClick(Sender: TObject); procedure bCancelarGuardarClick(Sender: TObject); procedure gridInstaladoresRefreshButton(Sender: TObject); procedure gridInstaladoresDblClick(Sender: TObject); private procedure ActualizarBotones; protected procedure BuscarInstalador; override; procedure FreeContenido; override; public constructor Create (AOwner : TComponent); override; destructor Destroy; override; published property TablaInstaladores; property Entidad; end; var frInstaladores: TfrInstaladores; implementation {$R *.DFM} uses BaseDatos, Instalador, BuscarInstalador, TablaInstaladores, Configuracion, Literales; constructor TfrInstaladores.Create (AOwner : TComponent); begin inherited Create(AOwner); Entidad := entInstalador; ConfigurarFrame(Self, Self.Entidad); BaseDatos := dmBaseDatos.BD; Transaccion := dmBaseDatos.Transaccion; TablaInstaladores := TIBDataSet.Create(Self); dsInstaladores.DataSet := TablaInstaladores; with TablaInstaladores do begin DisableControls; Database := BaseDatos; Transaction := Transaccion; SelectSQL.Assign(dmTablaInstaladores.sqlGrid); Prepare; Open; ActualizarBotones; EnableControls; end; dmTablaInstaladores.InicializarGridInstaladores(gridInstaladores); end; destructor TfrInstaladores.Destroy; begin TablaInstaladores.Close; TablaInstaladores.UnPrepare; TablaInstaladores.Free; inherited; end; procedure TfrInstaladores.BuscarInstalador; begin with TablaInstaladores do begin DisableControls; Close; Open; ActualizarBotones; EnableControls; end; TablaInstaladores.Locate('CODIGO',CodigoInstalador,[]); end; procedure TfrInstaladores.FreeContenido; begin if (Contenido is TRdxFrameInstaladores) then CodigoInstalador := (Contenido as TRdxFrameInstaladores).CodigoInstalador; inherited; end; procedure TfrInstaladores.bAnadirClick(Sender: TObject); begin Contenido := TfrInstalador.Create(Self); Contenido.Modo := Anadir; end; procedure TfrInstaladores.bModificarClick(Sender: TObject); begin CodigoInstalador := TablaInstaladores.FieldByName('CODIGO').AsString; Contenido := TfrInstalador.Create(Self); Contenido.Modo := Modificar; end; procedure TfrInstaladores.bEliminarClick(Sender: TObject); begin CodigoInstalador := TablaInstaladores.FieldByName('CODIGO').AsString; Contenido := TfrInstalador.Create(Self); Contenido.Modo := Eliminar; end; procedure TfrInstaladores.bConsultarClick(Sender: TObject); begin CodigoInstalador := TablaInstaladores.FieldByName('CODIGO').AsString; Contenido := TfrInstalador.Create(Self); Contenido.Modo := Consultar; end; procedure TfrInstaladores.bBuscarClick(Sender: TObject); begin CodigoInstalador := TablaInstaladores.FieldByName('CODIGO').AsString; Contenido := TfrBuscarInstalador.Create(Self); end; procedure TfrInstaladores.bSeleccionarClick(Sender: TObject); begin if TablaInstaladores.RecordCount = 0 then begin VerMensaje(msgInsNoHayInstaladores); exit; end; // Para no hacer un BuscarInstalador que no es necesario // FCodigoInstalador := TablaInstaladores.FieldByName('CODIGO').Value; if gridInstaladores.SelectedCount = 0 then FCodigoInstalador := TablaInstaladores.FieldByName('CODIGO').Value else FListaInstaladores := dmTablaInstaladores.darListaInstaladores(gridInstaladores, @TablaInstaladores); CloseFrame; end; procedure TfrInstaladores.bCancelarGuardarClick(Sender: TObject); begin FCodigoInstalador := Null; CloseFrame; end; procedure TfrInstaladores.ActualizarBotones; begin if BaseDatos.IsReadOnly then begin bAnadir.Enabled := False; bModificar.Enabled := False; bEliminar.Enabled := False; bConsultar.Enabled := True; bBuscar.Enabled := True; Exit; end; if TablaInstaladores.RecordCount = 0 then begin bAnadir.Enabled := True; bModificar.Enabled := False; bEliminar.Enabled := False; bConsultar.Enabled := False; bBuscar.Enabled := False; end else begin bAnadir.Enabled := True; bModificar.Enabled := True; bEliminar.Enabled := True; bConsultar.Enabled := True; bBuscar.Enabled := True; end; end; procedure TfrInstaladores.gridInstaladoresRefreshButton(Sender: TObject); begin BuscarInstalador; end; procedure TfrInstaladores.gridInstaladoresDblClick(Sender: TObject); begin if Modo = Seleccionar then bSeleccionar.Click else bModificar.Click; end; end.