unit FLISTADOOPCIONESPENDIENTES;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Mask, Buttons,dateutils;

type
  TLISTADOOPCIONESPENDIENTES = class(TForm)
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Label2: TLabel;
    MaskEdit1: TMaskEdit;
    Label3: TLabel;
    MaskEdit2: TMaskEdit;
    Label1: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    MaskEdit3: TMaskEdit;
    Label6: TLabel;
    MaskEdit4: TMaskEdit;
    procedure BitBtn1Click(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure FormShow(Sender: TObject);
    procedure MaskEdit1Exit(Sender: TObject);
    procedure MaskEdit2Exit(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure MaskEdit3Exit(Sender: TObject);
    procedure MaskEdit4Exit(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    FECHAINICIO,FECHAFINAL: tdatetime;
    FECHAINICIOA,FECHAFINALA: tdatetime;
    sfechainicio,sfechafinal:string;
    sfechainicioA,sfechafinalA:string;    
    cadena :string;
    cobrado,todo :boolean;
  end;

var
  LISTADOOPCIONESPENDIENTES: TLISTADOOPCIONESPENDIENTES;

implementation

uses UDMGS, FDLGCLIENTEAUX;

{$R *.dfm}

procedure TLISTADOOPCIONESPENDIENTES.BitBtn1Click(Sender: TObject);
begin
  if trim(maskedit1.Text) <> '/  /' then
  begin
    try
        fechainicio:=strtodate(maskedit1.text);
    except
        on e:exception do
        begin
            messagedlg('LA FECHA INICIAL NO ES CORRECTA. INTRODUZCA dd/mm/aaaa.',mterror,[mbok],0);
            maskedit1.setfocus;
            abort;
        end;
    end;
//    sfechaINiCIO := inttostr(yearof(FECHAINICIO))+'/'+inttostr(monthof(FECHAINICIO))+'/'+inttostr(dayof(FECHAINICIO));
    sfechaINiCIO := inttostr(yearof(FECHAINICIO))+'-'+inttostr(monthof(FECHAINICIO))+'-'+inttostr(dayof(FECHAINICIO));
  end;
  if trim(maskedit2.Text) <> '/  /' then
  begin
    try
        fechafinal:=strtodate(maskedit2.text);
    except
        on e:exception do
        begin
            messagedlg('LA FECHA FINAL NO ES CORRECTA. INTRODUZCA dd/mm/aaaa.',mterror,[mbok],0);
            maskedit2.setfocus;
            abort;
        end;
    end;
//    sfechafinal := inttostr(yearof(fechafinal))+'/'+inttostr(monthof(fechafinal))+'/'+inttostr(dayof(fechafinal));
    sfechafinal := inttostr(yearof(fechafinal))+'-'+inttostr(monthof(fechafinal))+'-'+inttostr(dayof(fechafinal));
 end;

  if trim(maskedit3.Text) <> '/  /' then
  begin
    try
        fechainicioA:=strtodate(maskedit3.text);
    except
        on e:exception do
        begin
            messagedlg('LA FECHA INICIAL NO ES CORRECTA. INTRODUZCA dd/mm/aaaa.',mterror,[mbok],0);
            maskedit3.setfocus;
            abort;
        end;
    end;
//    sfechaINiCIOA := inttostr(yearof(FECHAINICIOA))+'/'+inttostr(monthof(FECHAINICIOA))+'/'+inttostr(dayof(FECHAINICIOA));
    sfechaINiCIOA := inttostr(yearof(FECHAINICIOA))+'-'+inttostr(monthof(FECHAINICIOA))+'-'+inttostr(dayof(FECHAINICIOA));
  end;
  if trim(maskedit4.Text) <> '/  /' then
  begin
    try
        fechafinalA:=strtodate(maskedit4.text);
    except
        on e:exception do
        begin
            messagedlg('LA FECHA FINAL NO ES CORRECTA. INTRODUZCA dd/mm/aaaa.',mterror,[mbok],0);
            maskedit4.setfocus;
            abort;
        end;
    end;
//    sfechafinalA := inttostr(yearof(fechafinalA))+'/'+inttostr(monthof(fechafinalA))+'/'+inttostr(dayof(fechafinalA));
    sfechafinalA := inttostr(yearof(fechafinalA))+'-'+inttostr(monthof(fechafinalA))+'-'+inttostr(dayof(fechafinalA));
 end;


    cadena := '';

    if sfechainicio <> '' then
      cadena := ' fecha_NOTA >= '''+sfechainicio+''' ';
    if sfechafinal <> '' then
     if cadena <> '' then
      cadena := cadena + ' and fecha_NOTA <= '''+sfechafinal+''' '
     else
      cadena := ' fecha_NOTA <= '''+sfechafinal+''' ';

    if sfechainicioA <> '' then
      IF CADENA <> '' THEN
        CADENA := CADENA + '  AND FECHA_PEDIDO >= '''+SFECHAINICIOA+''' '
      ELSE
        cadena := ' fecha_PEDIDO >= '''+sfechainicioA+''' ';
    if sfechafinalA <> '' then
     if cadena <> '' then
      cadena := cadena + ' and fecha_PEDIDO <= '''+sfechafinalA+''' '
     else
      cadena := ' fecha_FECHA_PEDIDO <= '''+sfechafinalA+''' ';
    modalresult:=mrok;
end;

procedure TLISTADOOPCIONESPENDIENTES.FormKeyPress(Sender: TObject; var Key: Char);
begin
    if ActiveControl=nil then
    begin
        Perform(WM_NextDLGCtl, 0, 0);
        key:=#0;
    end;

    if (key = #13) and not (activecontrol is tbutton) then
    begin
        Perform(WM_NextDLGCtl, 0, 0);
        key:=#0;
    end;
end;

procedure TLISTADOOPCIONESPENDIENTES.FormShow(Sender: TObject);
begin
 MASKEDIT1.TEXT := '';
 MASKEDIT2.TEXT := '';
 MASKEDIT3.Text :='';
 MASKEDIT4.TEXT := '';
 MASKEDIT1.SETFOCUS;
end;

procedure TLISTADOOPCIONESPENDIENTES.MaskEdit1Exit(Sender: TObject);
begin
  if trim(maskedit1.Text) <> '/  /' then
  begin
    try
        fechainicio:=strtodate(maskedit1.text);
    except
        on e:exception do
        begin
            messagedlg('LA FECHA INICIAL NO ES CORRECTA. INTRODUZCA dd/mm/aaaa.',mterror,[mbok],0);
            maskedit1.setfocus;
            abort;
        end;
    end;
//    sfechaINiCIO := inttostr(yearof(FECHAINICIO))+'/'+inttostr(monthof(FECHAINICIO))+'/'+inttostr(dayof(FECHAINICIO));
    sfechaINiCIO := inttostr(yearof(FECHAINICIO))+'-'+inttostr(monthof(FECHAINICIO))+'-'+inttostr(dayof(FECHAINICIO));
  end;

end;

procedure TLISTADOOPCIONESPENDIENTES.MaskEdit2Exit(Sender: TObject);
begin
  if trim(maskedit2.Text) <> '/  /' then
  begin
    try
        fechafinal:=strtodate(maskedit2.text);
    except
        on e:exception do
        begin
            messagedlg('LA FECHA FINAL NO ES CORRECTA. INTRODUZCA dd/mm/aaaa.',mterror,[mbok],0);
            maskedit2.setfocus;
            abort;
        end;
    end;
//        sfechafinal := inttostr(yearof(fechafinal))+'/'+inttostr(monthof(fechafinal))+'/'+inttostr(dayof(fechafinal));
        sfechafinal := inttostr(yearof(fechafinal))+'-'+inttostr(monthof(fechafinal))+'-'+inttostr(dayof(fechafinal));
  end;
end;

procedure TLISTADOOPCIONESPENDIENTES.FormCreate(Sender: TObject);
begin
 cadena := '';
 cobrado := false;
 todo := true;
 sfechainicio:='';
 sfechafinal:=''; 
end;

procedure TLISTADOOPCIONESPENDIENTES.MaskEdit3Exit(Sender: TObject);
begin
  if trim(maskedit3.Text) <> '/  /' then
  begin
    try
        fechainicioA:=strtodate(maskedit3.text);
    except
        on e:exception do
        begin
            messagedlg('LA FECHA INICIAL NO ES CORRECTA. INTRODUZCA dd/mm/aaaa.',mterror,[mbok],0);
            maskedit3.setfocus;
            abort;
        end;
    end;
//    sfechaINiCIOA := inttostr(yearof(FECHAINICIOA))+'/'+inttostr(monthof(FECHAINICIOA))+'/'+inttostr(dayof(FECHAINICIOA));
    sfechaINiCIOA := inttostr(yearof(FECHAINICIOA))+'-'+inttostr(monthof(FECHAINICIOA))+'-'+inttostr(dayof(FECHAINICIOA));
  end;
end;

procedure TLISTADOOPCIONESPENDIENTES.MaskEdit4Exit(Sender: TObject);
begin
 if trim(maskedit4.Text) <> '/  /' then
  begin
    try
        fechafinalA:=strtodate(maskedit4.text);
    except
        on e:exception do
        begin
            messagedlg('LA FECHA FINAL NO ES CORRECTA. INTRODUZCA dd/mm/aaaa.',mterror,[mbok],0);
            maskedit4.setfocus;
            abort;
        end;
    end;
//        sfechafinalA := inttostr(yearof(fechafinalA))+'/'+inttostr(monthof(fechafinalA))+'/'+inttostr(dayof(fechafinalA));
        sfechafinalA := inttostr(yearof(fechafinalA))+'-'+inttostr(monthof(fechafinalA))+'-'+inttostr(dayof(fechafinalA));
  end;
end;

end.
