Save диалог не работает

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Save диалог не работает

Сообщение resident » 29.06.2014 13:45:11

Здрасть )

Задаю в программе DefaultExt и Filter, еще включено ofOverwritePrompt. В первого взгляда, всё работает. При вызове показывает только файлы с моим расширением и при выполнении диалога он к названию файла приписывает мое расширение, например, сохраняю единичку и получаю файл 1.test. Ок.
Но! Как только я начинаю набирать название файла на клавиатуре и в папке есть файл без расширения - эти настройки уже не действуют.
Пример: в папке лежат только два файла с именами 1, 123.txt
Я хочу сохранить туда файл с моим расширением 1.test, набрав как обычно в нормальных программах только единичку с клавиатуры.
Набираю единичку и диалог, забыв обо всяких фильтрах, мне выдает список всех файлов, начинающихся на единичку, т.е. 1, 123.txt
Ладно, диалог перестарался, когда его не просили. Пытаюсь сохранить единичку. Мне выдает, что файл с таким именем существует - переписать или нет? Блин, существует файл 1 без расширения, а не файл с расширением 1.test.
Ни один обычный юзер не сможет сохранить файл в такой ситуации.
resident
энтузиаст
 
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

Re: Save диалог не работает

Сообщение vkhacker » 01.07.2014 18:20:26

Можно сделать, например, так(.ext - наше расширение файла):
Код: Выделить всё
SaveDialog.FileName:='Новый файл.ext';
if SaveDialog.Execute then
  begin
    if (RightStr(SaveDialog.FileName, 4)<>'.ext') then
      SaveDialog.FileName:=SaveDialog.FileName+'.ext';
  end;

RightStr из модуля sysutils.
vkhacker
незнакомец
 
Сообщения: 9
Зарегистрирован: 06.02.2014 09:50:35


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 226

Рейтинг@Mail.ru