unit Unit4;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.SvcMgr, Vcl.Dialogs,
  Vcl.ExtCtrls;

type
  TAPI_Facturador_En_Linea_Exsim = class(TService)
    temporizador: TTimer;
    procedure ServiceExecute(Sender: TService);
    procedure temporizadorTimer(Sender: TObject);
  private
    { Private declarations }
  public
    function GetServiceController: TServiceController; override;
    { Public declarations }
  end;

var
  API_Facturador_En_Linea_Exsim: TAPI_Facturador_En_Linea_Exsim;

implementation

{$R *.DFM}

procedure ServiceController(CtrlCode: DWord); stdcall;
begin
  API_Facturador_En_Linea_Exsim.Controller(CtrlCode);
end;

function TAPI_Facturador_En_Linea_Exsim.GetServiceController: TServiceController;
begin
  Result := ServiceController;
end;

procedure TAPI_Facturador_En_Linea_Exsim.ServiceExecute(Sender: TService);
begin
  temporizador.Enabled := True;
  while not Terminated do
    ServiceThread.ProcessRequests(True);
  temporizador.Enabled := False;
end;

procedure TAPI_Facturador_En_Linea_Exsim.temporizadorTimer(Sender: TObject);
var
  fichero : TStringList;
const
  rutaFichero = 'C:\';
begin
  fichero := TStringList.Create;
  if FileExists(rutaFichero) then
    fichero.LoadFromFile(rutaFichero);
  fichero.Add(DateTimeToStr(Now) + ' Ejecutado servicio');
  fichero.SaveToFile(rutaFichero);
end;

end.
