powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как запретить пользователю изменять имя файла в SaveDialog?
26 сообщений из 26, показаны все 2 страниц
Как запретить пользователю изменять имя файла в SaveDialog?
    #36894104
Алексей Ходыкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаю так
Код: plaintext
SaveDialogBackup.FileName:=st_Base_name_on_server;
Как запретить пользователю изменять имя файла в SaveDialog?
...
Рейтинг: 0 / 0
Как запретить пользователю изменять имя файла в SaveDialog?
    #36894114
RENaissance
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей ХодыкинДелаю так
Код: plaintext
SaveDialogBackup.FileName:=st_Base_name_on_server;
Как запретить пользователю изменять имя файла в SaveDialog?
Отказаться от SaveDialog'а. Он не для этих целей.
...
Рейтинг: 0 / 0
Как запретить пользователю изменять имя файла в SaveDialog?
    #36894119
Фотография Feg16
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RENaissanceОтказаться от SaveDialog'а. Он не для этих целей.Аха, а манна небесная для тараканов... После SaveDialog.Execute меняй указанное пользователем имя файла на свое.
Код: plaintext
FileName := ExtractFileDir(SaveDialog.FileName) + 'blablabla.txt'
...
Рейтинг: 0 / 0
Как запретить пользователю изменять имя файла в SaveDialog?
    #36894130
RENaissance
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Feg16RENaissanceОтказаться от SaveDialog'а. Он не для этих целей.Аха, а манна небесная для тараканов... После SaveDialog.Execute меняй указанное пользователем имя файла на свое.
Код: plaintext
FileName := ExtractFileDir(SaveDialog.FileName) + 'blablabla.txt'

Говнокодер детектед. Автору нужно использовать или SelectDirectory или SHBrowseForFolder, т.к. явно требуется только выбор, КУДА нужно сохранить файл.
...
Рейтинг: 0 / 0
Как запретить пользователю изменять имя файла в SaveDialog?
    #36894139
Фотография Feg16
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RENaissanceГовнокодер детектед. Автору нужно использовать или SelectDirectory или SHBrowseForFolder, т.к. явно требуется только выбор, КУДА нужно сохранить файл.Говноум детектед. Броузер директорий не имеет всех тех плюшек (Смена расширения, MRU в том числе), которые имеет SaveDialog
...
Рейтинг: 0 / 0
Как запретить пользователю изменять имя файла в SaveDialog?
    #36894167
Алексей Ходыкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага
ясно, что ничего не ясно
Ну, кто рассудит? Кто третьим будет?
...
Рейтинг: 0 / 0
Как запретить пользователю изменять имя файла в SaveDialog?
    #36894170
Gerasimenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей ХодыкинАга
ясно, что ничего не ясно
Ну, кто рассудит? Кто третьим будет?Наливай...
А вааще, прав RENaissance.
...
Рейтинг: 0 / 0
Как запретить пользователю изменять имя файла в SaveDialog?
    #36894182
SQLap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей ХодыкинАга
ясно, что ничего не ясно
Ну, кто рассудит? Кто третьим будет?

Если ты знаешь имя сохраняемого файла и знаешь, что его изменять нельзя, зачем тебе SaveDialog?
Если тебе нужно изменить каталог, куда будешь сохранять файл, тебе подсказали - SelectDirectory
...
Рейтинг: 0 / 0
Как запретить пользователю изменять имя файла в SaveDialog?
    #36894212
RENaissance
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Feg16RENaissanceГовнокодер детектед. Автору нужно использовать или SelectDirectory или SHBrowseForFolder, т.к. явно требуется только выбор, КУДА нужно сохранить файл.Говноум детектед. Броузер директорий не имеет всех тех плюшек (Смена расширения, MRU в том числе), которые имеет SaveDialog
Глаза разуй и включи мозг! ТС написал - ИМЯ ФАЙЛА НЕ МЕНЯЕТСЯ. Соответственно, расширение тоже. Плюс, зачем нужно MRU (недавно открытые файлы, документы и т.д.) при выборе КАТАЛОГА НАЗНАЧЕНИЯ?
...
Рейтинг: 0 / 0
Как запретить пользователю изменять имя файла в SaveDialog?
    #36894244
Фотография Feg16
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RENaissanceГлаза разуй и включи мозг! ТС написал - ИМЯ ФАЙЛА НЕ МЕНЯЕТСЯТы дурак или прикидываешся. Имя файла != Расширение файла

Недавно открытые файлы - напрямую указывают к папке где к примеру недавно был сохранен какой либо бэкап

В SaveDialog можно попасть в скрытые папки прописав имя, в SelectDirectory нет
...
Рейтинг: 0 / 0
Как запретить пользователю изменять имя файла в SaveDialog?
    #36894264
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Feg16, RENaissance

