Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.04 c
1-31262
Chlavik
2003-06-29 21:53
2003.07.10
TListView изменеие размера стобца


14-31426
megadeth
2003-06-20 18:38
2003.07.10
Как windoze отлавливает время когда надо запустить screensaver ?


14-31438
wnew
2003-06-22 15:12
2003.07.10
Lewis - Кличко


14-31424
vidiv
2003-06-18 05:44
2003.07.10
http://www.ostrovok.net/


14-31427
sniknik
2003-06-18 18:54
2003.07.10
Попинаем Delphi 7 ногами?