Главная страница
    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.008 c
4-31563
Петр
2003-05-11 11:19
2003.07.10
Сообщения на обработку нажатия клавиш


1-31291
Antonyan
2003-06-26 15:06
2003.07.10
Индустриальные VCL


3-31140
Silver_
2003-06-18 14:29
2003.07.10
ADODataSetDETAIL.Filter не катит. Приходится делать так ...


3-31137
Avreliy
2003-06-14 15:02
2003.07.10
Record already locked by this session


1-31199
Still Swamp
2003-06-28 12:19
2003.07.10
DLL и TObject





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