FSO. Не получается обратиться к файлу по индексу ???!

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2056
Зарегистрирован: 25.11.2002 (Пн) 20:03

FSO. Не получается обратиться к файлу по индексу ???!

Сообщение ALX_2002 » 22.06.2004 (Вт) 9:07

Народ, у меня что то совсем дичайщие лаги с думалкой.

Всегда был уверен, что если написать так

Код: Выделить всё
Dim FSO
Dim FOLDER
FSO=CreateObject("Scripting.FileSystemObject")
FOLDER=FSO.GetFolder("D:\test")

А потом попробывать обратиться к файлу в папке D:\test
Код: Выделить всё
msgbox FOLDER.files(1).name

или так
Код: Выделить всё
msgbox FOLDER.files.Item(1).name

То должно пахать !!!!!!!

Главное в папке файло есть ! Я проверял Их count. Равняется=15. Даже через FOR each перебирал. Всё пашет.

А по индексу не хрена ?!! Втолкуйте мне плиз. Я уже MSDN глянул. Там только этот долбаный пример перебора всех файлов через FOR EACH.

:( Раздосадован, что задаю такой глупый вопр. Помню, что раньше всё пахало ![/b]

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 22.06.2004 (Вт) 9:25

Это не пахало никогда.
Только по имени, батенька, только по имени :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2056
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 22.06.2004 (Вт) 9:36

Хм.. Ну а как тогда получать допустим имя 5 файла в папке ????
Как то ведь я это делал. :? :shock:

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 22.06.2004 (Вт) 9:40

А как они, по-твоему, должны нумероваться, в каком порядке? :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2056
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 22.06.2004 (Вт) 9:49

Отец ! Дык нумеруются они по алфавиту, как я знаю :) ? Или нет ?

И ведь при For each переборе он выводит всегда один и тот же список.

Значит нумеруются как то. 8)

Ты лучше скажи - как сделать перебор допустим с 3 по 5 ? Я сейчас пытался в For each впихивать счётчки. Пашет. Но меня такая технология парит. :?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 22.06.2004 (Вт) 10:04

Как первый раз добавились, так и нумеруются :)
Ну не может же FSO прочитать в себя список файлов, чтобы дать возможность обращаться по индексу - система-то многозадачная, однако, файлы появляются и исчезають...
Так что по имени. С проверкой существования по факту обращения.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2056
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 22.06.2004 (Вт) 10:22

Писец.... :evil: FSO в помойку....комп на разборку... Голову в духовку...

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 22.06.2004 (Вт) 10:49

Брателло, че-то у тебя совсем жуткие лаги с этим делом :) . Файлы на диске никогда по порядку не нумеровались за отсутствием оного порядка. И ни одна обертка тебе этого порядка не даст, если только ты ее сам не напишешь с таким функционалом. Но учти, что это будет по сути offline-листер, ибо, как совершенно правильно заметил GSerg, количество и названия файлов в каталогах изменяются непредсказуемо и независимо ни от чего и ни от кого.

Вообще, я теперь понимаю, почему MS собирается в лонгхорне делать файловую систему на основе движка SQL Server. В этих двух концепциях действительно очень много общего...

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2056
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 22.06.2004 (Вт) 11:19

Отцы ! Гении ! Объясните мне тогда

Как я перебирал файло через FOR NEXT ???

For N=1 to 5
...
Next

Ведь делал как то ??!! Но в упор не помню как.... :(

И ведь For Each пашет, значит через For Next тоже можно как то прогнать файло :oops: :( :?: :!:

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 22.06.2004 (Вт) 11:26

Объясняю :)

For each - это обёртка для следующего процесса.

получение IUnknown объекта
queryinterface NewEnum
вызов метода NewEnum.Next, пока не будет возвращено "харе"

За имена методов и интерфейсов не ручаюсь, но смысл ясен :)
Объект, NewEnum которого вызывается, сам определяет, как и что возвращать в ответ на Next. если возвращать больше нечего, объект возвращает nothing.

А для юзера это выглядит как простой перебор. Хотя концептуально от него отличается :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2056
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 22.06.2004 (Вт) 11:38

Это всё ясно... Но блин, я ща напрягусь. Сделаю !!!
8) :twisted: Раз тогда сделал, значит и сейчас сделаю :wink:

Короче у меня задача брать из списка файлов по 3 штуки начиная с указанного. Буду думать как. :roll:

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 22.06.2004 (Вт) 11:40

Да ёпрст... :)
Бери имена в массив, сортируй и бери. если они не исчезнут в процессе, файлы :twisted:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

    TopList