Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   FireMonkey (https://www.clubdelphi.com/foros/forumdisplay.php?f=50)
-   -   TimeEdit + 30 minutos (https://www.clubdelphi.com/foros/showthread.php?t=96133)

giantonti1801 24-02-2023 18:38:46

TimeEdit + 30 minutos
 
amigos tengo un TimeEdit.time con una hora selecionada y tengo ratos dando vuelta como hacer que en el evento onCange del TimeEdit1.time el TimeEdit2.time le sume 30 minutos es decir que si en timeEdit1 selectiones las 12:00 el timeEdit2 automaticamente se coloque 13:30

chenech 24-02-2023 18:56:59

Mira esta función
Código:

function IncMinute(const AValue: TDateTime; const ANumberOfMinutes: Int64 = 1): TDateTime;

giantonti1801 24-02-2023 19:01:40

Cita:

Empezado por chenech (Mensaje 550568)
Mira esta función
Código:

function IncMinute(const AValue: TDateTime; const ANumberOfMinutes: Int64 = 1): TDateTime;

gracias por tu respuesta pero esto ya es nivel PRO no tengo ni idea de donde colocar esta fucion, pero si puedes ser mas simple almeno en la explicacion. gracias

chenech 24-02-2023 21:02:41

Seria algo así, HoraFinal tendría el valor con los minutos sumados a la HoraInicial, no tengo Delphi instalado y no puedo chequearlo pero prueba así a ver.

Código:

HoraFinal := IncMinute(HoraInicial, minutos);

giantonti1801 25-02-2023 19:36:02

Cita:

Empezado por chenech (Mensaje 550576)
Seria algo así, HoraFinal tendría el valor con los minutos sumados a la HoraInicial, no tengo Delphi instalado y no puedo chequearlo pero prueba así a ver.

Código:

HoraFinal := IncMinute(HoraInicial, minutos);

aun no le encuentro la solución a este tema , he probado de todo pero nada me funciona

chenech 25-02-2023 20:11:37

Pon el código que tienes que no te funciona.

giantonti1801 25-02-2023 23:00:47

Cita:

Empezado por chenech (Mensaje 550587)
Pon el código que tienes que no te funciona.

Código Delphi [-]
procedure TForm1.TMSFMXDateTimeEdit1Change(Sender: TObject);
begin
   TMSFMXDateTimeEdit2.DateTime := TMSFMXDateTimeEdit1.DateTime + 30;
end;

chenech 25-02-2023 23:07:33

Tienes que añadir el uses System.DateUtils si te da error al compilar
Código:

procedure TForm1.TMSFMXDateTimeEdit1Change(Sender: TObject);
begin
  TMSFMXDateTimeEdit2.DateTime := IncMinute(TMSFMXDateTimeEdit1.DateTime, 30);
end;


giantonti1801 27-02-2023 16:06:19

Cita:

Empezado por chenech (Mensaje 550589)
Tienes que añadir el uses System.DateUtils si te da error al compilar
Código:

procedure TForm1.TMSFMXDateTimeEdit1Change(Sender: TObject);
begin
  TMSFMXDateTimeEdit2.DateTime := IncMinute(TMSFMXDateTimeEdit1.DateTime, 30);
end;


trato de hacerlo de esta forma y me da error con el
Código Delphi [-]
IncMinute
indicando que no esta declarado

chenech 27-02-2023 18:37:03

Lee mas arriba, donde pone añadir el uses.

giantonti1801 28-02-2023 11:52:35

Cita:

Empezado por chenech (Mensaje 550605)
Lee mas arriba, donde pone añadir el uses.

perfecto, efectivamente era lo que faltaba pero ahora me da un error a cuando intento modificar la hora "Stack OverFlow"

escafandra 28-02-2023 22:49:17

Lo suyo es que expongas el código. De nada te sirve poner el error si no expones lo que has hecho en detalle.


Otra forma se sumar 30 minutos es hacer esto:
Código Delphi [-]
  DateTime:= DateTime + 30.0/(24*60);


La parte decimal del DateTime representa la parte del día transcurrido así, un minuto es 1/(24*60).




Saludos.


La franja horaria es GMT +2. Ahora son las 19:29:02.

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