Переключение на Главную Страницу Страницы: 1 2 3 [4] 5 6 ... 9 ОтправитьПечать
Очень популярная тема (более 25 ответов) Перехват диалога открытия/сохранения файла (число прочтений - 83785 )
OstapBender
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 20
Зарегистрирован: 07. Мая 2008
Re: Перехват диалога открытия/сохранения файла
Ответ #45 - 14. Августа 2009 :: 12:55
Печать  
Ветка с Кубани помогла. Спасибо. Буду в Кривом Роге, с меня коньяк Улыбка
  
Наверх
 
IP записан
 
zar
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 82
Местоположение: Киров
Зарегистрирован: 17. Августа 2009
Пол: Мужской
Re: Перехват диалога открытия/сохранения файла
Ответ #46 - 17. Августа 2009 :: 11:43
Печать  
Задумка хорошая! Понравилась реализация!
Вот тока с файловыми операциями не все понятно: по правой и по левой кнопке мыши контекстное меню не показывает - все нормально, но вот когда правой кнопкой мыши пытаемся перенести любой файл на другое место - опля - контекстное меню (правда урезанное) перед нами. При установленном 7zip'е, можно открыть из конт. меню сам 7-zip, и в нем можно творить что угодно и с кем угодно...
  
Наверх
 
IP записан
 
metaeditor
1c++ power user
Отсутствует


are you nuts?

Сообщений: 564
Зарегистрирован: 04. Июля 2006
Пол: Мужской
Re: Еще одна хотелка
Ответ #47 - 19. Августа 2009 :: 10:20
Печать  
avgreen писал(а) 12. Августа 2009 :: 14:45:
Я "блокирую" пользователя в его рабочем каталоге КаталогПользователя(), чтобы он не гадил на серваке где попало. Но вот как ему попасть на свою машину, с которой он ходит по RDP?
У меня возникла идея - создать шорткат в КаталогПользователя() на \\tsclient\C$ и пущай работает. Но компонента не пускает по шорткату .... что вполне логично
Так вот хотелось-бы что-то типа
Код
Выбрать все
менеджерДиалогов.ЗапретитьФайловыеОперации(1)
МенеджерДиалогов.ЗапретитьИзменениеТекущегоКаталога(3) 


Пускать ниже и по линкам/шорткатам.  

Давай я лучше сделаю полный доступ к переходам на сетевые папки т.е которые начинаются с "\\", мне так намного проше сделать, чем отслеживать переходы по ярлыкам?

Цитата:
Вот тока с файловыми операциями не все понятно: по правой и по левой кнопке мыши контекстное меню не показывает - все нормально, но вот когда правой кнопкой мыши пытаемся перенести любой файл на другое место - опля - контекстное меню (правда урезанное) перед нами. При установленном 7zip'е, можно открыть из конт. меню сам 7-zip, и в нем можно творить что угодно и с кем угодно...

да, это тоже уберу
  

Регистр.EAX.СводныйОстаток()
Наверх
 
IP записан
 
avgreen
Senior Member
****
Отсутствует



Сообщений: 254
Местоположение: Украина, Кривой Рог
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Еще одна хотелка
Ответ #48 - 19. Августа 2009 :: 19:52
Печать  
metaeditor писал(а) 19. Августа 2009 :: 10:20:
avgreen писал(а) 12. Августа 2009 :: 14:45:
Я "блокирую" пользователя в его рабочем каталоге КаталогПользователя(), чтобы он не гадил на серваке где попало. Но вот как ему попасть на свою машину, с которой он ходит по RDP?
У меня возникла идея - создать шорткат в КаталогПользователя() на \\tsclient\C$ и пущай работает. Но компонента не пускает по шорткату .... что вполне логично
Так вот хотелось-бы что-то типа
Код
Выбрать все
менеджерДиалогов.ЗапретитьФайловыеОперации(1)
МенеджерДиалогов.ЗапретитьИзменениеТекущегоКаталога(3) 


Пускать ниже и по линкам/шорткатам.  

Давай я лучше сделаю полный доступ к переходам на сетевые папки т.е которые начинаются с "\\", мне так намного проше сделать, чем отслеживать переходы по ярлыкам?



Ну это как вариант тоже годится. Конечно есть еще сетевые диски, но на крайний случай к ним ведь можно обратится по сетевому имени если немного покурить маны по vbs Улыбка

Тем более если тебе так проще ..... А я не знаю алгоритма который ты пользуешь, поэтому настаивать и лезть с советами не буду Улыбка

PS Еще раз спасибо как за компоненту так и за поддержку ...
  
Наверх
ICQ  
IP записан
 
