{ =============================================================================== Copyright (©) 2003. 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: 04-03-2003 Versión actual: 1.0.1 Fecha versión actual: 13-08-2003 =============================================================================== Modificaciones: Fecha Comentarios --------------------------------------------------------------------------- 13-08-2003 Se ha cambiado el intervalo a intervalo de nombre en vez de intervalo de códigos de cliente. =============================================================================== } unit ListadoClientes; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, RdxFrame, RdxBotones, RdxPaneles, RdxBarras, cxControls, cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxButtonEdit, StdCtrls, AdvPanel, ExtCtrls, RdxTitulos, cxDropDownEdit, VistaPrevia, InformeListadoClientes, TablaClientes, Entidades; type TfrListadoClientes = class(TRdxFrame) pnlTitulo: TRdxPanelTituloOperacion; pnlCuerpo: TPanel; pnlProveedor: TAdvPanel; eCodigoCliente: TLabel; Label2: TLabel; pnlVistaPrevia: TPanel; Label1: TLabel; NombreCliIni: TcxButtonEdit; NombreCliFin: TcxButtonEdit; procedure CodigoCliIniPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure CodigoCliFinPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure NombreCliIniPropertiesValidate(Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); procedure NombreCliFinPropertiesValidate(Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); private FVistaPrevia : TfrVistaPrevia; FInforme : TdmInformeListadoClientes; FClienteIni : TDatosCliente; FClienteFin : TDatosCliente; FCodigoClienteAux : Variant; procedure RecogerParametrosInforme; protected procedure VerModal; override; procedure FreeContenido; override; function CloseFrame : Boolean; override; function CambiarEntidad(EntidadAnterior, Entidad : TRdxEntidad): Boolean; override; public constructor Create(AOwner : TComponent); override; destructor Destroy; override; end; var frListadoClientes: TfrListadoClientes; implementation {$R *.dfm} { TfrListadoClientes } uses Literales, Mensajes, StrFunc, DateUtils, InformeBase, Clientes, RdxFrameClientes, configuracion; constructor TfrListadoClientes.Create(AOwner: TComponent); var NombreAux : String; begin inherited Create(AOwner); Entidad := entListadoClientes; FClienteIni := TDatosCliente.Create; FClienteFin := TDatosCliente.Create; NombreAux := dmTablaClientes.DarNombreCliMin; FClienteIni.Codigo := ''; FClienteIni.Nombre := NombreAux; FClienteIni.ObtenerDatos; NombreCliIni.EditingText := FClienteIni.Nombre; NombreAux := dmTablaClientes.DarNombreCliMax; FClienteFin.Codigo := ''; FClienteFin.Nombre := NombreAux; FClienteFin.ObtenerDatos; NombreCliFin.EditingText := FClienteFin.Nombre; FVistaPrevia := TfrVistaPrevia.Create(Self); FVistaPrevia.Parent := pnlVistaPrevia; FInforme := TdmInformeListadoClientes.Create(Self); FInforme.Preview := FVistaPrevia.Preview; RecogerParametrosInforme; end; destructor TfrListadoClientes.Destroy; begin FInforme.Free; FClienteIni.Free; FClienteFin.Free; inherited; end; procedure TfrListadoClientes.RecogerParametrosInforme; begin if not Assigned(FInforme) then Exit; with FInforme do begin NombreIni := FClienteIni.Nombre; NombreFin := FClienteFin.Nombre; Previsualizar; end; end; procedure TfrListadoClientes.CodigoCliIniPropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); begin ContenidoModal := TfrClientes.Create(Self); if FCodigoClienteAux <> Null then begin FClienteIni.Codigo := FCodigoClienteAux; FClienteIni.ObtenerDatos; NombreCliIni.EditingText := FClienteIni.Nombre; PostMessage(NombreCliIni.Handle,WM_KEYDOWN,VK_RETURN,0); end; end; function TfrListadoClientes.CloseFrame: Boolean; begin FInforme.Preview := NIL; (FVistaPrevia as TRdxFrame).CloseFrame; Result := inherited CloseFrame; end; procedure TfrListadoClientes.FreeContenido; begin if (ContenidoModal is TRdxFrameClientes) then FCodigoClienteAux := (ContenidoModal as TRdxFrameClientes).CodigoCliente; inherited; end; procedure TfrListadoClientes.VerModal; begin if (ContenidoModal is TRdxFrameClientes) then (ContenidoModal as TRdxFrameClientes).CodigoCliente := FCodigoClienteAux; inherited; end; procedure TfrListadoClientes.CodigoCliFinPropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); begin ContenidoModal := TfrClientes.Create(Self); if FCodigoClienteAux <> Null then begin FClienteFin.Codigo := FCodigoClienteAux; FClienteFin.ObtenerDatos; NombreCliFin.EditingText := FClienteFin.Nombre; PostMessage(NombreCliFin.Handle,WM_KEYDOWN,VK_RETURN,0); end; end; procedure TfrListadoClientes.NombreCliIniPropertiesValidate( Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); begin if AnsiCompareText(DisplayValue, NombreCliFin.Text) > 0 then begin ErrorText := msgCliIniMayor; Error := True; Exit; end; FClienteIni.Nombre := DisplayValue; FClienteIni.Codigo := ''; RecogerParametrosInforme; end; procedure TfrListadoClientes.NombreCliFinPropertiesValidate( Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); begin if AnsiCompareText(DisplayValue, NombreCliIni.Text) < 0 then begin ErrorText := msgCliIniMayor; Error := True; Exit; end; FClienteFin.Nombre := DisplayValue; FClienteFin.Codigo := ''; RecogerParametrosInforme; end; function TfrListadoClientes.CambiarEntidad(EntidadAnterior, Entidad: TRdxEntidad): Boolean; begin inherited CambiarEntidad(EntidadAnterior, Entidad); ConfigurarFrame(Self, Self.Entidad); end; end.