unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ShlObj, ActiveX,unit2;

type
  TForm1 = class(TForm)
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
var openDialog : TOpenDialog;    // Переменная OpenDialog
begin
  // Создание объекта OpenDialog - назначение на нашу переменную OpenDialog
  openDialog := TOpenDialog.Create(self);

  // Установка начального каталога, чтобы сделать его текущим
  openDialog.InitialDir := GetCurrentDir;

  // Только разрешенные существующие файлы могут быть выбраны
  openDialog.Options := [ofFileMustExist];

  // Разрешено выбрать только .dpr и .pas файлы
  openDialog.Filter :='';
{    'Delphi project files|*.dpr|Delphi pascal files|*.pas';}

  // Выбор файлов Паскаля как стартовый тип фильтра
{  openDialog.FilterIndex := 2;}

  // Показ диалог открытия файла
  if openDialog.Execute
  then ShowMessage('File : '+openDialog.FileName)
  else ShowMessage('Открытие файла остановлено');

  // Освобождение диалога
  openDialog.Free;
end;


//Эта функция нужна для установки пути по умолчанию


{function SelectFolder(hWnd: HWND; const Caption: WideString; var Folder: WideString): boolean;}
procedure TForm1.BitBtn2Click(Sender: TObject);
var
  Value: WideString;
begin

 { Value := edtImagesFolder.Text    }
  if SelectFolder(Handle,  'Select Directory' , Value) then {and (Value <> edtImagesFolder.Text) then
    edtImagesFolder.Text := Value;}ShowMessage (Value) else ShowMessage ('Папка не выбрана');
end;

end.
