![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Всем привет! Я новичек в дельфи вот вопрос:
Необходимо сделать программу которая находит определенный файл на диске и копирует в папку Код:
program Project1; uses SysUtils, Windows; var F: TSearchRec; Path: string; Attr: Integer; begin Path := 'c:\1.txt'; Attr := faAnyFile; FindFirst(Path, Attr, F); if F.Name <> '' then begin CopyFile('1.txt' ,'c:\blablabla\1.txt',true); end; |
#2
|
|||
|
|||
![]() Цитата:
В первом параметре нужно указать полный путь к файлу. Не понятно то куда нужно взять 1.txt. попробуй исправить CopyFile('c:\1.txt' ,'c:\blablabla\1.txt',true); И зачем ты указываешь строкой c:\1.txt если у тебя есть переменная Path CopyFile(PChar(Path) ,'c:\blablabla\1.txt',true); |
#3
|
|||
|
|||
![]() Спасибо, файл копируется, но появилась новая проблема: необходимо чтобы програма файл искала на всем диске ц, добавил Attr := faAnyFile + faDirectory;, все равно ищет в корне диска
|
#4
|
||||
|
||||
![]() конечно будет тока в корне искать, что бы искать везде, нужен рекурсивный поиск. Вот код:
Код:
procedure ScanDir(StartDir,Mask: string; List: TStrings); var SearchRec: TSearchRec; begin if Mask = '' then Mask := '*.*'; if StartDir[Length(StartDir)] <> '\' then StartDir := StartDir + '\'; if FindFirst(StartDir+Mask, faAnyFile, SearchRec) = 0 then begin repeat Application.ProcessMessages; if (SearchRec.Attr and faDirectory) <> faDirectory then List.Add(StartDir + SearchRec.Name) else if (SearchRec.Name <> '..') and (SearchRec.Name <> '.') then begin List.Add(StartDir + SearchRec.Name + '\'); ScanDir(StartDir + SearchRec.Name + '\',Mask,List); end; until FindNext(SearchRec) <> 0; FindClose(SearchRec); end; end; использовать так: Код:
var list: TStrings; begin list := TStrings.Create; ScanDir('c:\','123.txt',list); // в list будут строки с путями до файла 123.txt, если таковой будет найден list.Free; end; P.S.: а вообще тебе сюда: http://yandex.ru/yandsearch?clid=486...delphi&l r=36 Коли навчався в школі я - в мені росли мозгЫ. КудИж вони поділися? гы-гы гы-гы гы-гы... ICQ: 593977748 Nick: Marvel Последний раз редактировалось Marvel, 23.06.2010 в 14:05. |
#5
|
|||
|
|||
![]() Спасибо большое за помощь, сейчас попробую
|