Guest |
Отправлено: 29.03.2005, 10:08 |
|
Не зарегистрирован
|
Помогите со сканером дисков.
Нужно чтотобы сканер сканировал любой диск и в окне просматривалось всё содержимое диска (все дириктории с потдиректориями и файлами).
скиньте кто нибуди исходник. |
|
Guest |
Отправлено: 29.03.2005, 10:26 |
|
Не зарегистрирован
|
CODE |
Как обойти дерево каталогов
где то там
slist->Clear();
ListFiles("C:\\", slist);
#include "stdio.h"
void ListFiles(AnsiString path, TStrings* List)
{
TSearchRec sr;
FILE *fp;
char szBuffer[256];
AnsiString SearchText;
for (int ferr = FindFirst(path+"*.*", faAnyFile, sr); ferr == 0; ferr=FindNext(sr))
{ if (sr.Attr & faDirectory)
{ if (sr.Name == "." ) continue;
else if (sr.Name == "..") continue;
else ListFiles(path+sr.Name+"\\",List);
continue;
} // faDirectory
// блок "один файл"
List->Add(ExtractFileName(sr.Name));
} // for i = 0
FindClose(sr);
}
В зависимости от поставленной задачи блок "один файл" имеет различные варианты
|
Отредактировано AVC — 29/03/2005, 09:27 |
|
Gal |
Отправлено: 29.03.2005, 11:55 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 124
|
Я думаю, что вместо for надо поставить
do
...
while(FindNext(sr) == 0); |
|
Guest |
Отправлено: 29.03.2005, 13:06 |
|
Не зарегистрирован
|
QUOTE |
Я думаю, что вместо for надо поставить
do
...
while(FindNext(sr) == 0);
|
Мотивируйте.
Синтаксис конструкции for позволяет записать несколько операций прямо инструкцию. Удобно. |
|
Konstantine |
Отправлено: 29.03.2005, 15:40 |
|
Мастер участка
Группа: Модератор
Сообщений: 545
|
да синтаксис языка С позволяет напписать извращенство и почище этого.... компилятору пофиг — он железный, а вот программеру читать этот текст, причём хотя бы тот кому вы этот код дали разобраться, будет ой как нелегко.
поэтому всё-таки придерживайтесь классических конструкций
|
|