Ver Mensaje Individual
  #3  
Antiguo 21-12-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola ZiriusB.
Cita:
Empezado por ZiriusB Ver Mensaje
...
El form de "Apertura de caja" debe salir solo al inicio del día, es decir una vez que el usuario haya introducido la cantidad, el cliente puede cerrar la aplicación y volver a abrirla y ya no debería salir mas el Form "Apertura de Caja" sino pasar directamente al Form principal...
Para que se ejecute una vez por día (la primera vez que se abra la aplicación) podes hacer:
Código Delphi [-]
program Project1;

uses
  Forms, Windows, SysUtils, Registry,
  Unit1 in 'Unit1.pas' {frmMain},
  Unit2 in 'Unit2.pas' {frmDailyCashBox};

{$R *.res}

function isSetDailyCashBox: Boolean;
const
  KNAME = 'SoftWare\Your_App_Name\DailyCashBox';
  VNAME = 'LastUpdate';
var
  rg: TRegistry;
  dt: TDateTime;
begin
  rg         := TRegistry.Create;
  rg.RootKey := HKEY_CURRENT_USER;
  dt         := 0;
  rg.OpenKey(KNAME, True);
  try   
    if not rg.ValueExists(VNAME) then
      rg.WriteDate(VNAME, dt);
    dt     := rg.ReadDate(VNAME);
    Result := dt = Date;
    rg.WriteDate(VNAME, Date);
  finally
    rg.CloseKey;
  end;
end;

begin
  Application.Initialize;
  Application.CreateForm(TfrmMain, frmMain);
  Application.ShowMainForm := False;

  if not isSetDailyCashBox then
  begin
    frmDailyCashBox := TfrmDailyCashBox.Create(nil);
    try
      frmDailyCashBox.ShowModal;
    finally
      frmDailyCashBox.Free;
    end;
  end;

  Application.ShowMainForm := True;
  Application.Run;
end.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita