Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 09.02.2012
Сообщений: 9
1

Ошибка при считывании имен папок

21.03.2012, 15:58. Показов 716. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!

У меня в дирректории большое количество папок с именами типа: 1, 2, 3 ... 1000, 1001 ... и я считываю их с помощью метода FindFirst. Так вот считывается в порядке: 1, 10, 100, 1000, 11 и так далее. Мне нужно, чтобы числа шли по порядку (там в каждой папке текстовый файл и из него последняя строка должна вставляться в Excel). Помогите, пожалуйста, вообще никаких идей нет как это сделать, кроме как писать какой-то буфер, в котором все это упорядочивать.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.03.2012, 15:58
Ответы с готовыми решениями:

Ошибка при считывании из базы Access, в Delphi
На моей машине все гладко, данные из базы Access считываются нормально. Но при запуске на чужом...

Ошибка при считывании
Помогите разобраться с ошибкой. Писал программу для вычисления арифметического выражения... При...

Ошибка при считывании из файла
При считывании файла (есть в архиве, outfile.txt) в 1 строке StringGrid'a (после фиксированной)...

Ошибка при считывании с .ini
Пишу в файл:procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); var Ini:...

5
36 / 36 / 10
Регистрация: 22.02.2012
Сообщений: 71
21.03.2012, 16:32 2
Можешь папки переименовать в 0001, 0002 и т. д. Других идей у меня нет.
* Пошёл узнавать в справке, что такое FindFirst. *
1
512 / 298 / 37
Регистрация: 22.06.2011
Сообщений: 929
21.03.2012, 16:56 3
Они ищутся не по алфавиту.
1. Получи кол-во файлов
2 цикл от 1 до кол-ва файлов вида
Delphi
1
FindFirst (IntToStr(i)+'.txt',faAnyFile.....
Т.е. Указываешь в маске точное имя файла. FindNext тогда не нужен
1
0 / 0 / 0
Регистрация: 09.02.2012
Сообщений: 9
21.03.2012, 17:05  [ТС] 4
Переименовывать папки я не могу, их создает другая программа и очень долго создает - несколько дней. Хотя их наверное можно программно переименовать? А вот искать по известному имени папки - это уже очень интересно. Попробую сделать. Большое спасибо!
0
13104 / 5885 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
21.03.2012, 18:19 5
alenov, если нужно перебирать папки в порядке возрастания числовых значений, тогда можно прочитать весь перечень имён папок, например, в TStringList, а потом выполнить его сортировку. Но сортировать надо будет не по строковым значениям, а по числовым - StrToInt('<имя папки>').
1
0 / 0 / 0
Регистрация: 09.02.2012
Сообщений: 9
22.03.2012, 19:55  [ТС] 6
Все так и сделал - теперь работает все как надо. Большое спасибо за советы!

У меня еще одна маленькая проблемка с этим кодом. Кнопкой я создаю OLE объект, копирую все в Excel, показываю его. После этого возникает желание закрыть форму и работать с Excel'евским файлом. При закрытии формы Excel тоже сворачивается (не закрывается, а просто сворачивается) - это немного раздражает. После того, как я написал ExcelFile.Visible:=true, с OLE объектом я ничего больше не делаю. Как заставить Excel не сворачиваться?
0
22.03.2012, 19:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.03.2012, 19:55
Помогаю со студенческими работами здесь

Ошибка при считывании из файла
пишу тестер при кампиляции выдает не понятную ошибку,думаю проблема при считывании вопросов из...

Объединить содержимое папок при совпадении имён после переименования
Есть такая структура папок: # 2016-01-02 Folder 1 # subfolder 1 # subfolder 2 # 2016-05-03...

Ошибка при считывании файла
Пожалуйста помогите разобраться почему не находит указанный мною файл. #include &lt;windows.h&gt;...

Ошибка при считывании ШК Розница 2.2
После обновления розницы на 2.2.12.30 при считывании ш/к с коробки алкоголя выдает ошибку:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru