AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.08.2011, 12:04   #10  
Alterant is offline
Alterant
Участник
 
378 / 10 (1) +
Регистрация: 31.03.2004
Если хотите использовать Automation, то 2 варианта.

1. С Microsoft Scripting Runtime простого пути нет. Получить данные можно через функцию-итератор, которых в NAV нет. На mibuso народ путем хитрых извращений использования 'Microsoft Script Control 1.0'.ScriptControl и кусков кода на VB Script, вызываемых из NAV добились таки нужного результата. Копайте тут, если интересно:
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, но оно локализовано (на русской винде для папок выдает "Папка с файлами", что чревато проблемами.
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:52.