zar
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 82
Местоположение: Киров
Зарегистрирован: 17. Августа 2009
Пол: Мужской
Re: Еще одна хотелка
Ответ #49 - 20. Августа 2009 :: 08:06
Печать  
Цитата:
да, это тоже уберу


Заранее огромное спасибище!
  
Наверх
 
IP записан
 
metaeditor
1c++ power user
Отсутствует


are you nuts?

Сообщений: 564
Зарегистрирован: 04. Июля 2006
Пол: Мужской
Re: Перехват диалога открытия/сохранения файла
Ответ #50 - 25. Августа 2009 :: 13:01
Печать  
Код
Выбрать все
менеджерДиалогов.ЗапретитьИзменениеТекущегоКаталога(2); 	 


Если параметр равен 3, тогда аналогично 2, плюс разрешается доступ к сетевым папкам и дискам.
Также убрано меню при перетаскивании правой кнопкой мыши.
     
  

OpenFileDialogsManager_1006.zip ( 24 KB | Загрузки )

Регистр.EAX.СводныйОстаток()
Наверх
 
IP записан
 
avgreen
Senior Member
****
Отсутствует



Сообщений: 254
Местоположение: Украина, Кривой Рог
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Перехват диалога открытия/сохранения файла
Ответ #51 - 26. Августа 2009 :: 19:04
Печать  
metaeditor писал(а) 25. Августа 2009 :: 13:01:
Код
Выбрать все
менеджерДиалогов.ЗапретитьИзменениеТекущегоКаталога(2); 	 


Если параметр равен 3, тогда аналогично 2, плюс разрешается доступ к сетевым папкам и дискам.
Также убрано меню при перетаскивании правой кнопкой мыши.
     

Ура!!! Улыбка Пасиб огромный!
А скажи pls насколько трудно сделать вызов событий ПриОткрытииЗаписать м ПриОткрытииОткрыть (тавталогия получилась Улыбка) с функциональностью как у ФормЕкс т.е. Возврат 0 аналогичен СтатусВозврата(0)
  
Наверх
ICQ  
IP записан
 
metaeditor
1c++ power user
Отсутствует


are you nuts?

Сообщений: 564
Зарегистрирован: 04. Июля 2006
Пол: Мужской
Re: Перехват диалога открытия/сохранения файла
Ответ #52 - 27. Августа 2009 :: 12:23
Печать  
в глобальнике достаточно или в текущей открытой форме тоже?
  

Регистр.EAX.СводныйОстаток()
Наверх
 
IP записан
 
avgreen
Senior Member
****
Отсутствует



Сообщений: 254
Местоположение: Украина, Кривой Рог
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Перехват диалога открытия/сохранения файла
Ответ #53 - 28. Августа 2009 :: 06:41
Печать  
metaeditor писал(а) 27. Августа 2009 :: 12:23:
в глобальнике достаточно или в текущей открытой форме тоже?

Ну для моих целей наверное хватило-бы в глобальнике, хотя может и в модуле понадобится ...... но с другой стороны, что можно записывать при активной форме? Там даже кнопка/пункт меню "Записать" неактивны
Я хочу приспособить это для контроля записи Таблиц....
Поэтому было-бы желательно чтоб это перехватывалось Перехватчиком 1С++
Вобщем "нам как мёд та и ложкой ...."  Одно реализовал - другое подавай!  Смех       Сорри за наглость  Смущённый
  
Наверх
ICQ  
IP записан
 
metaeditor
1c++ power user
Отсутствует


are you nuts?

Сообщений: 564
Зарегистрирован: 04. Июля 2006
Пол: Мужской
Re: Перехват диалога открытия/сохранения файла
Ответ #54 - 28. Августа 2009 :: 14:11
Печать  
1.0.0.7
Предопределенные события глобального модуля:

Код
Выбрать все
//Вызывается при открытии диалога выбора файла.
//	РежимДиалога - режим открытия диалога. 0 - для открытия, 1 - для сохранения файла.
//Установка СтатусВозврата(0) в данной процедуре, отменяет открытие диалога.
Процедура ДиалогВыбораФайлаПриОткрытии(РежимДиалога)
  
КонецПроцедуры // ДиалогВыбораФайлаПриОткрытии 



Код
Выбрать все
//Вызывается при выборе файла в диалоге (нажатии на ОК).
//	ПолноеИмяФайла - полное имя выбираемого файла
//	РежимДиалога - режим открытия диалога. 0 - для открытия, 1 - для сохранения файла.
Процедура ДиалогВыбораФайлаПриВыборе(ПолноеИмяФайла, РежимДиалога)
  
