Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Formulario que devuelva un dato (https://www.clubdelphi.com/foros/showthread.php?t=93849)

oscarac 07-04-2019 03:31:11

Formulario que devuelva un dato
 
tengo la necesidad de solicitar una fecha mediante un formulario
entonces tengo un formulario donde se pido dicha fecha
existe alguna forma de invocar al formulario y que en devuelva la fecha en una variable?


algo asi como

_Fecha := fmrPedirFecha;

estaba pensando en una funcion donde se invoque al formulario en tiempo de ejecucion y que me devuelva el valor que se digite

Casimiro Notevi 07-04-2019 10:19:36

Mira los enlaces de abajo del todo, a ver si te sirve alguno.

oscarac 07-04-2019 18:54:47

Lo solucioné de esta forma

con un procedimiento y un formulario

aqui el codigo del procedimiento
Código Delphi [-]
Function _PedirFecha(Dato : String) : String;
var dtInicio, dtFin : TDate;
begin
  Establecerfechas(dtInicio, dtFin,0);
  with TfrmFechaMigracion.Create(nil) do
    begin
      dtFecha.MinDate := dtInicio;
      dtFecha.MaxDate := dtFin;
      btnAceptar.ModalResult := mrOk;
      btnCancelar.ModalResult:=mrCancel;
      lblTitulo.Caption := Dato;
      Showmodal;
      if ModalResult = mrOK then
        Result := DateToStr(dtFecha.Date)
      Else
        Result := '';
      Free;
    end;
end;


y en el formulario coloque un DateTimePicker

y luego este codigo

Código Delphi [-]
procedure TfrmFechaMigracion.btnAceptarClick(Sender: TObject);
begin
  ModalResult := mrOk;
end;

procedure TfrmFechaMigracion.btnCancelarClick(Sender: TObject);
begin
  ModalResult := mrCancel;
  Close;
end;


y listo

lo dejo en caso a alguien le pueda servir

roman 08-04-2019 19:12:11

Hola, un comentario:

Los botones tienen una propiedad llamada ModalResult. Si a btnAceptar le pones esa propiedad en mrOk y a btnCancelar se la pones en mrCancel, entonces no hay necesidad de programar los eventos Click; el formulario se cerrará y devolverá el valor adecuado en ModalResult.

// Saludos

oscarac 08-04-2019 20:26:01

excelente
gracias


La franja horaria es GMT +2. Ahora son las 03:39:42.

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