Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2015, 14:29   #11
sergei92
Пользователь
 
Регистрация: 17.07.2015
Сообщений: 51
По умолчанию

Я извиняюсь неправильно выразился.У меня папка с 1000 файлов расширения "html". Файлы внутри папки идут в любой последовательности. Нужно разбить эту большую папку на несколько папок размером в 100 файлов расширения "html".
sergei92 вне форума Ответить с цитированием
Старый 07.10.2015, 15:26   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Фуфуфух... неисповедимы пути студентов - то на Эльбрус заведет, то в марианскую.
Тогда еще один вопрос - почему на Билдере? почему не на скажем Ватнике?
Ведь написать скрипт для командника винды проще чем делать экзечину.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.10.2015, 15:46   #13
sergei92
Пользователь
 
Регистрация: 17.07.2015
Сообщений: 51
По умолчанию

Ну да тупанул согласен! А на Бильдере потому что изучаю его сейчас и хочется больше узнать.
sergei92 вне форума Ответить с цитированием
Старый 07.10.2015, 16:32   #14
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну тогда тебе нужно открыть Хелп по Билдеру и познакомиться с функцией FindFirst() и FindNext() и их примерами. Они помогут составить список файлов.
А потом уже и разводку по папкам можно делать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.10.2015, 09:09   #15
sergei92
Пользователь
 
Регистрация: 17.07.2015
Сообщений: 51
По умолчанию

Спасибо за подсказку по функциям FindFirst() и FindNext() вроде разобрался нахожу файлы по нужной директории. А вопрос по разбиению по папкам остается ни как не получается реализовать!
sergei92 вне форума Ответить с цитированием
Старый 08.10.2015, 09:13   #16
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А алгоритм этого разбиения есть какой-то? Хоть на словах.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.10.2015, 09:21   #17
sergei92
Пользователь
 
Регистрация: 17.07.2015
Сообщений: 51
По умолчанию

Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
          TSearchRec sr;
   if (FindFirst(path, faAnyFile | faDirectory, sr) == 0)
     {
        do
        {
           AnsiString name=ExtractFileName(ChangeFileExt(sr.Name,""));
        }
        while(FindNext(sr) == 0);
     }

}
Здесь в переменную name записываются имена файлов. У меня их 1000. Нужно разбить по 100 файлов в папке.
sergei92 вне форума Ответить с цитированием
Старый 08.10.2015, 09:24   #18
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Да. А теперь освой функцию ForceDirectory() для создания каталога и RenameFile() для переброски. Должна быть в поставке Билдера.
Т.е. что-то типа
Код:
 
 int i=1,n=1;
       do
        {
           AnsiString name=ExtractFileName(ChangeFileExt(sr.Name,""));
           ForceDirectory(IntToStr(n));
           RenameFile(name,(IntToStr(n)+"\\"+name);
           if(i%10) n++; i++;
        }
I'm learning to live...

Последний раз редактировалось Stilet; 08.10.2015 в 09:26.
Stilet вне форума Ответить с цитированием
Старый 08.10.2015, 09:24   #19
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Под алгоритмом имеется ввиду критерий разбивки. Можно случайным образом разбросать. Можно начинающиеся на букву 'А' в одну папку, 'Б' в другую и т.п. Та мало ли что в голову прийдет
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.10.2015, 09:29   #20
sergei92
Пользователь
 
Регистрация: 17.07.2015
Сообщений: 51
По умолчанию

Пока разбивка будет происходить случайным образом!
sergei92 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение строки с файла, разбиение на лексемы и вывод по алфавиту(Си) Epic_Lamer Помощь студентам 3 10.12.2011 12:21
Разбиение строки kent4 Microsoft Office Excel 6 23.12.2010 15:18
Разбиение на раздяры Aerowalk Помощь студентам 2 16.11.2010 17:20
Разбиение hrusha2006 Помощь студентам 0 07.11.2010 09:13
Разбиение записей Лубышев Microsoft Office Access 0 17.03.2009 08:27