|
Маска метода НайтиФайлы() для каталогов/папок | ☑ | ||
---|---|---|---|---|
0
TreeDogNight
12.08.15
✎
16:53
|
Какую нужно установить маску в методе НайтиФайлы(), чтобы в результате поиска были только каталоги(папки)?
|
|||
1
Живой Ископаемый
12.08.15
✎
16:55
|
Какую?
|
|||
2
Злопчинский
12.08.15
✎
16:56
|
да, какую?
|
|||
3
Злопчинский
12.08.15
✎
16:57
|
выбирать список по маске и смотреть атрибуты файла штатными 1Сными возможносятми - для каталога стоит соотв.флажок
|
|||
4
TreeDogNight
12.08.15
✎
17:07
|
Синтаксис:
НайтиФайлы(<Путь>, <Маска>, <ИскатьВПодкаталогах>) <Маска> (необязательный) Тип: Строка. Маска выбора файлов. Если параметр задан, то первый параметр воспринимается системой как путь к каталогу, в котором требуется найти файлы, удовлетворяющие маске выбора. Для операционной системы MS Windows: В строке маски, помимо обычных символов, допускается использование символа "*" (звездочка), обозначающего любое число произвольных символов, и "?" (знак вопроса), обозначающего один произвольный символ. Перебор и проверка всех найденных файлов в цикле происходит очень долго, поэтому появилась мысль сразу находить папки, используя маску. Вот только какую маску задать, я не знаю... |
|||
5
ДенисЧ
12.08.15
✎
17:08
|
Никак ты тут маской не здашь
|
|||
6
Злопчинский
12.08.15
✎
17:10
|
АтрибутыФайла(<?>,,,,,,);
Синтаксис: АтрибутыФайла(<ИмяФайла>,<РазмерФайла>,<АтрибутыФайла>,<ВремяСоздания>,<ВремяПоследнегоДоступа>,<ВремяПоследнейЗаписи>,<РасширенноеИмяФайла>) Назначение: Возвращает атрибуты файла (в параметрах). Параметры: <ИмяФайла> - строка с именем файла; <РазмерФайла> - переменная, принимающая размер файла в байтах; <АтрибутыФайла> - переменная, принимающая атрибуты файла; Возвращаемое строковое значение длиной 9 символов, в котором закодированы атрибуты файла. Символы могут принимать значения ''0'' или ''1'': первый символ: если ''1'' - файл только для чтения; второй символ: если ''1'' - скрытый файл; третий символ: если ''1'' - системный файл; четвертый символ: если ''1'' - каталог; пятый символ: если ''1'' - архивный файл; шестой символ: если ''1'' - обычный файл (все другие атрибуты не установлены); седьмой символ: если ''1'' - временный файл; восьмой символ: если ''1'' - файл, сжатый каким-либо архиватором; девятый символ: если ''1'' - нет доступа к файлу. <ВремяСоздания> - переменная, принимающая строку с датой и временем создания файла; <ВремяПоследнегоДоступа> - переменная, принимающая строку с датой и временем последнего доступа к файлу; <ВремяПоследнейЗаписи> - переменная, принимающая строку с датой и временем последней записи файла; <РасширенноеИмяФайла> - переменная, принимающая строку с полным именем файла. Подробнее см. в книгу ''1С:Предприятие 7.7. Описание встроенного языка. Часть 2'', глава 37 ''Работа с Файлами''. |
|||
7
Живой Ископаемый
12.08.15
✎
17:11
|
2(6) почему 77?
|
|||
8
TreeDogNight
13.08.15
✎
09:30
|
(6) Что вы хотели передать этим ответом?
|
|||
9
ДенисЧ
13.08.15
✎
09:31
|
(7) (8) в 77 справка по этой функции немного более насыщена. Но функционал ничем от 8ки не отличается...
|
|||
10
1Сергей
13.08.15
✎
09:31
|
(8) >> четвертый символ: если ''1'' - каталог;
|
|||
11
Провинциальный 1сник
13.08.15
✎
09:38
|
(9) Так это обертка апишных findfirst/findnext, в свою очередь берущих свое начало с соответствующих досовских функций 21 прерывания)
|
|||
12
ДенисЧ
13.08.15
✎
09:39
|
(11) Спасибо, кэп. А я сам бы никогда не догадался...
|
|||
13
Провинциальный 1сник
13.08.15
✎
09:47
|
(12) Просто удивительно, что за 30 лет не выдумали ничего поудобнее. Скажем, что-то типа sql-запроса к каталогу с возможностью иерархии.
|
|||
14
ДенисЧ
13.08.15
✎
09:48
|
(13) МС собиралась такое делать.
Что-то не срослось. |
|||
15
TreeDogNight
13.08.15
✎
11:02
|
Нашёл решение! Маска должна быть такая: "*."
|
|||
16
Провинциальный 1сник
13.08.15
✎
13:23
|
(15) Файлы без расширения попадут
|
|||
17
Провинциальный 1сник
13.08.15
✎
13:23
|
+(16) и соответственно не попадут каталоги с расширением
|
|||
18
ДенисЧ
13.08.15
✎
13:33
|
(15) А теперь попробуй найти таким макаром хоть одну папку из принадлежащих .net...
|
|||
19
drcrasher
13.08.15
✎
13:51
|
http://catalog.mista.ru/public/166391/
курить в сторону FolderInfo.Вставить("SubFoldersCount", FileSystemObject_FOLDER.SubFolders.Count); |
|||
20
TreeDogNight
15.08.15
✎
08:35
|
(16) По крайней мере, теперь файлов на много меньше и это значительно ускорило работу алгоритма.
(17) Что за каталоги с расширением, не слышал о них? |
|||
21
ДенисЧ
15.08.15
✎
09:00
|
(20)
Содержимое папки C:\WINDOWS\Microsoft.NET\assembly\GAC_32 6.05.2015 11:48 <DIR> . 6.05.2015 11:48 <DIR> .. 6.05.2015 11:10 <DIR> CustomMarshalers 6.05.2015 11:10 <DIR> ISymWrapper 6.05.2015 11:11 <DIR> Microsoft.Transactions.Bridge.Dtc 6.05.2015 11:11 <DIR> Microsoft.VisualBasic.Activities.Compiler 6.05.2015 11:48 <DIR> Microsoft.VisualStudio.FileDiscovery 6.05.2015 11:48 <DIR> Microsoft.VisualStudio.Modeling.Sdk.Diagrams GraphObject.10.0 6.05.2015 11:48 <DIR> Microsoft.VisualStudio.Settings 6.05.2015 11:48 <DIR> mscorcfg 6.05.2015 11:10 <DIR> mscorlib 6.05.2015 11:11 <DIR> PresentationCore 6.05.2015 11:10 <DIR> System.Data 6.05.2015 11:17 <DIR> System.Data.OracleClient 6.05.2015 11:10 <DIR> System.EnterpriseServices 6.05.2015 11:11 <DIR> System.Printing 6.05.2015 11:11 <DIR> System.Transactions 6.05.2015 11:17 <DIR> System.Web |
|||
22
mehfk
15.08.15
✎
09:01
|
(20) Хоть раз посмотри структуру каталогов, которую создает 1с при установке
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |