Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-11-2022
giantonti1801 giantonti1801 is offline
Miembro
 
Registrado: oct 2022
Posts: 143
Poder: 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
  #2  
Antiguo 25-11-2022
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.744
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
RecodeTime es una función de la unidad DateUtils (Por lo menos en Delphi 6).
Deberás agregar esa unidad a tu cláusula uses.

Si no existe esa unidad, prueba poniendo el cursor sobre RecodeTime y presiona F1.
Te llevará a una página de ayuda donde seguramente te indicará a qué unidad pertenece.

Buscando en Internet:
https://docwiki.embarcadero.com/Libr...ils.RecodeTime

Cita:
System.DateUtils.RecodeTime

Up to Parent: System.DateUtils

Delphi

function RecodeTime(const AValue: TDateTime; const AHour, AMinute, ASecond, AMilliSecond: Word): TDateTime;

C++

extern DELPHI_PACKAGE System::TDateTime __fastcall RecodeTime(const System::TDateTime AValue, const System::Word AHour, const System::Word AMinute, const System::Word ASecond, const System::Word AMilliSecond);
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, 
  {***}DateUtils{***};
  // o 
  {***}System.DateUtils{***};

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

[...]

Última edición por duilioisola fecha: 25-11-2022 a las 15:18:39.
Responder Con Cita
  #3  
Antiguo 25-11-2022
giantonti1801 giantonti1801 is offline
Miembro
 
Registrado: oct 2022
Posts: 143
Poder: 2
giantonti1801 Va por buen camino
Cita:
Empezado por duilioisola Ver Mensaje
RecodeTime es una función de la unidad DateUtils (Por lo menos en Delphi 6).
Deberás agregar esa unidad a tu cláusula uses.

Si no existe esa unidad, prueba poniendo el cursor sobre RecodeTime y presiona F1.
Te llevará a una página de ayuda donde seguramente te indicará a qué unidad pertenece.

Buscando en Internet:
https://docwiki.embarcadero.com/Libr...ils.RecodeTime



Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, 
  {***}DateUtils{***};
  // o 
  {***}System.DateUtils{***};

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

[...]
Excelente, Muy bien de verdad eso soluciono el problema que tenía, ya funciona a la perfección, GRACIAS por tu paciencia y dedicación.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Números impares desde 1 hasta 1000 Daniel2622 Lazarus, FreePascal, Kylix, etc. 29 25-04-2017 03:55:58
Problema con consulta fecha desde hasta access delphi 7 Yensis22 SQL 2 26-08-2008 19:05:34
Consulta Desde->Hasta Luis M. Firebird e Interbase 6 30-07-2008 19:40:34
calcular el nro de dias, desde una fecha hasta la actual. abraham SQL 13 01-08-2007 17:36:42
Reporte (Desde : Hasta) magnu9 SQL 9 16-11-2006 18:36:19


La franja horaria es GMT +2. Ahora son las 21:25:52.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi