-
Для сохранения файла (в моей программе) я хочу открыть SaveFileDialog1 и подставить в него имя файла которого еще нет в этом каталоге (Безымянный 1, .. Безымянный N). Но так как SaveFileDialog1 открывает тот каталог который был открыт при сохранении предыдущего файла (RestoryDirectory=false), я не могу проверить существование в нем файла "Безымянный N".
Подскажите, пожалуйста как мне узнать какой каталог откроется в SaveFileDialog1.
InitialDirectory и FileName не подходят
-
Почему все молчат? Может я вопрос плохо сформулировал?
-
Плохо :) Но поняли. Ты предоставляешь пользователю право выбрать имя для файла, зачем при этом ему подсовывать какие-то имена? Или сохраняй сам, или оставь пользователя право самому выбрать имя.
-
В Microsoft Word при сохранении документа пользователю подставляется имя Doc1, а если этот файл существует то Doc2 и пользователю остается только нажать ОК. Если же такой подстановки небыло бы, тогда пользователю всегда приходилось бы изменять (вводдить) имя файла - тратить драгоценное время. А это не есть хорошо. Так что это вещь нужная, а каталог определить не могу.
-
LName := GetCurrentDir + '\Doc2.doc';
if FileExists(LName) then
LName := 'Doc3.doc';
SaveDialog.FileName := LName;
-
Возможно. Но GetCurrentDir это Win32 функция, а мне .Net нужна. К таму же в Win32 значение функции GetCurrentDir при выходе из программы сбрасывается. А каталог открывающийся моей программе почему-то остается неизменным. (Даже если компьютер перезагрузить). Возможно .Net программы хранят какую-то информацию в реестре или где-то еще.
-
System.IO.Directory.GetCurrentDirectory()
-
Действительно .Net! И почти работает. Т.е. при первом запуске GetCurrentDirectory выдает каталог из которого была запущена программа, а SaveFileDialog1 открывает совсем другой каталог.
При выборе в нем любого файла GetCurrentDirectory меняет значение на каталог этого файла. Но как узнать какой каталог откроется в первый раз?
-
а не два слэша надо?
-
saveFileDialog1.InitialDirectory = "c:\\temp";
-
Определение, соответственно, наоборот.
-
Это зачем?
-
что зачем?
-
Я пытаюсь узнать как определить каталог который откроется при вызове SaveFileDialog если его свойство RestoryDirectory=false. А причем тут два слэша?
-
SaveFileDialog открывается там, где InitialDirectory. Два слэша ибо дотНЕТ. дотНЕТ - это юникод, служебные символы и все такое... поэтому, один слэш воспринимается как служебный символ. Либо пишем так: fileName = "C:\\Temp\\doc1.txt", либо fileName = @"C:\Temp\doc1.txt"... гм... только ща сообразил, что я основываюсь на С#. :))
-
SaveFileDialog открывается в InitialDirectory только когда RestoryDirectory=true, а в остальных случаях в той папке в которой этот он ранее сохранял файл.
-
Хорошо, но разве в этих остальных случаях это достигается не автоматическим изменением InitialDirectory?
-
Нет. InitialDirectory у меня = ''