|
|
|
как перебрать все элементы коллекции значений в 1с 7.7? | ☑ | ||
|---|---|---|---|---|
|
0
zhlob_y2k
13.03.08
✎
13:30
|
как перебрать все элементы коллекции значений в 1с 7.7?
|
|||
|
1
Vitello
13.03.08
✎
13:30
|
В 7.7 есть коллекции значений?
|
|||
|
2
Ёпрст2
13.03.08
✎
13:30
|
(0) Здесь вам не тут ...
|
|||
|
3
ShoGUN
13.03.08
✎
13:33
|
(0) Весело. Раньше с 7.7 на 8 переходили - офигевали, теперь обратно - тоже офигевают...
|
|||
|
4
у лю 427
13.03.08
✎
13:35
|
список значений - смотрим ЖКК - перебор по номеру
|
|||
|
5
zhlob_y2k
13.03.08
✎
13:36
|
FSO=СоздатьОбъект("Scripting.FileSystemObject");
Folder=FSO.GetFolder("C:\"); Folder.SubFolders - коллекция, которая обходится For Each Как в 7.7?? |
|||
|
6
Vitello
13.03.08
✎
13:36
|
мды, телепат ни у кого не сработал...
|
|||
|
7
FreeFin
13.03.08
✎
13:36
|
ыыы так это восьмерка, а уж подумалось, что ...(не важно что подумалось = это не правда) )))
Массив Список значений Таблица значений Структура Соответствие (0) Что те перебрать-то нужно, формулирующий наш? |
|||
|
8
zhlob_y2k
13.03.08
✎
13:39
|
перебрать нужно поддиректории
|
|||
|
9
FreeFin
13.03.08
✎
13:39
|
(5) Замени вопрос: как наложить фильтр на массив значений и выбрать отфильтрованное. может кто и начнет чонить понимать... я по-ка не очень понимаю.
|
|||
|
10
zhlob_y2k
13.03.08
✎
13:41
|
Вот метод:
SubFolders Возвращаемое значение: Объект-коллекция "Folders", содержащая все подкаталоги данного каталога, включая скрытые и системные. Как мне обойти (перебрать значения) этой коллекции в 1с 7.7 |
|||
|
11
mikecool
13.03.08
✎
13:43
|
(10) типа
Для Сч=1 ПО SubFolders.Count Цикл ??? |
|||
|
12
zhlob_y2k
13.03.08
✎
13:44
|
а дальше??
|
|||
|
13
FreeFin
13.03.08
✎
13:44
|
(8) а прошлой ветки ссылку не осилил?...ну скопипастю
Перем Каталог; Процедура СканироватьКаталог(Каталог) Перем А; ФСО=СоздатьОбъект("ФС"); Ф=ФСО.НайтиПервыйФайл(Каталог+"*"); Пока Ф<>"" Цикл Если (Ф<>".")И(Ф<>"..") Тогда ФС.АтрибутыФайла(Каталог+Ф,,А); Если Сред(А,4,1)="1" Тогда СканироватьКаталог(Каталог+Ф+"\") КонецЕсли; КонецЕсли; Сообщить(Каталог+Ф); Ф=ФСО.НайтиСледующийФайл(); КонецЦикла; КонецПроцедуры Процедура Сформировать() Каталог="C:\"; СканироватьКаталог(Каталог); КонецПроцедуры |
|||
|
14
mikecool
13.03.08
✎
13:45
|
(12) что дальше? я не знаю чего тебе надо дальше...
получай SubFolder.Item[Сч] - типа так, и делай что хошь |
|||
|
15
zhlob_y2k
13.03.08
✎
13:48
|
эта шляпа не подходит, слишком долго работает, если в папке много файлов + почему-то в выборку попадают файлы
|
|||
|
16
FreeFin
13.03.08
✎
14:01
|
(15) здииишь, но подправлю, чтобы только директории и тмп-шки от директорий(а такие тоже есть) попадали:
//******************************************* Перем Каталог,Час,Минут,Сукунд; Процедура СканироватьКаталог(Каталог) Перем Атр,Размер; ФСО=СоздатьОбъект("ФС"); СписокКат=СоздатьОбъект("СписокЗначений"); Ф=ФСО.НайтиПервыйФайл(Каталог+"*"); Пока Ф<>"" Цикл Если (Ф<>".")И(Ф<>"..") Тогда ФС.АтрибутыФайла(Каталог+Ф,,Атр); //четвертый символ: если ''1'' - каталог; Если (Сред(Атр,4,1)="1") Тогда //Сообщить(Каталог+Ф); СписокКат.ДобавитьЗначение(Каталог+Ф); СканироватьКаталог(Каталог+Ф+"\") КонецЕсли; КонецЕсли; Ф=ФСО.НайтиСледующийФайл(); КонецЦикла; КонецПроцедуры Процедура Сформировать() ТекВремя=ТекущееВремя(Час,Минут,Сукунд); Сообщить("Начало "+ТекВремя); Каталог="C:\"; СканироватьКаталог(Каталог); ТекВремя=ТекущееВремя(Час,Минут,Сукунд); Сообщить("Окончание "+ТекВремя); КонецПроцедуры /// весь диск С 12 ГБ Начало 12:59:43 Окончание 12:59:52 слишком долго? |
|||
|
17
FreeFin
13.03.08
✎
14:02
|
+(16) На Сообщить() одинэсина много времени тратит.
|
|||
|
18
Mikeware
13.03.08
✎
14:46
|
(10) А IFolderCollection.Count и IFolderCollection.Item - уже отменили?
|
|||
|
19
VicAlex
13.03.08
✎
15:08
|
(0)Это ж такое можно спросить после страшного бодуна.
Клоун-то где? |
|||
|
20
zhlob_y2k
17.03.08
✎
06:16
|
Огромное всем спасибо... видимо немного переработал
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |