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

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

SAVEDIALOG [D7, WinXP]


Viper ©   (2005-07-14 17:38:00) 

как сделать чтобы прользеватель вводил имя файла, а расширение добавлялось автоматически?


Просто Джо   (2005-07-14 19:23:00) [1]


> [16] TStas ©   (14.07.05 19:09)
< Все нормально работает.

Попробуй сохранить в папку 'd:\myfolder.dat\'


TStas   (2005-07-14 19:09:00) [2]

Я делал if Pos('.', SaveDialog1.FileName)=0 then SaveDialog1.FileName:=SaveDialog1.FileName+'.ext'
ext - нужное расширение.
Все нормально работает.


Просто Джо   (2005-07-14 19:00:00) [3]

И все дела


Просто Джо   (2005-07-14 18:59:00) [4]


procedure TForm1.Button1Click(Sender: TObject);
begin
SaveDialog1.DefaultExt := 'ref';
SaveDialog1.Filter := 'ref files|*.ref';
if SaveDialog1.Execute then
 Memo1.Lines.SaveToFile(SaveDialog1.FileName);


Viper   (2005-07-14 18:55:00) [5]

т.е. юзера нужно предупреждать либо не вздумай жать "отмена" либо обязательно пиши расширение так?


Viper   (2005-07-14 18:52:00) [6]

если написать так как ты говоришь это будет выглядеть
procedure TForm1.Button1Click(Sender: TObject);
begin
SaveDialog1.DefaultExt := 'ref';
SaveDialog1.Filter := 'ref files|*.ref';
if SaveDialog1.Execute then
 ShowMessage (SaveDialog1.FileName);
Memo1.Lines.SaveToFile(SaveDialog1.FileName);
end;
все классно, есть расширение, но при нажатии "отмены" появляеться ошибка

я ето сделал таким образом
procedure TForm1.Button1Click(Sender: TObject);
begin
SaveDialog1.DefaultExt := 'ref';
SaveDialog1.Filter := 'ref files|*.ref';
if SaveDialog1.Execute then
 ShowMessage (SaveDialog1.FileName);

end;

procedure TForm1.SaveDialog1CanClose(Sender: TObject;
 var CanClose: Boolean);
begin
 Memo1.Lines.SaveToFile(SaveDialog1.FileName);
end;

и вот в этом случае расширение пропадает!


Просто Джо   (2005-07-14 18:42:00) [7]

Приведи тогда код сохранения файла.


Viper   (2005-07-14 18:41:00) [8]

Странно все должно работать, а ничего не работает...


Просто Джо   (2005-07-14 18:41:00) [9]

У тебя с логикой впорядке?
Код

procedure TForm1.Button1Click(Sender: TObject);
begin
SaveDialog1.DefaultExt := 'ref';
SaveDialog1.Filter := 'ref files|*.ref';
if SaveDialog1.Execute then
  ShowMessage (SaveDialog1.FileName)
end;

показывает файл с расширением? Ты говоришь, что да. Значит:
1) твой код присвоения значений отличается от моего (рабочего, как ты сам убедился)
2) При сохранении ты сам обрезаешь где-то расширение. Тогда причем здесь SaveDialog??
Так где проблема? Не можешь переделать код по образцу или в чем?


Viper   (2005-07-14 18:33:00) [10]

открываеться sevadialog я нажимаю 1 и "enter" у меня сохраняеться файл 1 без разширения???


Просто Джо   (2005-07-14 18:31:00) [11]

Ну, так в чем проблема?


Viper   (2005-07-14 18:31:00) [12]

Сообщение с полным адресом именем и расширением


Просто Джо   (2005-07-14 18:25:00) [13]

Что у тебя выдает следующий код:

procedure TForm1.Button1Click(Sender: TObject);
begin
 SaveDialog1.DefaultExt := 'ref';
 SaveDialog1.Filter := 'ref files|*.ref';
 if SaveDialog1.Execute then
   ShowMessage (SaveDialog1.FileName)
end;


Viper   (2005-07-14 18:22:00) [14]

да, он один, *.ref


Просто Джо   (2005-07-14 18:21:00) [15]

А Filter устанавливал?


Viper   (2005-07-14 18:19:00) [16]

либо я что-то не так делаю или...
открываеться sevadialog я нажимаю 1 и "enter" у меня сохраняеться файл 1 без разширения???
DefaultExt:='*.ref'
DefaultExt:='.ref'
DefaultExt:='ref'


begin...end   (2005-07-14 17:40:00) [17]

Свойство DefaultExt?


Наверх

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