Текущий архив: 2003.07.10;
Скачать: CL | DM;
Вниз
Поиск и удаление файла Найти похожие ветки
← →
Dopklip (2003-06-24 20:28) [0]Помогите решить задачку.Есть файл(имя.расширение),но по условию задачи неизвестно его местонахождение на диске.Нужно этот файл найти и потом удалить.Если файл в текущей папке(где сам *.exe),тогда это просто.Для удаления-функция DeleteFile("сам файл").Нужно указать полный путь к файлу,а это только через поиск.Возможно ли решение?,поделитесь опытом,если можно простеньким кодом....
← →
Романов Р.В. (2003-06-24 21:05) [1]Функции рекурсивного просмотра каталогов есть в FAQ
← →
Dopklip (2003-06-25 03:01) [2]Не счтите за лень, но поделитесь кодом.
Так будет яснее.
← →
Германн (2003-06-25 03:25) [3]Нуу очень трудно не счесть за лень. Уж извини. В FAQ"е есть код по FindFirst, FindNext, FindClose. Тебе гораздо проще найти его, чем кому бы то ни было, заново его писать.
← →
Rol (2003-06-25 06:19) [4]А для общего развития, неплохо бы и самому написать, благо, ничего мудрёного в этом нет.
← →
Song (2003-06-25 08:20) [5]http://pascal.sources.ru/cgi-bin/forum/YaBB.cgi?board=delphi;action=display;num=1037272197
← →
Dopklip (2003-06-27 02:26) [6]Спасибо всем за информацию,но....
Как найти по маске файл или каталог\поддирректорию это ладно,
1. procedure SearchInDir(Mask, Dir: string; Subdir: Boolean; var List: StringList)-SearchInDir("*.db","C:\" ,True , StringList);
;
2. procedure FindFiles(StartFolder, Mask: String; List: TStrings;
ScanSubFolders: Boolean = True);-FindFiles("C:\Program Files\", "*.exe", memo1.Lines, true);
3.Procedure FindAll(Path:String; Memo:TMemo); -FindAll("C:\Utils\*.*",Memo1);
4.Procedure ScanDir(StartDir: String; Mask:string; List:TStrings); -ScanDir("c:","",ListBox1.Items);
А ведь условие задачи - файл есть(конкретный на винте,и разбит винт на С:\,D:\,E:\ и т.д.)и неизвестно в каком разделе?, найти его то все же нужно,перебирая разделы диска если изначально не найден на С:,как примерно в FileSearch(name,dirList:string):string;где dirList-опять конкретная дирректория!
Как тогда корректно осуществить переход между разделами "ВИНТА",
Вот это у меня никак невыходит!Помогите с решением практическим примером.
← →
Anatoly Podgoretsky (2003-06-27 07:45) [7]Огласите весь список и по аккуратнее, не задним числом и не предъявлять после претензия.
For I := "С" to "Z" do
← →
Morfein (2003-06-27 10:06) [8]
uses
imagehlp;
function FindFileEx(Mask : string) : string;
var
R : boolean;
d, I : dword;
buf : array[0..255] of char;
begin
Result:="";
d:=GetLogicalDrives();
for I:=2 to 25 do
if (d and (1 shl I)) > 0 then
begin
R:=SearchTreeForFile(pchar(char(I+65)+":\"), pchar(Mask), @buf);
if R then
break;
end;
if R then
Result:=StrPas(@buf);
end;
← →
Dopklip2 (2003-06-27 12:30) [9]Всем спасибо.......
Страницы: 1 вся ветка
Текущий архив: 2003.07.10;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.008 c