unit VisualizzaEventiForm;

{$mode ObjFPC}{$H+}

interface

uses
    {$ifdef windows}
  windows,
  {$endif}
  Classes, SysUtils, Forms, Controls, Graphics, Dialogs, EditBtn, StdCtrls,
  Spin, ComCtrls, LazNumEdit, ListFilterEdit;

type

  { TForm2 }

  TForm2 = class(TForm)
    ListBox1: TListBox;
    ListFilterEdit1: TListFilterEdit;
    SpinEdit1: TSpinEdit;
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure SpinEdit1Change(Sender: TObject);
  private

  public

  end;

var
  Form2: TForm2;

implementation

{$R *.lfm}

{ TForm2 }

procedure TForm2.SpinEdit1Change(Sender: TObject);
var
  nasastringlist:TStringList;
  nasalinea:string;
  RisorseStream:TResourceStream;
  elementi:string;
  orario:string;
  caratteretab:string;
begin

  ListBox1.Clear;
  ListFilterEdit1.FilteredListbox:=nil;
  ListFilterEdit1.Text:='';
  try
    RisorseStream:= TResourceStream.Create(HInstance,inttostr(SpinEdit1.Value)+'_NASA', RT_RCDATA);
    nasastringlist:=TStringList.Create;
    SetLength(nasalinea, RisorseStream.Size);
    RisorseStream.Read(nasalinea[1], RisorseStream.Size);;
    nasastringlist.AddDelimitedText(nasalinea, #10, True);

      for elementi in nasastringlist do
      begin



       if elementi<>'' then
       begin

            {$ifdef windows}
             caratteretab:='  ';
             ListBox1.Font.Name := 'Courier New';
             {$endif}
             {$ifdef linux}
             caratteretab:=#9;

            {$endif}
            {$ifdef darwin}
             caratteretab:='  ';
             ListBox1.Font.Name := 'Monaco';
             ListBox1.Font.Size:=12;
            {$endif}


            ListBox1.Items.Add(copy(elementi, 1,2)+'/'+copy(elementi,5,2)+caratteretab+'CET '+copy(elementi, 9,5)+caratteretab+'  '+copy(elementi, 16));

       end;

      end;
    nasastringlist.Free;
    ListFilterEdit1.FilteredListbox:=ListBox1;
  except
  on E:EResNotFound do
  begin
   ListBox1.Items.Add('Eventi non disponibili');

  end;

  end;
end;

procedure TForm2.FormShow(Sender: TObject);
begin
  Form2.SpinEdit1Change(nil);
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
  {$ifdef darwin}
  ListBox1.Style:=lbOwnerDrawFixed; //su mac non cambia il font senza questo
  {$endif darwin}
end;

end.