КонецПроцедуры // ДиалогВыбораФайлаПриВыборе 



прикрепленный файл находится ниже
« Последняя редакция: 02. Сентября 2009 :: 14:17 - metaeditor »  

Регистр.EAX.СводныйОстаток()
Наверх
 
IP записан
 
avgreen
Senior Member
****
Отсутствует



Сообщений: 254
Местоположение: Украина, Кривой Рог
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Перехват диалога открытия/сохранения файла
Ответ #55 - 31. Августа 2009 :: 08:34
Печать  
metaeditor писал(а) 28. Августа 2009 :: 14:11:
1.0.0.7
Предопределенные события глобального модуля:

Код
Выбрать все
//Вызывается при открытии диалога выбора файла.
//	РежимДиалога - режим открытия диалога. 0 - для открытия, 1 - для сохранения файла.
//Установка СтатусВозврата(0) в данной процедуре, отменяет открытие диалога.
Процедура ДиалогВыбораФайлаПриОткрытии(РежимДиалога)
  
КонецПроцедуры // ДиалогВыбораФайлаПриОткрытии 



Это работает. И даже в 1С++ перехватчике работает! Супер!!! Улыбка

Цитата:
Код
Выбрать все
//Вызывается при выборе файла в диалоге (нажатии на ОК).
//	ПолноеИмяФайла - полное имя выбираемого файла
//	РежимДиалога - режим открытия диалога. 0 - для открытия, 1 - для сохранения файла.
Процедура ДиалогВыбораФайлаПриВыборе(ПолноеИмяФайла, РежимДиалога)
  
КонецПроцедуры // ДиалогВыбораФайлаПриВыборе 


А это почему-то нет Печаль
  
Наверх
ICQ  
IP записан
 
avgreen
Senior Member
****
Отсутствует



Сообщений: 254
Местоположение: Украина, Кривой Рог
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Перехват диалога открытия/сохранения файла
Ответ #56 - 31. Августа 2009 :: 08:44
Печать  
Опа! Поспешил! Печаль В Перехватчике СтатусВозврата(0) не работает Печаль
В ГМ работает а в Перехватчике нет
Пробовал и СтатусВозврата(0) и оформить как функцию и сделать Возврат 0; - не работает ни так ни эдак Печаль
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Перехват диалога открытия/сохранения файла
Ответ #57 - 02. Сентября 2009 :: 03:34
Печать  
По перехватчику - перехват в 1С++ включается до загрузки данной ВК или после?
Тестовую конфу можешь выложить? без ВК!

ЗЫ ИМХО СтатусВозврата(0) для классов-обработчиков перехвата не работает, работает только возврат 0 из функции обработчика
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
metaeditor
1c++ power user
Отсутствует


are you nuts?

Сообщений: 564
Зарегистрирован: 04. Июля 2006
Пол: Мужской
Re: Перехват диалога открытия/сохранения файла
Ответ #58 - 02. Сентября 2009 :: 14:16
Печать  
да, у меня перехватчик тоже не видит статус возврата.
вобщем я переделал событие ДиалогВыбораФайлаПриОткрытии на функцию, так работает.
Код
Выбрать все
//Для запрета открытия диалога данная функция должна вернуть 0, для разрешения 1
Функция ДиалогВыбораФайлаПриОткрытии(РежимДиалога)
КонецФункции 

« Последняя редакция: 06. Октября 2010 :: 12:54 - metaeditor »  

Регистр.EAX.СводныйОстаток()
Наверх
 
IP записан
 
avgreen
Senior Member
****
Отсутствует



Сообщений: 254
Местоположение: Украина, Кривой Рог
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Перехват диалога открытия/сохранения файла
Ответ #59 - 02. Сентября 2009 :: 19:20
Печать  
metaeditor писал(а) 02. Сентября 2009 :: 14:16:
да, у меня перехватчик тоже не видит статус возврата.
вобщем я переделал событие ДиалогВыбораФайлаПриОткрытии на функцию, так работает.
Код
Выбрать все
//Для запрета открытия диалога данная процедура должна вернуть 0, для разрешения 1
Функция ДиалогВыбораФайлаПриОткрытии(РежимДиалога)
КонецФункции 


О! Действиельно работает! Спасибо!

Кстати теперь я понял почему предопределенная процедура из FormEx ПриПечатиТаблицы у меня не работала в перехватчике. Я тогда решил это "через альтернативное место" Улыбка но хотелось-бы попросить многоуважаемого Альфа поправить все предопределенные процедуры у которых нету ФСО в параметрах на функции ..... если не затруднит .... pls!!!  Подмигивание
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 3 [4] 5 6 ... 9
ОтправитьПечать