ну что вы все пиписками меряетесь. Предложили варианты - пусть ТС думает, какой предпочтительнее.

зы. дети, ей-Богу...
...
Рейтинг: 0 / 0
Как запретить пользователю изменять имя файла в SaveDialog?
    #36894271
RENaissance
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДокFeg16, RENaissance

ну что вы все пиписками меряетесь. Предложили варианты - пусть ТС думает, какой предпочтительнее.

зы. дети, ей-Богу...
Мне абсолютно все равно какое решение выберет ТС. Но хотелось бы, чтобы люди выбирали правильные готовые инструменты, а не делали очередные говновелосипеды.
...
Рейтинг: 0 / 0
Как запретить пользователю изменять имя файла в SaveDialog?
    #36894299
Фотография demian111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RENaissanceМне абсолютно все равно какое решение выберет ТС. Но хотелось бы, чтобы люди выбирали правильные готовые инструменты, а не делали очередные говновелосипеды.

А у Рена получается пиписка объективно больше:)

з.ы.
хотя думаю можно было бы придумать как запретить, но ... нахрен не надо:))
...
Рейтинг: 0 / 0
Как запретить пользователю изменять имя файла в SaveDialog?
    #36894300
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильно писать говнопед.
...
Рейтинг: 0 / 0
Как запретить пользователю изменять имя файла в SaveDialog?
    #36894542
Алексей Ходыкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если делать так
Feg16
Код: plaintext
FileName := ExtractFileDir(SaveDialog.FileName) + 'blablabla.txt'

то вставляю одну строчку кода и проблема решена

если так
RENaissance Автору нужно использовать или SelectDirectory или SHBrowseForFolder
то заморочек немного больше. но я так понял это правильнее.
буду думать

Вобщем предлагаю "победила дружба"!
Всем спасибо
Вопрос закрыт

PS Что-то АП вокруг да около ходит, а конкретного ответа не даёт? )) Сомневается? )))
...
Рейтинг: 0 / 0
Как запретить пользователю изменять имя файла в SaveDialog?
    #36894617
RENaissance
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Ходыкинесли делать так
Feg16
Код: plaintext
FileName := ExtractFileDir(SaveDialog.FileName) + 'blablabla.txt'

то вставляю одну строчку кода и проблема решена

Леша, поставь себя на место пользователя: ты жмешь "Сохранить", появляется диалог сохранения, ты руками набиваешь говорящее для тебя имя файла, сохраняешь, файл сохраняется совсем под другим именем. Это нормально? Тебя не будет это раздражать?
...
Рейтинг: 0 / 0
Как запретить пользователю изменять имя файла в SaveDialog?
    #36894648
Алексей Ходыкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RENaissanceставь себя на место пользователя: ты жмешь "Сохранить", появляется диалог сохранения, ты руками набиваешь говорящее для тебя имя файла, сохраняешь, файл сохраняется совсем под другим именем. Это нормально? Тебя не будет это раздражать?
согласен
кстати
Код: plaintext
FileName := ExtractFileDir(SaveDialog.FileName) +[color=green]'\'[/color]+ 'blablabla.txt'
проверил опытным путём )) переделываю
...
Рейтинг: 0 / 0
Как запретить пользователю изменять имя файла в SaveDialog?
    #36894762
Фотография Feg16
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RENaissanceпоставь себя на место пользователя: ты жмешь "Сохранить", появляется диалог сохранения, ты руками набиваешь говорящее для тебя имя файла, сохраняешь, файл сохраняется совсем под другим именем. Это нормально? Тебя не будет это раздражать?А тебя не будет раздражать SelectDirectory если при сетке в 10-сто-тыща станций тебе надо положить файл на скрытую шару \\ms-test17N\shara$ ?
...
Рейтинг: 0 / 0
Как запретить пользователю изменять имя файла в SaveDialog?
    #36894771
RENaissance
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Feg16RENaissanceпоставь себя на место пользователя: ты жмешь "Сохранить", появляется диалог сохранения, ты руками набиваешь говорящее для тебя имя файла, сохраняешь, файл сохраняется совсем под другим именем. Это нормально? Тебя не будет это раздражать?А тебя не будет раздражать SelectDirectory если при сетке в 10-сто-тыща станций тебе надо положить файл на скрытую шару \\ms-test17N\shara$ ?
Нет.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как запретить пользователю изменять имя файла в SaveDialog?
    #39486035
Если нужен всё же SaveDialog, то можно так (хоть и гкод):
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
function TSDFSD.GetFName(const nnnn: string; yyyy: string; mm: string): string;
var  
  namefile: string;

  function recursfname(firstfname: string): string;
  begin
    result := '';
    SaveDialog.InitialDir := ExtractFileDir(Application.ExeName) + '\IMPORT\';
    if SaveDialog.Execute then
      if firstfname <> ExtractFileName(SaveDialog.FileName) then
      begin
        ShowMessage('Изменить имя можно в другом меню: Изменить имя');
        SaveDialog.FileName := firstfname;
        result := recursfname(firstfname);
      end
      else
        result := SaveDialog.FileName;
  end;

