unit uTestSintetizador;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, uFuenteSintetizador, uglobs, ufechas, xmatdefs;

type
  TForm2 = class(TForm)
    Button1: TButton;
    eArchi: TEdit;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
var
  fsin: TFuenteSintetizadorCEGH;
  globs : TGlobs;
  fechaIni, fechaFin: TFecha;
  durpos: TDAOfNreal;
  k: integer;
  fsal: textfile;
  x: NReal;
  j: integer;

begin
  setlength( durpos, 730 );
  durpos[0]:= 168;
  fechaIni:= TFecha.Create_Str('1/1/2006');
  fechaFin:= TFecha.Create_Str('1/1/2008');
  globs:= TGlobs.Create('globs', fechaIni, fechaFin, fechaIni, fechaFin, durpos );
  fsin:= TFuenteSintetizadorCEGH_Mensual.Create('fsin', eArchi.text, false);
  fsin.PrepararMemoria( globs );
  fsin.Sim_Cronica_Inicio;

  assignfile( fsal, 'Sintetizador_x.xlt' );
  rewrite( fsal );
	globs.Fijar_kPaso( 1 );

  for k := 0 to 1000 do
  begin
    fsin.SorteosDelPaso(true);
    fsin.Prepararpaso_ps;
//    .CalcularSalidasSim(true);
    for j:= 0 to high( fsin.Bornera ) do
        write( fsal, #9, fsin.bornera[j]:12:3 );
    system.writeln( fsal, #9, fsin.UltimoRND );
  	globs.Fijar_kPaso( globs.kPaso_+1 );
  end;

  closefile( fsal );
  fsin.Free;
  fechaIni.Free;
  fechaFin.Free;
  setlength( durpos, 0 );
end;

end.
