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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.09.2011, 10:56   #21  
alexb_imported is offline
alexb_imported
Участник
 
256 / 12 (1) ++
Регистрация: 25.08.2006
Цитата:
Сообщение от zma Посмотреть сообщение
//Name DataType Subtype Length
//InFiles Record File
//IntegrationSetup."Inbound Document Folder" - какой-то установленный folder
CLEAR(InFiles);
InFiles.RESET;
InFiles.SETFILTER(Path,IntegrationSetup."Inbound Document Folder");
InFiles.SETRANGE("Is a file",TRUE);
IF InFiles.FIND('-') THEN
REPEAT
ImpFileName := InFiles.Path+'\'+InFiles.Name;
CLEARLASTERROR;
........

UNTIL InFiles.NEXT = 0;
Спасибо, с таблицей FILE теперь всё понятно
Старый 19.09.2011, 10:24   #22  
Alterant is offline
Alterant
Участник
 
378 / 10 (1) +
Регистрация: 31.03.2004
Цитата:
Сообщение от InTacto Посмотреть сообщение
Цитата:
Сообщение от Alterant Посмотреть сообщение
Можно и так, но нужно учитывать, что SHELL начиная с 4-ой версии запрашивает подтверждение и под NASом работать не будет. Чтобы не запрашивала нужно 'c:\list.bat' объявить как текстовую константу, но тогда мы жестко привязаны к имени файла.
Эту константу выводим в настройки и пишем что хотим. За одном в настройках нужно сохранить этот замечательный файл, чтобы, при его отсутствии у конечного пользователя, он выгрузился в нужно нам место (не забудем путь вынести тоже в настройки). Или можно, конечно, не забыть его просто туда положить. <- Это для тех кто не захотел заморачиваться с внешними компонентами или табличкой файл.
А как вы константы в настройки выводите? Поля и переменные раньше не прокатывали - все равно спрашивает подтверждение, или сейчас уже работают?
Справка говорит о том, что только константы работают без подтверждения:

Цитата:
The SHELL function has been designed so that each user can create a list of trusted executables. This list is maintained in the user’s .zup file. The way this function works depends on whether the executable is given as a text constant or as a variable.
If the name of the executable is passed to the SHELL function as a text constant then the executable is trusted and the user is not prompted to confirm that they trust the executable. This is also the case when the executable (text constant) is called with a number of other arguments that have been assigned manually.
If the name of the executable is passed to the SHELL function as a variable then the executable is not trusted and the user is prompted to confirm whether they trust the executable the first time it is called. After the user has confirmed that they trust the executable it can be called again at any time without having to confirm that it is trusted.
Старый 19.09.2011, 18:16   #23  
Predatore is offline
Predatore
Участник
 
163 / 17 (1) ++
Регистрация: 29.09.2010
Ух! Отвлёкся на алгоритмическую составляющую задачи и долго не заглядывал. Приятно что породил такую живую и плодотворную дискуссию.
Огромное спасибо jopagames2 за ссылку на подробную РУССКУЮ доку по NAS, InTacto за ссылку на тему с обсуждением перебора файлов и за Browser.txt в ней, Alterant за 10 пост в той теме. И ещё раз jopagames2 за
Код:
SHELL(ENVIRON('comspec'), '/c del "'+ENVIRON('appdata')+'\*.zup"');
Старый 20.09.2011, 13:32   #24  
jopagames2 is offline
jopagames2
Участник
 
151 / 11 (1) +
Регистрация: 11.02.2010
Цитата:
Сообщение от Predatore Посмотреть сообщение
Ух! Отвлёкся на алгоритмическую составляющую задачи и долго не заглядывал. Приятно что породил такую живую и плодотворную дискуссию.
...И ещё раз jopagames2 за
Код:
SHELL(ENVIRON('comspec'), '/c del "'+ENVIRON('appdata')+'\*.zup"');
Да пользуйтесь на здоровье!
Главное - это красивый алгоритм, доброжелательность к собеседнику и умение порождать дискуссию
Здесь это очень ценят.
Старый 20.09.2011, 14:55   #25  
Alex Che is offline
Alex Che
Участник
 
74 / 10 (1) +
Регистрация: 04.04.2006
Цитата:
Сообщение от jopagames2 Посмотреть сообщение
Блин.
Вот теперь точно - САМАЯ-САМАЯ. Однострочная!

Код:
SHELL(ENVIRON('comspec'), '/c dir /b c:\*.* > c:\out.txt');
Всё-таки нужно ставить RC := SHELL..., иначе вывод длинных оглавлений не успевает отработать, в чём легко убедиться, поставив, скажем, после 'DIR C:\WINDOWS' вызов NotePad.exe на файл out.txt. (не успевает только в первый раз, дальше оно, видимо сохраняется в кэше): в результате получаем в блокноте пустой файл.

Цитата:
Сообщение от AlexB Посмотреть сообщение
И всё-же повторюсь:
что-бы получить список ТОЛьКО файлов команда DIR не годится, т.к. выдаёт всё содержимое (и файлы, и папки).
Как получить список ТОЛьКО файлов? Если с таблицей FILE, то как?
Можно добавить ещё один параметр:
Код:
DIR <путь> /B /A-D
"Минус" перед D, как описано в хелпе по DIR, "имеет значение НЕ", то есть получается - "Выводить НЕ папки".

P.S. Jopagames2 - взаимозачОт за доведение идеи до совершенства!
Старый 20.09.2011, 15:41   #26  
InTacto is offline
InTacto
Участник
Аватар для InTacto
 
323 / 11 (1) +
Регистрация: 09.08.2005
Цитата:
Сообщение от Alterant Посмотреть сообщение
А как вы константы в настройки выводите? Поля и переменные раньше не прокатывали - все равно спрашивает подтверждение, или сейчас уже работают?
Справка говорит о том, что только константы работают без подтверждения:
За это не знал. В 5 требует подтверждения, если не константы.
 


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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 05:10.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.