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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.09.2011, 14:09   #1  
alexb_imported is offline
alexb_imported
Участник
 
256 / 12 (1) ++
Регистрация: 25.08.2006
Цитата:
Сообщение от jopagames2 Посмотреть сообщение
Вот теперь точно - САМАЯ-САМАЯ. Однострочная!
Код:
SHELL(ENVIRON('comspec'), '/c dir /b c:\*.* > c:\out.txt');
И всё-же повторюсь:
что-бы получить список ТОЛьКО файлов команда DIR не годится, т.к. выдаёт всё содержимое (и файлы, и папки).
Как получить список ТОЛьКО файлов? Если с таблицей FILE, то как?
Старый 17.09.2011, 21:55   #2  
zm is offline
zm
Участник
 
44 / 10 (1) +
Регистрация: 15.07.2003
Адрес: Латвия
//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;

Примерно так, используя NAS,мы импортируем *.xml files.
Старый 18.09.2011, 10:56   #3  
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, 18:16   #4  
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   #5  
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   #6  
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 - взаимозачОт за доведение идеи до совершенства!
 


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

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

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