Перейти к содержимому

Фотография

Опция Filter у объекта класса TOpenDialog


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 Колючка

Колючка

    Активный участник

  • Members
  • PipPip
  • 105 сообщений

Отправлено 22 октября 2012 - 15:16

Есть форма с OpenDialog1 и одной кнопкой

мини код:

procedure runEDIFrom();
var
form, mr,path : OleVariant;
begin
form := UserForms.EDIAutoSend;
mr := form.ShowModal;
form.OpenDialog1.Filter :='*.txt';
if(mr = mrYes and form.OpenDialog1.Execute) then
begin
path := form.OpenDialog1.FileName;
Log.Message(path);
end else
Runner.Halt('Operation was aborted by user');
end;

Не работает фильтрация в полном сымсле этого слова: т.е. с помощью фильтра в диалоге выидно, что можно выбрать только файл *.txt, но реально можно выбрать любой файл :)
См. картинку: несмотря на маску текстового файла был выбран файл 0.log.


Что же не так?

Прикрепленные файлы

  • Прикрепленный файл  attachment1.jpg   87,57К   5 Количество загрузок:

  • 0

#2 modbear

modbear

    Специалист

  • Members
  • PipPipPipPipPip
  • 548 сообщений

Отправлено 23 октября 2012 - 06:43

Читаем документацию:

To specify a file filter for this property, assign a string that consists of a filter description and a file mask separated with the vertical bar (|) character. Do not include spaces around the vertical bar.

Правильно будет вот так:

form.OpenDialog1.Filter := 'Text files (*.txt)|*.txt';

  • 0

#3 Колючка

Колючка

    Активный участник

  • Members
  • PipPip
  • 105 сообщений

Отправлено 30 октября 2012 - 12:37

Читаем документацию:

To specify a file filter for this property, assign a string that consists of a filter description and a file mask separated with the vertical bar (|) character. Do not include spaces around the vertical bar.

Правильно будет вот так:

form.OpenDialog1.Filter := 'Text files (*.txt)|*.txt';



Спасибо - помогло :)
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных