Указание локального пути в операциях 
	   
	     | 
   
 
	
		| Предыдущая тема :: Следующая тема   | 
	 
	
	
		| Автор | 
		Сообщение | 
	 
	
		German Профи
 
  Вступление в Клуб: 25.06.2007
  | 
		
			
				 Сб Июн 23, 2007 11:31   Указание локального пути в операциях | 
				     | 
			 
			
				Полезность: 3 
  | 
			 
			
				В дистрибутивных операциях при необходимости указать путь на локальной машине пользователя как правило предусматривается
 
обычное текстовое поле, в которое пользователь может вбивать путь руками или копировать.
 
 
Однако есть возможность, позволяющая пользователю указать путь более привычным способом, раскрыв дерево папок.
 
 
Для этого можно задействовать дистрибутивный тип "Экспорт-импорт файлов", который в стандартном варианте используется
 
для передачи файла с локальной машины на сервер (или наоборот).
 
 
Сделаем параметр этого типа, например P_FILE, и зададим свойства:
 
 
 	  | Код: | 	 		  if p_message = 'DEFAULT' then
 
   P_FILE.[src_type]   := false; -- взять с клиента
 
   P_FILE.[src_delete]   := false; -- и не удалять
 
end if; | 	  
 
 
Свойства P_FILE.[src_name] (сделаем невидимым), P_FILE.[src_path] (собственно путь) и P_FILE.[src_mask] (кнопка для открытия дерева папок)
 
выведем на экранную форму. Теперь пользователь сможет удобно выбирать локальный путь.
 
 
А чтобы после нажатия ОК и выполнения "Проверки" не происходило никчемной передачи указанного файла от источника к приемнику,
 
в "Проверке" сохраним нужный нам путь в переменную, например V_PATH, и обратим "Экспорт-импорт файлов" в null:
 
 
 	  | Код: | 	 		  if p_message = 'VALIDATE' and P_INFO = 'OK' then
 
   V_PATH := P_FILE.[src_path];
 
   P_FILE := null;
 
end if; | 	  
 
 
Ограничение такого решения - нельзя указать путь к пустой папке (внутри должен быть хотя бы один файл).
 
 
Я использовал этот прием также в операции печати в Excel, которая позволяет не только получать файл по стандартному шаблону, хранящемуся
 
на сетевом диске, но и дописывать файл, имеющийся на машине пользователя (если он его укажет на форме). _________________ Homo homini | 
			 
		  | 
	 
	
		  | 
	 
	
		Volod Эксперт
 
  Вступление в Клуб: 19.09.2007
  | 
		
			
				 Чт Окт 11, 2007 16:39    | 
				     | 
			 
			
				Полезность: 3 
  | 
			 
			
				| Чтобы выбирать кнопкой в структуре Экспорт-импорт файлов не только файлы, но и папки, достаточно проинициализировать P_FILE.[SRC_NAME] любым непустым значением, например '0', и наличие файла в выбираемой папке необязательно. | 
			 
		  | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
	 
	    
	   | 
	
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
  | 
   
 
		 |