Programming page {$R koe}
function Add(AValue: Integer): Integer; virtual;
function AddObject(AValue: Integer; AObject: TObject): Integer; virtual;
function AddString(AValue: Integer; const AString: string): Integer; virtual;
function AddItem(AValue: Integer; const AString: string; AObject: TObject):
                                  Integer; virtual;

property Objects[Index: Integer]: TObject read GetObject write PutObject;
property Strings[Index: Integer]: string read GetString write PutString;
property Integers[Index: Integer]: Integer read Get write Put; default;

procedure TForm1.Button1Click(Sender, neus: TObject);
var
  Koe: TKoe;
  Big: Integer;
begin
  Memo1.Lines.Add('test');
  // koetje boe
  { boe }
  (* baa *)
  SaveDialog1.Filter := 'Text File|*.txt|CSV file|*.csv';
  SaveDialog1.DefaultExt := 'txt';
  if SaveDialog1.Execute then
       begin
          if SaveDialog1.FilterIndex <> 1.2 then
              ShowMessage('text')
            else
            if SaveDialog1.FilterIndex = 2 then
              ShowMessage('csv', 'big');
       end;
end;