Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.07.10;
Скачать: [xml.tar.bz2];

Вниз

Поиск и удаление файла   Найти похожие ветки 

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
14-31486
oleg_art
2003-06-24 17:54
2003.07.10
Отправка сообщения в порт


1-31274
Den
2003-06-25 22:22
2003.07.10
ShowModal позволяющий смещать фокус?


4-31566
Forest
2003-05-11 15:47
2003.07.10
findwindow( tedit , edit1 ) не работает...


1-31327
denis24
2003-06-27 10:54
2003.07.10
MsWord := CreateOleObject( Word.Application );


1-31311
Igor_P
2003-06-26 19:21
2003.07.10
Округление до 10-и, 5-и





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский