Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.09;
Скачать: CL | DM;

Вниз

Сканирование папки   Найти похожие ветки 

 
Der Nechk@ssoff ©   (2006-03-23 12:14) [0]

Подскажите как при нажатии на кнопку прога сканировала папку в которой находится на наличие Nных типов файлов?


 
Dmitrij_K   (2006-03-23 12:20) [1]

FindFirst
FindNext
FindClose
+F1


 
Der Nechk@ssoff ©   (2006-03-23 12:22) [2]

непонял


 
Kolan ©   (2006-03-23 12:22) [3]

Проход дерева каталогов

Procedure ScanDir(Dir:string);
var SearchRec:TSearchRec;
begin
if Dir<>"" then if Dir[length(Dir)]<>"\" then Dir:=Dir+"\";  
if FindFirst(Dir+"*.*", faAnyFile, SearchRec)=0 then  
repeat  
if (SearchRec.name=".") or (SearchRec.name="..") then continue;  
if (SearchRec.Attr and faDirectory)<>0 then  
ScanDir(Dir+SearchRec.name) //we found Directory: "Dir+SearchRec.name"  
else  
Showmessage(Dir+SearchRec.name); //we found File: "Dir+SearchRec.name"  
until FindNext(SearchRec)<>0;  
FindClose(SearchRec);  
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ScanDir("c:");  
end;

Автор ответа Vit
Взято с Vingrad.ru http://forum.vingrad.ru


 
Der Nechk@ssoff ©   (2006-03-23 12:29) [4]

Переправил этот кусок кода под себя но при компиляции выходит ошибка:
";"expected but "END" found(место ошибки помечено-"?")

procedure TForm3.Button4Click(Sender: TObject);
Procedure ScanDir(Dir:string);
var SearchRec:TSearchRec;
begin
if Dir<>"" then if Dir[length(Dir)]<>"\" then Dir:=Dir+"\";
if FindFirst(Dir+"*.dll", faAnyFile, SearchRec)=0 then
repeat
if (SearchRec.name=".dll") or (SearchRec.name="..") then continue;
if (SearchRec.Attr and faDirectory)<>0 then
ScanDir(Dir+SearchRec.name)
else
Showmessage("&#207;&#235;&#224;&#227;&#232;&#237;&#238;&#226; &#237;&#229;&#242;");
until FindNext(SearchRec)<>0;
FindClose(SearchRec);  
end"?"
end;


 
balepa ©   (2006-03-23 12:32) [5]

if (SearchRec.Attr and faDirectory)<>0 then
ScanDir(Dir+SearchRec.name)
else
begin
Showmessage("&Iuml;&euml;&agrave;&atilde;&egrave;&iacute;&icirc;&acirc; &iacute;&aring;&ograve;");
until FindNext(SearchRec)<>0;
FindClose(SearchRec);  
end;


 
Der Nechk@ssoff ©   (2006-03-23 12:44) [6]


> balepa ©   (23.03.06 12:32) [5]


Вылазит еще больше ошибок


 
Плохиш ©   (2006-03-23 12:56) [7]


> Der Nechk@ssoff ©   (23.03.06 12:29) [4]
> Переправил этот кусок кода под себя но при компиляции выходит
> ошибка:
> ";"expected but "END" found(место ошибки помечено-"?")

begin-ы с end-ами подсчитай или мы за тебя это должны делать?


 
Kolan ©   (2006-03-23 13:24) [8]

Хороший тебе совет - форматируй исх. текст.

Пример:

Procedure ScanDir(Dir:string);
 var SearchRec:TSearchRec;
begin
 if Dir<>"" then
   if Dir[length(Dir)]<>"\" then
     Dir:=Dir+"\";  
 if FindFirst(Dir+"*.*", faAnyFile, SearchRec)=0 then  
   repeat  
     if (SearchRec.name=".") or (SearchRec.name="..") then continue;  
     if (SearchRec.Attr and faDirectory)<>0 then  
       ScanDir(Dir+SearchRec.name) //we found Directory: "Dir+SearchRec.name"  
     else  
   Showmessage(Dir+SearchRec.name); //we found File: "Dir+SearchRec.name"  
 until FindNext(SearchRec)<>0;  
 FindClose(SearchRec);  
end;


 
Der Nechk@ssoff ©   (2006-03-23 13:33) [9]

Перепробовал дофига вариантов-никак...


 
Der Nechk@ssoff ©   (2006-03-23 14:50) [10]

Ну помогите же...


 
Kolan ©   (2006-03-23 14:54) [11]

Вот из старого проекта:

function TFileListManager.LoadImagesFromWorkDir: Boolean;
var
 CurrentFile: TSearchRec;
begin
 FFileList.Clear;
 FImagePresence := ipNoImages;
 Result := False;
 if FindFirst(FWorkDir + "*.*", faAnyFile, CurrentFile)=0 then
 repeat
   if (CurrentFile.Name <> ".") and (CurrentFile.Name <> "..") then
   if IsFileExtensionKnown(ExtractFileExt(CurrentFile.Name)) then
   begin
     FImagePresence := ipIsImages;
     Result := True;
     FFileList.Add(ExtractFileName(CurrentFile.Name));
   end;
 until FindNext(CurrentFile)<>0;
 FindClose(CurrentFile);

 GetCurrentNewState;
 PostFileChangeMessageToAll;
end;


 
Игорь Шевченко ©   (2006-03-23 14:55) [12]

Der Nechk@ssoff ©   (23.03.06 14:50) [10]

Кнопка F1 находится в левом верхнем углу клавиатуры, справа от кнопки Esc.



Страницы: 1 вся ветка

Текущий архив: 2006.04.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
1-1141889194
sapsi
2006-03-09 10:26
2006.04.09
получить название ссылки в вебраузере


2-1143049354
Fenix
2006-03-22 20:42
2006.04.09
С чего начать


5-1128678870
MacCybex
2005-10-07 13:54
2006.04.09
TTabbedNotebook и табуляция!


15-1142449191
TStas
2006-03-15 21:59
2006.04.09
Как устроен клавиатурный шпион?


15-1142943046
Knight
2006-03-21 15:10
2006.04.09
Кто-нибудь со СКИФ3 знаком?





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