Ver Mensaje Individual
  #11  
Antiguo 25-11-2022
giantonti1801 giantonti1801 is offline
Miembro
 
Registrado: oct 2022
Posts: 143
Reputación: 2
giantonti1801 Va por buen camino
Cita:
Empezado por duilioisola Ver Mensaje
Vale, entiendo tu problema.
Debes copiarlo a tu unit y luego ponerlo en la definicion de la clase TFormConsulta dentro de la parte private o public.
  • private: solo se podrá utilizar dentro de la clase (a efectos prácticos, no podrás llamarlo desde otros sitios)
  • public: otros objetos podrán llamarlo mediante TFormConsulta.Filtrar(...).

Ejemplo para un formulario llamado "Form1" que en su parte privada define el procedimiento Filtrar().
Si quieres más información deberás aprender qué significa interface (donde se define lo que hay en la unidad) / implementation (donde se implementa el codigo que ejecuta cada cosa definida).

Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
  private
    { Private declarations }
    procedure Filtra(Desde, Hasta: TDateTime);
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Filtra(Desde, Hasta: TDateTime);
begin
  [...]
end;

end.
Muchas gracias por tu paciencia, efectivamente lo hice tal cual como tu me explicaste, pero tengo un problema con
Código Delphi [-]
[dcc64 Error] UnitConsulta.pas(242): E2003 Undeclared identifier: 'RecodeTime'

posiblemente yengo que declarar el recordtime en algun lado.

Código Delphi [-]
procedure TFormConsulta.Filtra(Desde, Hasta: TDateTime);
begin
  /// Modifico la hora de las fechas para abarcar el dia completo
  /// DESDE = dd/mm/yyyy **00:00:00**
  /// HASTA = dd/mm/yyyy **23:59:59**

  // Quito la hora del la fecha inicial
  Desde := RecodeTime(Desde, 0, 0, 0, 0);
  // Agrego hasta el ultimo milisegundo del día a la hora final
  Hasta := RecodeTime(Hasta, 23, 59, 59, 999);

  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('Select * from Tiket');
  ADOQuery1.SQL.Add('where FechaCre between :Fecha1 and :Fecha2');
  ADOQuery1.Parameters.ParamByName('Fecha1').Value := Desde;
  ADOQuery1.Parameters.ParamByName('Fecha2').Value := Hasta;
  ADOQuery1.Open;
end;
Responder Con Cita