Главная страница
    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.46 MB
Время: 0.008 c
1-31319
Separator
2003-06-26 11:05
2003.07.10
Проверка на правильное имя файла


1-31253
Relaxxx
2003-06-29 22:18
2003.07.10
Поиск в Мемо


3-31129
Skleroz
2003-06-18 08:44
2003.07.10
ПОМОГИТЕ! Опять эта


3-31095
SSAlex
2003-06-17 01:34
2003.07.10
Как создать связь между таблицами Paradox?


1-31295
Smirnoff
2003-06-26 15:22
2003.07.10
Найти и заменить





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский