Latest post of the previous page:
NightRoman, заноси на мантис, со ссылкой на 231Зачем нужен EF_CREATENEW?
- HaRT
- Moderator
- Posts: 10823
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Re: Зачем нужен EF_CREATENEW?
Ага, и ссылку на эту Тему в Additional information.Skirda wrote:заноси на мантис, со ссылкой на 231
Фар есть инструмент, а не нянька. © 2009 DrKnS
- NightRoman
- Posts: 6184
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 32 times
- Been thanked: 62 times
- Contact:
- NightRoman
- Posts: 6184
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 32 times
- Been thanked: 62 times
- Contact:
Re: Зачем нужен EF_CREATENEW?
С пустым именем (не заданным) имеем
То есть планируется использовать EF_CREATENEW как подтверждение, что пустое имя не сдури было задано? Ну пусть хоть так... Но по мне лучше, если имя пустое, но это и трактовать как желание открыть новый файл. Но я не против такой трактовки EF_CREATENEW.
С остальным все по старому: если имя файла указываем, то независимо от EF_CREATENEW и факта наличия файла, редактор открывает, что указано, новое или существующее.
Code: Select all
$e = $Far.CreateEditor()
$e.IsNew = 0
$e.Open()
# - ошибка открытия файла
Code: Select all
$e = $Far.CreateEditor()
$e.IsNew = 1
$e.Open()
# открыт новый C:\TEMP\?New File? в текущей папке
С остальным все по старому: если имя файла указываем, то независимо от EF_CREATENEW и факта наличия файла, редактор открывает, что указано, новое или существующее.
Re: Зачем нужен EF_CREATENEW?
Это... почти как у open() флаг O_CREAT - если файл есть, флаг ничего не делает, если нету, то создает.NightRoman wrote:То есть планируется использовать EF_CREATENEW как подтверждение, что пустое имя не сдури было задано? Ну пусть хоть так... Но по мне лучше, если имя пустое, но это и трактовать как желание открыть новый файл. Но я не против такой трактовки EF_CREATENEW.
С остальным все по старому: если имя файла указываем, то независимо от EF_CREATENEW и факта наличия файла, редактор открывает, что указано, новое или существующее.
А в ФАРе флаг EF_CREATENEW допускает указание в качестве имени файла пустоты, но если файл есть, то откроется...
We are the Borg. You will be assimilated.
So Say We All!
So Say We All!
- NightRoman
- Posts: 6184
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 32 times
- Been thanked: 62 times
- Contact:
Re: Зачем нужен EF_CREATENEW?
Хорошо, пусть такая ясность, чем никакая.
Но по-моему, вот этот код должен просто открыть редактор с новым файлом:
Что может быть более интуитивно?
Менее интуитивно вот так:
Примеры на PowerShell, но это неважно, идею они вроде выражают.
Но по-моему, вот этот код должен просто открыть редактор с новым файлом:
Code: Select all
$e = $Far.CreateEditor()
$e.Open()
Менее интуитивно вот так:
Code: Select all
$e = $Far.CreateEditor()
$e.IsNew = 1
$e.Open()
- NightRoman
- Posts: 6184
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 32 times
- Been thanked: 62 times
- Contact:
Re: Зачем нужен EF_CREATENEW?
Это обсуждение и тестовое изменение получило какое-то развитие? Вроде нет, а планируется (в принципе, сроки пока не интересуют)?
Re: Зачем нужен EF_CREATENEW?
планируется.
планируется весь код переделать.
переделать так, чтобы filelist не конструировал имя (как и АПИ-функция Editor), а просто тупо все передавал в fileeditor, а этот в свою очередь........
вроде как на мантисе есть что-то про это (если не ошибаюсь)
планируется весь код переделать.
переделать так, чтобы filelist не конструировал имя (как и АПИ-функция Editor), а просто тупо все передавал в fileeditor, а этот в свою очередь........
вроде как на мантисе есть что-то про это (если не ошибаюсь)
We are the Borg. You will be assimilated.
So Say We All!
So Say We All!
- NightRoman
- Posts: 6184
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 32 times
- Been thanked: 62 times
- Contact:
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
EF_CREATENEW
Если в параметрах функции Editor этот флаг не указан, то как я понимаю имя несуществующего файла должно приводить к ошибке.http://api.farmanager.com/ru/service_functions/editor.html wrote:EF_CREATENEW Создать новый файл на диске. Вызов редактора с этим флагом аналогичен вызову редактора по Shift+F4 в панелях.
Однако, как ни в чём ни бывало открывается пустой редактор.
Code: Select all
lua:editor.Editor("qwerty",nil,nil,nil,nil,nil,{EF_NONMODAL=1,EF_IMMEDIATERETURN=1})
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
Re: EF_CREATENEW
Да, пожалуй описание можно понять двояко.
В любом случае, это не оно:
Существующий файл будет открыт без ошибок.
В любом случае, это не оно:
Code: Select all
lua:editor.Editor("qwerty",nil,nil,nil,nil,nil,"EF_CREATENEW")
Re: EF_CREATENEW
Изначально под EF_CREATENEW подразумевалось - "если этого файла нет, то вернуть ошибку и не открывать пустой редактор" (ну или наоборот - "Эй, Far, отсутствие файла не считается ошибкой, открой новый").
Я так думаю, что это баг Far`а.
Я так думаю, что это баг Far`а.
We are the Borg. You will be assimilated.
So Say We All!
So Say We All!
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
Re: Зачем нужен EF_CREATENEW?
Этот флаг сейчас действует если в качестве имени задана пустая строка.
Вряд ли это правильно.
Плюс, (и это наверно отдельный вопрос) у редакторов с пустым именем есть проблемы.
Вряд ли это правильно.
Плюс, (и это наверно отдельный вопрос) у редакторов с пустым именем есть проблемы.
Re: Зачем нужен EF_CREATENEW?
А Shift-F4 Ctrl-Y Enter это тоже неправильно?John Doe wrote:Этот флаг сейчас действует если в качестве имени задана пустая строка.
Вряд ли это правильно.
We are the Borg. You will be assimilated.
So Say We All!
So Say We All!