| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 |
Какая версия билдера у тебя может в этом дело ? А то я если выбираю расшырения из списка, но имя файла пишу вручную, то я ж расшырение не пишу там. И кстати DefaulExt не установлено, потому что я наперед не знаю какое я выберу..... |
| Автор: sawfish 29.10.2010, 06:35 |
| Borland C++Builder 6, CG C++Builder 2009 Попробуй все-таки задать DefaulExt любым расширением из твоего списка (которое наиболее часто используется). Неважно, что потом будет выбрано другое расширение. |
| Автор: sawfish 29.10.2010, 10:15 | ||||
Так дописывается автоматически при сохранении или нет?! Чего надо-то? Я не понимаю |
| Автор: migddk 29.10.2010, 11:57 |
| Согласен с sawfish!!! Свойство DefaultExt определяет значение расширения файла по умолчанию. Если значение этого свойства не задано, пользователь должен указать в диалоге полное имя файла с расширением. Если же задать значение DefaultExt, то пользователь может писать в диалоге имя без расширения. В этом случае будет принято заданное расширение. |
| Автор: _Dimon_ 29.10.2010, 15:10 |
| В атаче есть скрин диалога сохранения. Там же не один тип файла!!! Как без парсинга фильтра сделать чтоб расшырение само добавлялось? По дефолту то я могу написать, но пользователь может выбрать другой тип файла. |
| Автор: sawfish 29.10.2010, 16:29 |
| Так в выпадающем списке выбирается тип сохраняемого файла (кста, именно как на картинке), нажимается Сохранить, и расширение должно автоматически добавиться. Ничего парсить не надо |
| Автор: sawfish 29.10.2010, 16:45 |
Фильтр правильно задан?![]() |
| Автор: oldcode 31.10.2010, 22:16 |
| а где в списке All Files *.*|*.* |
| Автор: sawfish 1.11.2010, 06:28 |
| А зачем? Мне, например, All Files не нать, прекрасно обхожусь без этого. Список вообще-то приведен для примера... |
| Автор: _Dimon_ 1.11.2010, 11:08 | ||
Ну так не добавляется, чо б я тут вам голову морочил |
| Автор: 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 | ||
ИМХО Да ))) Блин, вроде пустяковая тема, а ели разобрался (с твоей помощью) |