|
2 / 2 / 1
Регистрация: 22.09.2012
Сообщений: 189
|
|
Поиск и копирование файлов06.10.2012, 19:01. Показов 6439. Ответов 40
Метки enumerating files, find files, findfirst, findnext, tinifile, перебор файлов, поиск файлов (Все метки)
1. открытие диалогового окна "Выбор файла" (или дирректории) (в 1 месте дирректорию, в другом файл)
2. копирование пути выбранного файла в Edit.Text и реестр (файл надо сделать в эдит, дирректорию в реестр) 3. по нажатию кнопки поиск в выбранной дирректории файлов с выбранными форматоми и раскладка по папкам в соответствии с типом если точнее пытаюсь написать нечто вроде патчера, в котором надо выбрать при первом запуске дирректорию установки (возможно в дальнейшем изменение) и сохранить ее в реестр для дальнейшего использовани. дальше выбирается предположительно скачанная папка (в ней какие то файлы разных форматов) или (желательно конечно, если это не очень сложно) архив (zip\rar) так вот там проводится поиск каких то заданных типов файлов, и допустим нашли 1.txt и положили в дир. установки в папку "моя папка\txt files\" что то типа того и так с остальными типами файлов... помогите пжл с этими 3 пунктами ![]() п.с. еще просто практически не изучал работу с файлами в делфи =)
0
|
|
| 06.10.2012, 19:01 | |
|
Ответы с готовыми решениями:
40
Поиск, отслеживание и копирование всех файлов в каталоге Поиск и копирование файлов, перебирая все доступные диски Поиск и копирование файлов. Incompatible types: 'TSearchRec' and 'PAnsiChar' |
|
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
|||||||||||
| 08.10.2012, 00:12 | |||||||||||
|
Это надо будет в процедуру CopyFolder() добавить ещё один параметр - через него будет передаваться ссылка на экземпляр TIniFile. И в теле CopyFolder() будет происходить запись нужных файлов в INI файл.
Сейчас напишу, как это будет выглядеть... --- В общем, я вот таким образом пока прикрутил ini файл.
0
|
|||||||||||
|
2 / 2 / 1
Регистрация: 22.09.2012
Сообщений: 189
|
|
| 08.10.2012, 00:39 [ТС] | |
|
ух еле осилил... вопросы:
1. если я удалю 101 строку ничего ведь не будет? =) (не нужна такая... только имена с расширениями) 2. если в 99 строке Info.IniFile := TIniFile.Create(Path2 + 'data.ini'); заменю на Info.IniFile := TIniFile.Create('data.ini'); то уберется путь в ини файле перед именами так ведь? или как то по другому его убрать можно? (тоже не нужен...) 3. с 5 по 9 строки где это писать? в глобальные переменные? (до {$R *.dfm} или после?) у меня что там что там выдает ошибку: Unit 'FileCtrl' is specific to a platform. 4. и еще не нужно добавлять да везде... тоже как убрать? нужны чисто имена файлов с расширениями больше ничего
0
|
|
|
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
||||||||||||||||||||||||||
| 08.10.2012, 01:20 | ||||||||||||||||||||||||||
В 45 строке надо написать:
FileCtrl теперь надо убрать из USES. - Его средства уже не используются в программе.
И если сохранять только имя файла без относительного пути, тогда может возникнуть путаница - в случае, если, в разных папках есть файлы с одинаковым именем. --- С учётом поправок новый заголовок процедуры CopyFolder() можно сделать таким:
В aLog будет вестись запись имён файлов. Потом можно сделать сохранение через вызов aLog.SaveToFile().
0
|
||||||||||||||||||||||||||
|
2 / 2 / 1
Регистрация: 22.09.2012
Сообщений: 189
|
|||||
| 08.10.2012, 01:34 [ТС] | |||||
|
1.
2.
3.
4.
п.с. все спаааать...
0
|
|||||
|
angstrom
|
||||||||
| 08.10.2012, 02:02 | ||||||||
|
||||||||
|
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
|||||||||||
| 08.10.2012, 02:06 | |||||||||||
|
Следующая версия.
![]() 1. Если всё-таки требуется запись в ini файл относительных путей:
С записью в ini файл имён файлов без относительных путей. Напомню - в этом случае, если в разных папках есть файлы с одинаковыми именами, то сведения о них запишутся в ini файл в виде одинаковых строк.
0
|
|||||||||||
|
2 / 2 / 1
Регистрация: 22.09.2012
Сообщений: 189
|
|
| 08.10.2012, 09:15 [ТС] | |
|
создает пустой ini файл, при чем не в той папке где нужно (полагаю в папке path2, нужно чтобы в path2\path\ примерно так...), да и вообще то мне нужно не создавать файл, а дописывать строки в конец существующего...
Добавлено через 29 минут да, кстати, только что допер... ведь этот алгоритм копирует структуру папок и файлов, а где тогда вообще используются маски??? просто есть вероятность, что в исходной папке файлы будут лежать без папок вовсе, и тогда они должны быть разложены в соответствии с форматом, т.е. если в исходной папке 2 файла без папок 1.txt и 1.exe, то они должны быть разложены в целевой папке в папки txt и exe ... имена папок не обязательно форматы, но как то так в общем...
0
|
|
|
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
|||||||||
| 08.10.2012, 10:37 | |||||||||
![]() --- Код с поправками:
1
|
|||||||||
|
2 / 2 / 1
Регистрация: 22.09.2012
Сообщений: 189
|
||
| 08.10.2012, 22:49 [ТС] | ||
|
уже лучше
1. где можно вписать свой путь к ini файлу? относительно целевой папки, т.е. целевая папка\папка для ини файла\1.ini (папка с ини файлом уже существует в целевой папке) 2.
0
|
||
|
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
||||||
| 08.10.2012, 23:03 | ||||||
|
Следующая версия. Теперь файлы из корневой папки исходной структуры записываются в целевую структуру в папки с теми же именами, что и расширения этих файлов.
0
|
||||||
|
2 / 2 / 1
Регистрация: 22.09.2012
Сообщений: 189
|
||
| 09.10.2012, 00:01 [ТС] | ||
|
0
|
||
|
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
||||||
| 09.10.2012, 11:29 | ||||||
|
Ещё одна версия.
Наверное, наиболее близкая к требуемым условиям.
1
|
||||||
|
2 / 2 / 1
Регистрация: 22.09.2012
Сообщений: 189
|
|
| 09.10.2012, 12:39 [ТС] | |
|
TInfo = record;
Expected ':' but '=' found.
0
|
|
|
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
|
| 09.10.2012, 13:20 | |
|
Я этот код прямо в проект добавил.
И в проекте надо предусмотреть случай, когда в реестре нет сведений о целевом пути: if Dir1 = '' then ...
1
|
|
|
2 / 2 / 1
Регистрация: 22.09.2012
Сообщений: 189
|
||
| 09.10.2012, 14:12 [ТС] | ||
говорит (при нажатие на установить) что: Процесс не может получить доступ к файлу(plugins.ini), т.к. этот файл занят другим процессом. Посмотрел Unlocker-ом блокирует файл как раз сам project1.exe о_О
0
|
||
|
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
|
| 09.10.2012, 14:26 | |
|
Там в проекте прежняя переменная для обработки INI файла осталась. Сейчас подправил. Проверяй.
1
|
|
|
2 / 2 / 1
Регистрация: 22.09.2012
Сообщений: 189
|
||
| 09.10.2012, 14:48 [ТС] | ||
почти идеально, только еще чтобы на следующую строку добавляло как сделать? ну глянь просто в сам этот файл (plugins.ini) он добавляет в самый конец безо всяких пробелов и переносов
0
|
||
|
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
|||||||
| 09.10.2012, 15:12 | |||||||
0
|
|||||||
|
2 / 2 / 1
Регистрация: 22.09.2012
Сообщений: 189
|
||
| 09.10.2012, 15:21 [ТС] | ||
|
п.с. при этом действительно появляется еще в конце пустая строка, но autobinds.amxx на нее не переносится ![]() а вот сейчас еще раз попробовал (несколько раз установил) дописываются на новую строку autobinds.amxx все правильно, но когда 1 раз устанавливаю, на новую строку не переносится
0
|
||
|
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
|
| 09.10.2012, 15:25 | |
|
Исправленная версия. Теперь, если в INI файле в конце нет переноса строки, то такой перенос добавляется.
1
|
|
| 09.10.2012, 15:25 | |
|
Поиск и копирование файлов
Поиск и копирование файлов Авто поиск и копирование файлов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|