Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > TPathDialog


Автор: _Dimon_ 28.10.2010, 11:54
Здравствуйте. 
Создаю список возможных расширений файлов (Filter). 
Я предполагаю, что это расширение (например .txt) при сохранении добавится к имени файла, но этого не просходит.
Может чо не досмотрел, то извините, но как сделать чтоб не дописивать вручную расширение при сохранении?

З.Ы. Неужели парсить Filter? Некрасиво както получается....

Автор: sawfish 28.10.2010, 13:36
Все прекрасно пишет.

Filter = Текстовый файл (*.txt)|*.txt
Цитата

Может чо не досмотрел

Автор: _Dimon_ 28.10.2010, 18:14
Цитата(sawfish @  28.10.2010,  13:36 Найти цитируемый пост)
Все прекрасно пишет.


Какая версия билдера у тебя может в этом дело ?  smile 
А то я если выбираю расшырения из списка, но имя файла пишу вручную, то я ж расшырение не пишу там. И кстати DefaulExt не установлено, потому что я наперед не знаю какое я выберу.....

Автор: sawfish 29.10.2010, 06:35
Borland C++Builder 6, CG C++Builder 2009
Попробуй все-таки задать DefaulExt любым расширением из твоего списка (которое наиболее часто используется). Неважно, что потом будет выбрано другое расширение.

Автор: _Dimon_ 29.10.2010, 08:39
Цитата(sawfish @  29.10.2010,  06:35 Найти цитируемый пост)
Попробуй все-таки задать DefaulExt любым расширением из твоего списка (которое наиболее часто используется). Неважно, что потом будет выбрано другое расширение.


Так работает, но мне не то надо smile 

Автор: sawfish 29.10.2010, 10:15
Цитата

Я предполагаю, что это расширение (например .txt) при сохранении добавится к имени файла, но этого не просходит.
Может чо не досмотрел, то извините, но как сделать чтоб не дописивать вручную расширение при сохранении?


Цитата

Так работает, но мне не то надо


Так дописывается автоматически при сохранении или нет?!
Чего надо-то? Я не понимаю  smile 

Автор: migddk 29.10.2010, 11:57
Согласен с sawfish!!!

Свойство DefaultExt определяет значение расширения файла по умолчанию. Если значение этого свойства не задано, пользователь должен указать в диалоге полное имя файла с расширением. Если же задать значение DefaultExt, то пользователь может писать в диалоге имя без расширения. В этом случае будет принято заданное расширение.

Автор: _Dimon_ 29.10.2010, 15:10
В атаче есть скрин диалога сохранения. Там же не один тип файла!!! 
Как без парсинга фильтра сделать чтоб расшырение само добавлялось?
По дефолту то я могу написать, но пользователь может выбрать другой тип файла.

Автор: sawfish 29.10.2010, 16:29
Так в выпадающем списке выбирается тип сохраняемого файла (кста, именно как на картинке), нажимается Сохранить, и расширение должно автоматически добавиться.

Ничего парсить не надо  smile 

Автор: sawfish 29.10.2010, 16:45
Фильтр правильно задан?

user posted image

Автор: oldcode 31.10.2010, 22:16
а где в списке All Files *.*|*.*

Автор: sawfish 1.11.2010, 06:28
А зачем? Мне, например, All Files не нать, прекрасно обхожусь без этого.
Список вообще-то приведен для примера...

Автор: _Dimon_ 1.11.2010, 11:08
Цитата(sawfish @ 29.10.2010,  16:29)
Так в выпадающем списке выбирается тип сохраняемого файла (кста, именно как на картинке), нажимается Сохранить, и расширение должно автоматически добавиться.

Ничего парсить не надо  smile

Ну так не добавляется, чо б я тут вам голову морочил  smile 

Автор: sawfish 1.11.2010, 12:29
Ну, тогда покаж, что возвращает SaveDialog->FileName (ведь именно SaveDialog используется, несмотря на название темы?).
И при сохранении какая часть FileName используется? А то, может где-то при сохранении имя без расширения подставляется...

Автор: sawfish 8.11.2010, 14:15
Проблема-то решена или нет?

Автор: _Dimon_ 9.11.2010, 13:20
Да, sawfish, большое спасибо всем, но особенно тебе! Действительно поставил по дефолту xls и все пошло как по маслу. Поставил бы те плюс да рейта не хватает....  (((
Но не могу понять почему если DefaultExt пустой, то ни одно расширение не добавляется?

Автор: sawfish 9.11.2010, 13:35
Ну, всё логично. Если DefaultExt пустой и руками расширение не задано, то расширения и не добавляется (а FilterIndex=1). И  подставление начинает работать, когда в списке фильтров выбирается другое расширение (видимо, происходит автозаполнение DefaultExt) ИМХО

Автор: _Dimon_ 9.11.2010, 14:08
Цитата(sawfish @ 9.11.2010,  13:35)
Ну, всё логично. Если DefaultExt пустой и руками расширение не задано, то расширения и не добавляется (а FilterIndex=1). И  подставление начинает работать, когда в списке фильтров выбирается другое расширение (видимо, происходит автозаполнение DefaultExt) ИМХО

ИМХО Да )))

Блин, вроде пустяковая тема, а ели разобрался (с твоей помощью)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)