как узнать количество файлов?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Just me
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 21.05.2006 (Вс) 12:44

как узнать количество файлов?

Сообщение Just me » 30.05.2006 (Вт) 15:51

как узнать количество файлов в папке?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 30.05.2006 (Вт) 15:56

Можно много как.
Уровень вопроса наводит на мысли о том, какого уровня должен быть ответ:

делаешь на форме FileListBox,

Делаешь FileList1.Path = "путькпапке"

MsgBox FileList1.ListCount
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 30.05.2006 (Вт) 16:04

Bethrezen писал(а):Делай FindFirstFile пока оно не будет API_FALSE и считай сколько раз получилось.


Это был профессиональный грамотный способ.

Ещё один такой - использовать File System Objects

Код: Выделить всё

ЧислоФайлов = FSO.GetFolder("C:\Windows\System32").Files.Count


Вместо C:\Windows\System32 подставляй свой путь
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 30.05.2006 (Вт) 16:04

А ещё лучше - поиск по форуму с ключевым словом 'Dir'
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Just me
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 21.05.2006 (Вс) 12:44

Сообщение Just me » 30.05.2006 (Вт) 16:06

Bethrezen
x=FindFirstFile или x=FindFirstFile() ?
и какое значение будет присвоено иксу, если это так? И жрет ли это память? всмысле много забивает?
Хакер thx

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 30.05.2006 (Вт) 16:23

Just me, икс будет содержать адрес памяти, где лежит строка заканчивающаяся 0-символом. Строка при этом содержит путь к файлу из папки.

Алгоритм такой
Do
x = ПолучитФайлИзПапки("c:\windows\")
Если X не 0 а указывает на какую-то строку >то=> Y = Y + 1 иначе выход.
Loop

Потом смотришь, что у тебя в переменной Y - это и будет числом файлов. Однако сначала нужно пользоваться FindFirstFile затем FindNextFile, вообщем всё это сложно, так что используй 2 предложенных мною метода.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Just me
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 21.05.2006 (Вс) 12:44

Сообщение Just me » 30.05.2006 (Вт) 16:23

чтот не качается
буду юзать второй :) спасибо. если будет не сложно, скажите как узнать размер файла.
Последний раз редактировалось Just me 30.05.2006 (Вт) 16:27, всего редактировалось 1 раз.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 30.05.2006 (Вт) 16:26

Bethrezen писал(а):Just me
А вот насчет FSO, дык не спорю, но разве стоит подключать лишнюю библиотеку из за одной строчки кода?


Во-первых scrrun есть у каждого. Во-вторых, CreateObject не отменяли, так что можно использовать позднее связывание и ничего не подключать
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 30.05.2006 (Вт) 16:38

Just me писал(а):спасибо. если будет не сложно, скажите как узнать размер файла.


юзай функцию FileLen
Весь мир матрица, а мы в нем потоки байтов!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 30.05.2006 (Вт) 17:00

Или LOF() если файл открыт с помощью Open
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 30.05.2006 (Вт) 17:02

Хакер писал(а):Или LOF() если файл открыт с помощью Open

...при этом учитывая режим открытия файла.
Lasciate ogni speranza, voi ch'entrate.

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 31.05.2006 (Ср) 7:46

Для всего этого и далее в том же духе - FSO, ибо новичек

Just me
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 21.05.2006 (Вс) 12:44

Сообщение Just me » 31.05.2006 (Ср) 15:38

ув знатоки, отпишитесь здесь пожалуйста
http://bbs.vbstreets.ru/viewtopic.php?t=22010
спасибо :D


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

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

Сейчас этот форум просматривают: AhrefsBot, SemrushBot и гости: 72

    TopList