Вопрос: Почему так долго? | Добавлено: 04.05.09 16:49 |
Автор вопроса: ![]() |
For Each files In IO.Directory.GetFiles ListBox1.Items.Add(files)
Next For Each member In ListBox1.Items TextBox3.Text = My.Computer.FileSystem.GetName(member) Next Файлов более 10000. Почему, когда я получаю имя файла, то это происходит почти мгновенно, а когда хочу получить время создания, то процесс длится несколько минут. |
Ответы | Всего ответов: 30 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Лидер форума ICQ: 216865379 Вопросов: 106 Ответов: 9979 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 04.05.09 22:41 |
Юзай FindFirstFile/FindNextFile, в WIN32_FIND_DATA дата создания и имя файла получаются одновременно. |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 39 Ответов: 87 |
Профиль | Цитата | #2 | Добавлено: 05.05.09 09:45 |
Там нет ни одного примера на VB, только на С. |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Лидер форума ICQ: 216865379 Вопросов: 106 Ответов: 9979 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 05.05.09 10:03 |
Учи C++. |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 39 Ответов: 87 |
Профиль | Цитата | #4 | Добавлено: 05.05.09 10:48 |
Я делаю прогу на VB 2008. Учить С - не выход.
Лучше скажи, где ошибка. Public Structure FILETIME ![]() ![]() End Structure Public Structure WIN32_FIND_DATA ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() End Structure Public Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" _ ![]() For Each files In IO.Directory.GetFiles() ![]() textbox3.text=FindFirstFile(files, time.ftCreationTime) Next |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 39 Ответов: 87 |
Профиль | Цитата | #5 | Добавлено: 05.05.09 15:43 |
Без смайликов!!!
|
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 39 Ответов: 87 |
Профиль | Цитата | #6 | Добавлено: 05.05.09 15:45 |
Не работает! Выводит ошибку!
Attempted to read or write protected memory. This is often an indication that other memory is corrupt. |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Лидер форума ICQ: 216865379 Вопросов: 106 Ответов: 9979 |
Web-сайт: Профиль | Цитата | #7 | Добавлено: 05.05.09 16:29 |
Бага здесь. |
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 39 Ответов: 87 |
Профиль | Цитата | #8 | Добавлено: 05.05.09 16:39 |
Что надо сделать? |
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 87 Ответов: 2795 |
Web-сайт: Профиль | Цитата | #9 | Добавлено: 05.05.09 21:49 |
cFileName As String * MAX_PATH
cAlternate As String * 14 |
Номер ответа: 10 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Вопросов: 130 Ответов: 6602 |
Профиль | Цитата | #10 | Добавлено: 05.05.09 23:50 |
1) В .NET нет строк фиксированной длины (точнее есть, но они делаются не так как делались в VB6)
2) My.Computer.FileSystem.GetName работает мгновенно потому что он просто выполняет операции над строкой и не выполняет никаких дейсвтий, связанных с файловой системой и диском. |
Номер ответа: 11 Автор ответа: ![]() ![]() ![]() ![]() ![]() ICQ: adamis@list.ru Вопросов: 153 Ответов: 3632 |
Профиль | Цитата | #11 | Добавлено: 06.05.09 00:43 |
С диском может и нет, но с копией файловой таблицы в памяти он точно что-то должен сделать ![]() |
Номер ответа: 12 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 87 Ответов: 2795 |
Web-сайт: Профиль | Цитата | #12 | Добавлено: 06.05.09 00:49 |
>но они делаются не так
Steel Brand, а как? тоже вроде Public cAlternate As String * 14
|
Номер ответа: 13 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Вопросов: 130 Ответов: 6602 |
Профиль | Цитата | #13 | Добавлено: 06.05.09 01:13 |
Smith пишет:
С диском может и нет, но с копией файловой таблицы в памяти он точно что-то должен сделать хотябы прочитать название, времена и кучу аттрибутов. Smith, за минуту до того как написать свой пост, я смотрел исходный код функции GetName. Но если хочешь, можем поспорить на пару сотен баксов на тему с какой файловой табилцей она работает, я в принципе не против. |
Номер ответа: 14 Автор ответа: ![]() ![]() ![]() ![]() ![]() ICQ: adamis@list.ru Вопросов: 153 Ответов: 3632 |
Профиль | Цитата | #14 | Добавлено: 06.05.09 01:30 |
Пара сотен это твоя дежурная ставка? А чё так мелко, не чуЙствую уверенности в твоих двух сотнях ![]() Я тож в принципе не против, если хочешь докажи мне что имя файла, время создания и последней модификации, а также атрибуты файла беруться не с диска(кэша). Мне будет весьма любопытно это почитать. |
Номер ответа: 15 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Вопросов: 130 Ответов: 6602 |
Профиль | Цитата | #15 | Добавлено: 06.05.09 02:15 |
Smith пишет:
Пара сотен это твоя дежурная ставка? А чё так мелко, не чуЙствую уверенности в твоих двух сотнях Я тож в принципе не против, если хочешь докажи мне что имя файла, время создания и последней модификации, а также атрибуты файла беруться не с диска(кэша). Мне будет весьма любопытно это почитать. Smith, ты ведешь нечестную игру. Это очевидно - мне нет никакого смысла пытаться доказать что черное - это белое. Потому что черное на самом деле это черное. И это очевидно. И мне и тебе. Я вел речь именно о фукнции GetName. Об остальных функциях я тебе предоставляю возможность поспорить с кем-нибудь другим на форуме. |
|