Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Savedialog. Проблема с расширениями. [D7, XP]


Fenix ©   (2006-03-03 16:55:00) 

Доброе время суток.
Допустим у меня в фильтре Savedialog'a находиться несколько расширений. При сохранении я вбиваю имя файла (без расширения). И мне надо, что бы данные сохранились в файл с выбранным расширением.
Я читал что надо для этого использовать DefaultExt. Но как туда занести выбранное расширение из фильтра?


Fenix   (2006-03-03 18:44:00) [1]

Огромное спасибо :)
усе заработало.


АРІ   (2006-03-03 18:10:00) [2]

Решение "в лоб":

procedure TForm1.SaveDialog1TypeChange(Sender: TObject);
var
 SL: TStringList;
begin
 SL := TStringList.Create;
 try
   SL.Delimiter := '|';
   Sl.DelimitedText := SaveDialog1.Filter;
   SaveDialog1.DefaultExt := SL[SaveDialog1.FilterIndex * 2 - 1];
 finally
   SL.Free;
 end;
end;


Fenix   (2006-03-03 17:33:00) [3]

да не... так то я определяю когда с расширением, а когда нет. Мне нужно что бы не писать  '<расширение>', а расширение задавалась относительно, фильтра выбранного в данный момент. У меня допустим 2 фильтра *.htm *.html.
Мне надо что бы когда был выбран фильтр *.htm у меня автоматически сохранялась с расширением .htm, также с *.html.


x.pro   (2006-03-03 17:17:00) [4]

procedure ...
begin
if ExtractFileExt(SaveDialog1.Filename) = ''
then SaveDialog1.FileName + '<расширение>'
end;

попробуйте так.


Наверх

Титульная страница Поиск, карта сайта Написать письмо