begin
  Result:='';
  namefile := nnnn + '_' + DateToStr(Now) + '_' + yyyy + '_' + mm;
  SaveDialog.FileName := namefile + '.xml';
  //Рекурсия до тех пор, пока пользователь не нажмет отмена либо смирится с тем, что имя файла менять нельзя 
  Result := recursfname(ExtractFileName(SaveDialog.FileName));
end;
...
Рейтинг: 0 / 0
Как запретить пользователю изменять имя файла в SaveDialog?
    #39486037
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему просто не выбрать каталог? Без имени файла.
...
Рейтинг: 0 / 0
Как запретить пользователю изменять имя файла в SaveDialog?
    #39486125
rgreat,
Окно SaveDialog смотрится привычнее для пользователя, также компонент бесплатный, может еще есть аналоги, но в программе используется именно этот компонент. Еще интересный факт: Сначала формируется XML, в котором содержится имя файла, поэтому пользователю его менять нельзя и тут либо после того, как пользователь поменял имя надо менять содержимое XML, либо задавать имя, а потом формировать XML, но в таком случае больше кода переписывать придется, нежели написать такой кусок. Хотя согласен, логичнее с точки зрения пользователя логичнее потом формировать XML после того как пользователь задал имя. Просто он может сделать это не по формату, тогда вернемся к тому бреду, что пользователь задал имя, я программа затерла его по своему алгоритму..
...
Рейтинг: 0 / 0
Как запретить пользователю изменять имя файла в SaveDialog?
    #39486130
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Михайловичrgreat,
Окно SaveDialog смотрится привычнее для пользователя, также компонент бесплатный, может еще есть аналоги, но в программе используется именно этот компонент. Еще интересный факт: Сначала формируется XML, в котором содержится имя файла, поэтому пользователю его менять нельзя и тут либо после того, как пользователь поменял имя надо менять содержимое XML, либо задавать имя, а потом формировать XML, но в таком случае больше кода переписывать придется, нежели написать такой кусок. Хотя согласен, логичнее с точки зрения пользователя логичнее потом формировать XML после того как пользователь задал имя. Просто он может сделать это не по формату, тогда вернемся к тому бреду, что пользователь задал имя, я программа затерла его по своему алгоритму..

До чего только человеческая мысль не доходит - уму непостижимо. Зачем вообще о чем-то спрашивать пользователя ?
...
Рейтинг: 0 / 0
Как запретить пользователю изменять имя файла в SaveDialog?
    #39486135
Жышы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Михайловичrgreat,
Окно SaveDialog смотрится привычнее для пользователя, также компонент бесплатный...

Ерундой страдаешь.
...
Рейтинг: 0 / 0
Как запретить пользователю изменять имя файла в SaveDialog?
    #39486363
Фотография Dimonka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это что ли?
Код: pascal
1.
2.
3.
with TFileOpenDialog.Create(nil) do
  try
    Options := [fdoPickFolders];
...
Рейтинг: 0 / 0
Как запретить пользователю изменять имя файла в SaveDialog?
    #39486924
Всем, спасибо, думаю мне такое решение подойдет, правда своих раннее сохраненных файлов только с расширением XML не видно, но это походу и правильно раз только папка задается.. Буду представлять 2 варианта тот с рекурсией и этот, посмотрю что выберут:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  //chosenDirectory: string;
  FileOpenDialog: TFileOpenDialog;
begin

{
  if SelectDirectory('Выберите каталог', 'C:\', chosenDirectory) then
    ShowMessage('Выбранный каталог = '+chosenDirectory)
  else
    ShowMessage('Выбор каталога прервался');
}

  FileOpenDialog := TFileOpenDialog.Create(nil);
  try
    FileOpenDialog.Options := [fdoPickFolders];
    FileOpenDialog.DefaultFolder := 'C:\TEST\IMPORT\';
    FileOpenDialog.FileNameLabel := 'Сохранение файла XXX.xml в папку:';
    if FileOpenDialog.Execute then
      ShowMessage(FileOpenDialog.FileName);
  finally
    FileOpenDialog.Free;
  end;
end;



schi, пользователь вроде должен видеть свои ранее сохраненные файлы (но этот вопрос я еще уточню).
Жышы, у меня при запуске программы окошко почему-то не прорисовалось при SelectDirectory. Почему не знаю.. При повторном запуске окно вроде нормальное как при SaveDialog было.... Может на разных компах по разному прорисовка..
...
Рейтинг: 0 / 0
26 сообщений из 26, показаны все 2 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как запретить пользователю изменять имя файла в SaveDialog?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]