|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.06.2010, 12:53 | #1 |
Delphi, OpenGL API
Форумчанин
Регистрация: 29.03.2010
Сообщений: 152
|
Расширения в TSaveDialog
Здравствуйте!
Подскажите пожалуйста как в компоненте TSaveDialog сделать так, чтобы при изменении свойства FilterIndex изменялось расширение указанное в свойстве FileName согласно FilterIndex. В общем я хочу сделать так, чтобы при сохранении расширение добавлялось автоматически к введенному имени файла. Главная проблема заключается в том, что во время вызова TSaveDialog не возможно изменить свойство FileName что можно увидеть из следующего примера: Код:
Последний раз редактировалось Stilet; 01.06.2010 в 14:40. |
01.06.2010, 13:21 | #2 |
Otsukitakitte
Форумчанин
Регистрация: 01.10.2009
Сообщений: 126
|
Трудно так рассуждать...
Если идёт выбор из индекса фильтра, то зачем еще раз приписывать название расширения? Если бы вспомнил как там... как-то на подобии: Код:
Помог - ставь плюс.
$("question").onAnswer(function() { $(this).getItWright(true); }); |
01.06.2010, 14:38 | #3 |
Участник клуба
Регистрация: 09.11.2007
Сообщений: 1,761
|
А зачем тебе вообще менять FileName, пусть остаётся как было. Просто в процедуре сохранения, изходя из FilterIndex подставляй своё расширение к файлу.
|
01.06.2010, 14:42 | #4 |
Участник клуба
Регистрация: 11.01.2009
Сообщений: 1,917
|
Нажимаешь на кнопку, появляется диалог (SaveDialog) и после нажатия на кнопку "Сохранить" у тебя есть все что нужно:
1) желаемое имя файла : Savedialog1.Filename (полный путь + имя) 2) номер (индекс) расширения, который выбран пользователем в выпадающем списке: SaveDialog1.FilterIndex Теперь можешь сформировать имя файла и сохранять его ... Код:
При нажатии копки "Сохранить" сам диалог ничего не делает кроме того что закрывается, оставляя у себя параметры ...
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
|
01.06.2010, 19:04 | #5 |
Delphi, OpenGL API
Форумчанин
Регистрация: 29.03.2010
Сообщений: 152
|
За пример применения FilterName спасибо конечно, но как пользователь увидит изменения расширения имени файла во время изменения индекса фильтра FilterIndex? SaveDialog1 то уже вызван, а во время работы его окна, FileName не хочет меняться ни как. Сам проверял.
Последний раз редактировалось Miha85193; 01.06.2010 в 19:08. |
14.06.2010, 20:00 | #6 |
Delphi, OpenGL API
Форумчанин
Регистрация: 29.03.2010
Сообщений: 152
|
В том то все и дело, что пользователь изменяя расширение в выпадающем списке в низу диалога, должен видеть изменение расширения имени файла в области "Имя файла".
|
14.06.2010, 20:06 | #7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
а вы видели в какой то программе подобное?(где именно стандартный диалог)
думаю нет, пишите свою форму диалога, раз так сильно хочется. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
14.06.2010, 20:47 | #8 |
Форумчанин
Регистрация: 24.04.2010
Сообщений: 205
|
Вот сделал прогу там SaveDialog нажимайте все нормально только в фильтре нужно указать.
|
14.06.2010, 21:45 | #9 |
Delphi, OpenGL API
Форумчанин
Регистрация: 29.03.2010
Сообщений: 152
|
Ну конечно же. В Winword 2003 именно такой диалог.
Последний раз редактировалось Miha85193; 15.06.2010 в 01:56. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
использывание TSaveDialog | iliili | Помощь студентам | 4 | 21.03.2010 12:05 |
TSaveDialog и иницилизация COM в главном потоке. | nik531 | Компоненты Delphi | 0 | 05.02.2010 10:38 |
регистрация расширения | Djonik | Общие вопросы Delphi | 2 | 08.11.2009 09:10 |
реестр, расширения | StartMis | Общие вопросы Delphi | 6 | 06.11.2008 20:01 |
Tsavedialog | Ensoph | Компоненты Delphi | 7 | 01.04.2008 08:31 |