| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Ребят, подскажите, пожалуйста, кто сталкивался подобной ситуацией. 
		
		
		
		
		
		
		
	Необходимо выполнить вывод всех файлов (их название), которые указаны в соответствующей директории, используя Automation. Собственно я создал указанные ниже две переменные: FileSystem Automation 'Microsoft Scripting Runtime'.FileSystemObject Folder Automation 'Microsoft Scripting Runtime'.Folder Код: CREATE(FileSystem);
IF NOT FileSystem.FolderExists("Path") THEN
  ERROR(‘Нет такой директории’);
Folder := FileSystem.GetFolder(“Path”); | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Использовать автомейшен обязательно? Вроде есть виртуальная таблица File, которую легко можно использовать в навижене как и обычную таблицу..
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Да, обязательно (по крайней мере мне так кажется). Просто папка с файлами лежит не на локальной машине, а в расшаренной папке в сети. Насколько я знаю, виртуальная таблица File тут не поможет (по крайней мере пробовал - не помогло, с локальными файлами замечательно работает).
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Пример браузера в Navе.  
		
		
		
			В ОпенФорм укажите свой путь к сетевой папке, используя имя компьютера или его IP.  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Спасибо заранее.  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			kudrenko 
		
		
		
		
		
		
		
	а какой номер Вас устроит?  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Все поправил.
		 
		
		
		
			 | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Если хотите использовать Automation, то 2 варианта. 
		
		
		
		
		
		
		
	1. С Microsoft Scripting Runtime простого пути нет. Получить данные можно через функцию-итератор, которых в NAV нет. На mibuso народ путем http://mibuso.com/forum/viewtopic.php?f=5&t=7855 2. Те кто ищет пути полегче могут использовать Microsoft Shell Controls And Automation. Код: CREATE(ShellCtrls);
ShellFolder := ShellCtrls.NameSpace('C:\Temp');
ShellItems := ShellFolder.Items;
FOR i := 0 TO ShellItems.Count - 1 DO BEGIN
 IF NOT ShellItems.Item(i).IsFolder OR ShellItems.Item(i).IsBrowsable THEN BEGIN
	INIT;
	"Row No." := i;
	"Cell Value as Text" := ShellItems.Item(i).Path;
	INSERT;
 END;
END;ShellCtrls - 'Microsoft Shell Controls And Automation'.Shell ShellFolder - 'Microsoft Shell Controls And Automation'.Folder ShellItems - 'Microsoft Shell Controls And Automation'.FolderItems можно еще использовать 'Microsoft Shell Controls And Automation'.FolderItem напрямую, добавив соответсвующее присвоение в цикле. Но можно и неявно, как в примере. Со свойствами FolderItem есть некоторые заморочки. При тестировании выяснилось, что FolderItem = TRUE не только для папок, но и для zip архивов. К счастью, для архивов IsBrowsable = TRUE, в то время как для обычных папок FALSE. Возможны еще какие-то ньюансы. Можно, конечно, использовать свойство Type, но оно локализовано (на русской винде для папок выдает "Папка с файлами", что чревато проблемами.  | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Alterant,спасибо большое, что нашли время и поделились своими советам по вопросу - очень за это признателен! Даже и не предполагал, что это так "извращенно" делается... (особенно по первому варианту ))) Теперь хоть буду иметь представление как это делается с помощью Automation. Спасибо.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 |